Changeset 16215
- Timestamp:
- 09/20/13 14:46:00 (12 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/masstransport_core.cpp
r15877 r16215 14 14 /*parameters: */ 15 15 bool save_results; 16 bool issmbgradients,ispdd,isdelta18o,isFS,isfreesurface ;16 bool issmbgradients,ispdd,isdelta18o,isFS,isfreesurface,dakota_analysis; 17 17 int solution_type; 18 18 int *requested_outputs = NULL; … … 29 29 femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum); 30 30 femmodel->parameters->FindParam(&isfreesurface,MasstransportIsfreesurfaceEnum); 31 femmodel->parameters->FindParam(&dakota_analysis,QmuIsdakotaEnum); 31 32 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 32 33 femmodel->parameters->FindParam(&numoutputs,MasstransportNumRequestedOutputsEnum); 33 34 if(numoutputs) femmodel->parameters->FindParam(&requested_outputs,&numoutputs,MasstransportRequestedOutputsEnum); 35 36 /*for qmu analysis, reinitialize velocity so that fake sensitivities do not show up as a result of a different restart of the convergence at each trial.*/ 37 if(dakota_analysis && solution_type==MasstransportSolutionEnum){ 38 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuSurfaceEnum,SurfaceEnum); 39 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuThicknessEnum,ThicknessEnum); 40 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuBedEnum,BedEnum); 41 } 34 42 35 43 if(issmbgradients){ -
issm/trunk-jpl/src/c/analyses/thermal_core.cpp
r15853 r16215 23 23 24 24 if(dakota_analysis && solution_type!=TransientSolutionEnum){ 25 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxMeshEnum,VxMeshEnum); 26 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyMeshEnum,VyMeshEnum); 27 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzMeshEnum,VzMeshEnum); 28 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuTemperatureEnum,TemperatureEnum); 29 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuMeltingEnum,BasalforcingsMeltingRateEnum); 30 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuMaterialsRheologyBEnum,MaterialsRheologyBEnum); 25 31 femmodel->SetCurrentConfiguration(ThermalAnalysisEnum); 26 32 ResetConstraintsx(femmodel); -
issm/trunk-jpl/src/c/analyses/transient_core.cpp
r16026 r16215 59 59 /*for qmu analysis, reinitialize velocity so that fake sensitivities do not show up as a result of a different restart of the convergence at each trial.*/ 60 60 if(dakota_analysis){ 61 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxEnum,VxEnum); 62 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyEnum,VyEnum); 63 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzEnum,VzEnum); 64 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum); 65 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuThicknessEnum,ThicknessEnum); 66 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuSurfaceEnum,SurfaceEnum); 67 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuBedEnum,BedEnum); 61 if(isstressbalance){ 62 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVxEnum,VxEnum); 63 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVyEnum,VyEnum); 64 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuVzEnum,VzEnum); 65 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuPressureEnum,PressureEnum); 66 } 67 if(ismasstransport | isgroundingline){ 68 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuThicknessEnum,ThicknessEnum); 69 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuSurfaceEnum,SurfaceEnum); 70 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuBedEnum,BedEnum); 71 InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuMaskIceLevelsetEnum,MaskIceLevelsetEnum); 72 } 73 if(isgroundingline) InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuMaskGroundediceLevelsetEnum,MaskGroundediceLevelsetEnum); 68 74 if(dim==2)InputDuplicatex(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters,QmuMaterialsRheologyBEnum,MaterialsRheologyBbarEnum); 69 75 if(isthermal && dim==3){ -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r16211 r16215 2755 2755 name==QmuTemperatureEnum || 2756 2756 name==QmuMeltingEnum || 2757 name==QmuMaskGroundediceLevelsetEnum || 2758 name==QmuMaskIceLevelsetEnum || 2757 2759 name==GiaWEnum || 2758 2760 name==GiadWdtEnum || -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r16214 r16215 1982 1982 name==QmuTemperatureEnum || 1983 1983 name==QmuMeltingEnum || 1984 name==QmuMaskGroundediceLevelsetEnum || 1985 name==QmuMaskIceLevelsetEnum || 1984 1986 name==GiaWEnum || 1985 1987 name==GiadWdtEnum … … 2500 2502 for(i=0;i<3;i++)nodeinputs[i]=0; 2501 2503 this->inputs->AddInput(new TriaInput(VxEnum,nodeinputs,P1Enum)); 2502 if(dakota_analysis) 2504 if(dakota_analysis)this->inputs->AddInput(new TriaInput(QmuVxEnum,nodeinputs,P1Enum)); 2503 2505 } 2504 2506 if(!iomodel->Data(VyEnum)){ 2505 2507 for(i=0;i<3;i++)nodeinputs[i]=0; 2506 2508 this->inputs->AddInput(new TriaInput(VyEnum,nodeinputs,P1Enum)); 2507 if(dakota_analysis) 2509 if(dakota_analysis)this->inputs->AddInput(new TriaInput(QmuVyEnum,nodeinputs,P1Enum)); 2508 2510 } 2509 2511 if(!iomodel->Data(VzEnum)){ 2510 2512 for(i=0;i<3;i++)nodeinputs[i]=0; 2511 2513 this->inputs->AddInput(new TriaInput(VzEnum,nodeinputs,P1Enum)); 2512 if(dakota_analysis) 2514 if(dakota_analysis)this->inputs->AddInput(new TriaInput(QmuVzEnum,nodeinputs,P1Enum)); 2513 2515 } 2514 2516 if(!iomodel->Data(PressureEnum)){ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp
r16211 r16215 16 16 bool ispdd; 17 17 bool isdelta18o; 18 bool isgroundingline; 18 19 19 20 /*Fetch data needed: */ … … 23 24 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 24 25 iomodel->Constant(&issmbgradients,SurfaceforcingsIssmbgradientsEnum); 26 iomodel->Constant(&isgroundingline,TransientIsgroundinglineEnum); 25 27 26 28 /*Finite element type*/ … … 58 60 elements->InputDuplicate(ThicknessEnum,QmuThicknessEnum); 59 61 elements->InputDuplicate(SurfaceEnum,QmuSurfaceEnum); 60 elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum); 61 elements->InputDuplicate(VxEnum,QmuVxEnum); 62 elements->InputDuplicate(VyEnum,QmuVyEnum); 62 elements->InputDuplicate(MaskIceLevelsetEnum,QmuMaskIceLevelsetEnum); 63 if(isgroundingline) elements->InputDuplicate(MaskGroundediceLevelsetEnum,QmuMaskGroundediceLevelsetEnum); 63 64 } 64 65 … … 66 67 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 67 68 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); 68 iomodel->FetchDataToInput(elements,PressureEnum);69 69 iomodel->FetchDataToInput(elements,TemperatureEnum); 70 70 iomodel->FetchDataToInput(elements,VzEnum); 71 if(dakota_analysis){72 elements->InputDuplicate(PressureEnum,QmuPressureEnum);73 elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum);74 elements->InputDuplicate(VzEnum,QmuVzEnum);75 }76 71 } 77 72 if(issmbgradients){ 78 79 80 81 73 iomodel->FetchDataToInput(elements,SurfaceforcingsHrefEnum); 74 iomodel->FetchDataToInput(elements,SurfaceforcingsSmbrefEnum); 75 iomodel->FetchDataToInput(elements,SurfaceforcingsBPosEnum); 76 iomodel->FetchDataToInput(elements,SurfaceforcingsBNegEnum); 82 77 } 83 78 if(ispdd){ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp
r16210 r16215 101 101 iomodel->FetchDataToInput(elements,LoadingforceYEnum); 102 102 iomodel->FetchDataToInput(elements,DamageDEnum); 103 iomodel->FetchDataToInput(elements,PressureEnum); 104 if(dakota_analysis)elements->InputDuplicate(PressureEnum,QmuPressureEnum); 103 105 104 106 if(iomodel->dim==3){ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
r15986 r16215 48 48 if(dakota_analysis){ 49 49 elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum); 50 elements->InputDuplicate(PressureEnum,QmuPressureEnum);51 50 elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum); 52 51 } -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r16188 r16215 143 143 InversionVzObsEnum, 144 144 MaskIceLevelsetEnum, 145 QmuMaskIceLevelsetEnum, 145 146 MaterialsBetaEnum, 146 147 MaterialsHeatcapacityEnum, … … 577 578 SubelementMigration2Enum, 578 579 MaskGroundediceLevelsetEnum, 580 QmuMaskGroundediceLevelsetEnum, 579 581 /*}}}*/ 580 582 /*Solver{{{*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r16188 r16215 151 151 case InversionVzObsEnum : return "InversionVzObs"; 152 152 case MaskIceLevelsetEnum : return "MaskIceLevelset"; 153 case QmuMaskIceLevelsetEnum : return "QmuMaskIceLevelset"; 153 154 case MaterialsBetaEnum : return "MaterialsBeta"; 154 155 case MaterialsHeatcapacityEnum : return "MaterialsHeatcapacity"; … … 561 562 case SubelementMigration2Enum : return "SubelementMigration2"; 562 563 case MaskGroundediceLevelsetEnum : return "MaskGroundediceLevelset"; 564 case QmuMaskGroundediceLevelsetEnum : return "QmuMaskGroundediceLevelset"; 563 565 case FSSolverEnum : return "FSSolver"; 564 566 case AdjointEnum : return "Adjoint"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r16188 r16215 154 154 else if (strcmp(name,"InversionVzObs")==0) return InversionVzObsEnum; 155 155 else if (strcmp(name,"MaskIceLevelset")==0) return MaskIceLevelsetEnum; 156 else if (strcmp(name,"QmuMaskIceLevelset")==0) return QmuMaskIceLevelsetEnum; 156 157 else if (strcmp(name,"MaterialsBeta")==0) return MaterialsBetaEnum; 157 158 else if (strcmp(name,"MaterialsHeatcapacity")==0) return MaterialsHeatcapacityEnum; … … 259 260 else if (strcmp(name,"SurfaceforcingsMonthlytemperatures")==0) return SurfaceforcingsMonthlytemperaturesEnum; 260 261 else if (strcmp(name,"SurfaceforcingsHref")==0) return SurfaceforcingsHrefEnum; 261 else if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum; 265 if (strcmp(name,"SurfaceforcingsSmbref")==0) return SurfaceforcingsSmbrefEnum; 266 else if (strcmp(name,"SurfaceforcingsBPos")==0) return SurfaceforcingsBPosEnum; 266 267 else if (strcmp(name,"SurfaceforcingsBNeg")==0) return SurfaceforcingsBNegEnum; 267 268 else if (strcmp(name,"ThermalIsenthalpy")==0) return ThermalIsenthalpyEnum; … … 382 383 else if (strcmp(name,"IntInput")==0) return IntInputEnum; 383 384 else if (strcmp(name,"IntParam")==0) return IntParamEnum; 384 else if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"TransientParam")==0) return TransientParamEnum; 388 if (strcmp(name,"IntVecParam")==0) return IntVecParamEnum; 389 else if (strcmp(name,"TransientParam")==0) return TransientParamEnum; 389 390 else if (strcmp(name,"IceFrontType")==0) return IceFrontTypeEnum; 390 391 else if (strcmp(name,"SSA2dIceFront")==0) return SSA2dIceFrontEnum; … … 505 506 else if (strcmp(name,"Watercolumn")==0) return WatercolumnEnum; 506 507 else if (strcmp(name,"BasalFriction")==0) return BasalFrictionEnum; 507 else if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"QmuTemperature")==0) return QmuTemperatureEnum; 511 if (strcmp(name,"ViscousHeating")==0) return ViscousHeatingEnum; 512 else if (strcmp(name,"QmuTemperature")==0) return QmuTemperatureEnum; 512 513 else if (strcmp(name,"HydrologyWaterVx")==0) return HydrologyWaterVxEnum; 513 514 else if (strcmp(name,"HydrologyWaterVy")==0) return HydrologyWaterVyEnum; … … 573 574 else if (strcmp(name,"SubelementMigration2")==0) return SubelementMigration2Enum; 574 575 else if (strcmp(name,"MaskGroundediceLevelset")==0) return MaskGroundediceLevelsetEnum; 576 else if (strcmp(name,"QmuMaskGroundediceLevelset")==0) return QmuMaskGroundediceLevelsetEnum; 575 577 else if (strcmp(name,"FSSolver")==0) return FSSolverEnum; 576 578 else if (strcmp(name,"Adjoint")==0) return AdjointEnum;
Note:
See TracChangeset
for help on using the changeset viewer.