source:
issm/oecreview/Archive/16133-16554/ISSM-16214-16215.diff@
16556
Last change on this file since 16556 was 16556, checked in by , 11 years ago | |
---|---|
File size: 18.5 KB |
-
../trunk-jpl/src/c/analyses/thermal_core.cpp
22 22 femmodel->parameters->FindParam(&solution_type,SolutionTypeEnum); 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); 27 33 } -
../trunk-jpl/src/c/analyses/transient_core.cpp
58 58 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){ 70 76 //Update Vertex Position after updating Thickness and Bed -
../trunk-jpl/src/c/analyses/masstransport_core.cpp
13 13 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; 19 19 int numoutputs = 0; … … 28 28 femmodel->parameters->FindParam(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 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); 34 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 } 42 35 43 if(issmbgradients){ 36 44 if(VerboseSolution())_printf_(" call smb gradients module\n\n"); 37 45 SmbGradientsx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters); -
../trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
142 142 InversionVyObsEnum, 143 143 InversionVzObsEnum, 144 144 MaskIceLevelsetEnum, 145 QmuMaskIceLevelsetEnum, 145 146 MaterialsBetaEnum, 146 147 MaterialsHeatcapacityEnum, 147 148 MaterialsLatentheatEnum, … … 576 577 SubelementMigrationEnum, 577 578 SubelementMigration2Enum, 578 579 MaskGroundediceLevelsetEnum, 580 QmuMaskGroundediceLevelsetEnum, 579 581 /*}}}*/ 580 582 /*Solver{{{*/ 581 583 FSSolverEnum, -
../trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
150 150 case InversionVyObsEnum : return "InversionVyObs"; 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"; 155 156 case MaterialsLatentheatEnum : return "MaterialsLatentheat"; … … 560 561 case SubelementMigrationEnum : return "SubelementMigration"; 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"; 565 567 case ColinearEnum : return "Colinear"; -
../trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
153 153 else if (strcmp(name,"InversionVyObs")==0) return InversionVyObsEnum; 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; 158 159 else if (strcmp(name,"MaterialsLatentheat")==0) return MaterialsLatentheatEnum; … … 258 259 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 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; 268 269 else if (strcmp(name,"ThermalIsdynamicbasalspc")==0) return ThermalIsdynamicbasalspcEnum; … … 381 382 else if (strcmp(name,"Input")==0) return InputEnum; 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; 391 392 else if (strcmp(name,"SSA3dIceFront")==0) return SSA3dIceFrontEnum; … … 504 505 else if (strcmp(name,"Waterfraction")==0) return WaterfractionEnum; 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; 514 515 else if (strcmp(name,"StressTensor")==0) return StressTensorEnum; … … 572 573 else if (strcmp(name,"SubelementMigration")==0) return SubelementMigrationEnum; 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; 577 579 else if (strcmp(name,"Colinear")==0) return ColinearEnum; -
../trunk-jpl/src/c/modules/ModelProcessorx/Masstransport/UpdateElementsMasstransport.cpp
15 15 bool issmbgradients; 16 16 bool ispdd; 17 17 bool isdelta18o; 18 bool isgroundingline; 18 19 19 20 /*Fetch data needed: */ 20 21 iomodel->Constant(&stabilization,MasstransportStabilizationEnum); … … 22 23 iomodel->Constant(&ispdd,SurfaceforcingsIspddEnum); 23 24 iomodel->Constant(&isdelta18o,SurfaceforcingsIsdelta18oEnum); 24 25 iomodel->Constant(&issmbgradients,SurfaceforcingsIssmbgradientsEnum); 26 iomodel->Constant(&isgroundingline,TransientIsgroundinglineEnum); 25 27 26 28 /*Finite element type*/ 27 29 finiteelement = P1Enum; … … 57 59 elements->InputDuplicate(BedEnum,QmuBedEnum); 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 65 66 if(iomodel->dim==3){ 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){ 84 79 iomodel->FetchDataToInput(elements,ThermalSpctemperatureEnum); -
../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp
100 100 iomodel->FetchDataToInput(elements,LoadingforceXEnum); 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){ 105 107 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); -
../trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp
47 47 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); 48 48 if(dakota_analysis){ 49 49 elements->InputDuplicate(TemperatureEnum,QmuTemperatureEnum); 50 elements->InputDuplicate(PressureEnum,QmuPressureEnum);51 50 elements->InputDuplicate(BasalforcingsMeltingRateEnum,QmuMeltingEnum); 52 51 } 53 52 } -
../trunk-jpl/src/c/classes/Elements/Tria.cpp
1981 1981 name==QmuSurfaceEnum || 1982 1982 name==QmuTemperatureEnum || 1983 1983 name==QmuMeltingEnum || 1984 name==QmuMaskGroundediceLevelsetEnum || 1985 name==QmuMaskIceLevelsetEnum || 1984 1986 name==GiaWEnum || 1985 1987 name==GiadWdtEnum 1986 1988 ){ … … 2499 2501 if(!iomodel->Data(VxEnum)){ 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)){ 2515 2517 for(i=0;i<3;i++)nodeinputs[i]=0; -
../trunk-jpl/src/c/classes/Elements/Penta.cpp
2754 2754 name==QmuSurfaceEnum || 2755 2755 name==QmuTemperatureEnum || 2756 2756 name==QmuMeltingEnum || 2757 name==QmuMaskGroundediceLevelsetEnum || 2758 name==QmuMaskIceLevelsetEnum || 2757 2759 name==GiaWEnum || 2758 2760 name==GiadWdtEnum || 2759 2761 name==SedimentHeadEnum ||
Note:
See TracBrowser
for help on using the repository browser.