Changeset 27298
- Timestamp:
- 10/10/22 03:18:19 (2 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 3 added
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/Makefile.am
r27202 r27298 284 284 ./cores/smb_core.cpp \ 285 285 ./cores/bmb_core.cpp \ 286 ./cores/debris_core.cpp \ 286 287 ./solutionsequences/solutionsequence_thermal_nonlinear.cpp \ 287 288 ./modules/ControlInputSetGradientx/ControlInputSetGradientx.cpp \ … … 443 444 issm_sources += ./modules/Damagex/Damagex.cpp 444 445 endif 446 if DEBRIS 447 issm_sources += ./analyses/DebrisAnalysis.cpp 448 endif 445 449 if STRESSBALANCE 446 450 issm_sources += ./analyses/StressbalanceAnalysis.cpp -
issm/trunk-jpl/src/c/analyses/analyses.h
r27154 r27298 17 17 #include "./BalancevelocityAnalysis.h" 18 18 #include "./DamageEvolutionAnalysis.h" 19 #include "./DebrisAnalysis.h" 19 20 #include "./DepthAverageAnalysis.h" 20 21 #include "./EnthalpyAnalysis.h" -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r27102 r27298 851 851 case TransientSolutionEnum:{ 852 852 /*We have multiple analyses here, process one by one*/ 853 bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isoceantransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslc,isesa,is sampling;853 bool isSIA,isFS,isthermal,isenthalpy,ismasstransport,isoceantransport,isgroundingline,isstressbalance,ismovingfront,ishydrology,isdamage,issmb,isslc,isesa,isdebris,issampling; 854 854 iomodel->FindConstant(&isthermal,"md.transient.isthermal"); 855 855 iomodel->FindConstant(&ismovingfront,"md.transient.ismovingfront"); … … 863 863 iomodel->FindConstant(&isslc,"md.transient.isslc"); 864 864 iomodel->FindConstant(&isesa,"md.transient.isesa"); 865 iomodel->FindConstant(&isdebris,"md.transient.isdebris"); 865 866 iomodel->FindConstant(&issampling,"md.transient.issampling"); 866 867 int* analyses_iter = NULL; … … 910 911 analyses_temp[numanalyses++]=EsaAnalysisEnum; 911 912 } 913 if(isdebris){ 914 analyses_temp[numanalyses++]=DebrisAnalysisEnum; 915 } 912 916 if(issampling){ 913 917 analyses_temp[numanalyses++]=SamplingAnalysisEnum; … … 993 997 if(profiler->Used(GROUNDINGLINECORE)) _printf0_(" "<<setw(40)<<left<<"Groundingline migration core elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(GROUNDINGLINECORE) << " sec\n"); 994 998 if(profiler->Used(ESACORE)) _printf0_(" "<<setw(40)<<left<<"ESA core elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(ESACORE) << " sec\n"); 999 if(profiler->Used(DEBRISCORE)) _printf0_(" "<<setw(40)<<left<<"DEBRIS core elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(SLRCORE) << " sec\n"); 995 1000 if(profiler->Used(SLRCORE)) _printf0_(" "<<setw(40)<<left<<"SLR core elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(SLRCORE) << " sec\n"); 996 1001 if(profiler->Used(MPISERIAL)) _printf0_(" "<<setw(40)<<left<<"MPISERIAL elapsed time:"<<setw(7)<<setprecision(6)<<profiler->TotalTime(MPISERIAL) << " sec\n"); -
issm/trunk-jpl/src/c/classes/Node.cpp
r27102 r27298 159 159 } 160 160 if( 161 analysis_enum==FreeSurfaceTopAnalysisEnum 161 analysis_enum==FreeSurfaceTopAnalysisEnum || 162 analysis_enum==DebrisAnalysisEnum 162 163 ){ 163 164 if(iomodel->domaintype!=Domain2DhorizontalEnum){ -
issm/trunk-jpl/src/c/classes/Profiler.h
r26469 r27298 27 27 #define ESACORE 14 /*Profiling ESA */ 28 28 #define SLRCORE 15 /*Profiling SLR */ 29 #define SAMPLINGCORE 16 /*Profiling SAMPLING */ 30 #define MPISERIAL 17 /*Profiling MPISerial */ 31 #define SEDLOOP 18 /*Profiling MPISerial */ 32 #define SEDMatrix 19 /*Profiling MPISerial */ 33 #define SEDUpdate 20 /*Profiling MPISerial */ 34 #define EPLLOOP 21 /*Profiling MPISerial */ 35 #define EPLMasking 22 /*Profiling MPISerial */ 36 #define EPLMatrices 23 /*Profiling MPISerial */ 37 #define EPLUpdate 24 /*Profiling MPISerial */ 38 #define MAXPROFSIZE 25 /*Used to initialize static arrays*/ 29 #define DEBRISCORE 16 /*Profiling DEBRIS */ 30 #define SAMPLINGCORE 17 /*Profiling SAMPLING */ 31 #define MPISERIAL 18 /*Profiling MPISerial */ 32 #define SEDLOOP 19 /*Profiling MPISerial */ 33 #define SEDMatrix 20 /*Profiling MPISerial */ 34 #define SEDUpdate 21 /*Profiling MPISerial */ 35 #define EPLLOOP 22 /*Profiling MPISerial */ 36 #define EPLMasking 23 /*Profiling MPISerial */ 37 #define EPLMatrices 24 /*Profiling MPISerial */ 38 #define EPLUpdate 25 /*Profiling MPISerial */ 39 #define MAXPROFSIZE 26 /*Used to initialize static arrays*/ 39 40 40 41 class Profiler: public Object{ -
issm/trunk-jpl/src/c/cores/cores.h
r26222 r27298 57 57 void damage_core(FemModel* femmodel); 58 58 void sampling_core(FemModel* femmodel); 59 void debris_core(FemModel* femmodel); 59 60 60 61 /*sealevel change cores:*/ -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r27154 r27298 78 78 if(VerboseSolution()){ 79 79 _printf0_("iteration " << step << "/" << ceil((finaltime-time)/dt)+step << \ 80 80 " time [yr]: " <<std::fixed<<setprecision(2)<< time/yts << " (time step: " << dt/yts << ")\n"); 81 81 } 82 82 bool save_results=false; … … 101 101 if(amr_frequency){ 102 102 103 103 #if !defined(_HAVE_AD_) 104 104 if(save_results) femmodel->WriteMeshInResults(); 105 105 if(step%amr_frequency==0 && time<finaltime){ … … 108 108 } 109 109 110 110 #else 111 111 _error_("AMR not suppored with AD"); 112 112 #endif 113 113 } 114 114 … … 132 132 bool isstressbalance,ismasstransport,isage,isoceantransport,issmb,isthermal,isgroundingline,isesa,issampling; 133 133 bool isslc,ismovingfront,isdamageevolution,ishydrology,isoceancoupling,isstochasticforcing,save_results; 134 bool isdebris; 134 135 int step,sb_coupling_frequency; 135 136 int domaintype,numoutputs; … … 153 154 femmodel->parameters->FindParam(&isdamageevolution,TransientIsdamageevolutionEnum); 154 155 femmodel->parameters->FindParam(&ishydrology,TransientIshydrologyEnum); 156 femmodel->parameters->FindParam(&isdebris,TransientIsdebrisEnum); 155 157 femmodel->parameters->FindParam(&issampling,TransientIssamplingEnum); 156 158 femmodel->parameters->FindParam(&numoutputs,TransientNumRequestedOutputsEnum); 157 159 femmodel->parameters->FindParam(&isstochasticforcing,StochasticForcingIsStochasticForcingEnum); 158 160 159 161 #if defined(_HAVE_OCEAN_ ) 160 162 if(isoceancoupling) OceanExchangeDatax(femmodel,false); 161 163 #endif 162 164 163 165 if(isstochasticforcing){ … … 208 210 } 209 211 212 if(isdebris){ 213 debris_core(femmodel); 214 } 215 210 216 /* from here on, prepare geometry for next time step*/ 211 217 … … 229 235 /*Sea level change: */ 230 236 if(isslc){ 231 237 #ifdef _HAVE_SEALEVELCHANGE_ 232 238 sealevelchange_core(femmodel); 233 239 #else 234 240 _error_("Compiled with SeaLevelChange capability"); 235 241 #endif 236 242 } 237 243 … … 263 269 femmodel->parameters->FindParam(&isslc,TransientIsslcEnum); 264 270 265 271 #if defined(_HAVE_BAMG_) && !defined(_HAVE_AD_) 266 272 if(amr_frequency){ 267 273 femmodel->parameters->FindParam(&amr_restart,AmrRestartEnum); 268 274 if(amr_restart) femmodel->ReMesh(); 269 275 } 270 271 272 276 #endif 277 278 #if defined(_HAVE_OCEAN_ ) 273 279 if(isoceancoupling) OceanExchangeDatax(femmodel,true); 274 275 276 280 #endif 281 282 #if defined(_HAVE_SEALEVELCHANGE_) 277 283 if(isslc) sealevelchange_initialgeometry(femmodel); 278 284 #endif 279 285 }/*}}}*/ 280 286 … … 335 341 if(VerboseSolution()){ 336 342 _printf0_("iteration " << step << "/" << ceil((finaltime-time)/dt)+step << \ 337 343 " time [yr]: " <<std::fixed<<setprecision(2)<< time/yts << " (time step: " << dt/yts << ")\n"); 338 344 } 339 345 … … 383 389 384 390 /*Start tracing*/ 385 391 #if _CODIPACK_MAJOR_==2 386 392 auto& tape_codi = IssmDouble::getTape(); 387 393 #elif _CODIPACK_MAJOR_==1 388 394 auto& tape_codi = IssmDouble::getGlobalTape(); 389 390 391 395 #else 396 #error "_CODIPACK_MAJOR_ not supported" 397 #endif 392 398 tape_codi.setActive(); 393 399 … … 410 416 411 417 tape_codi.registerOutput(J); 412 418 #if _CODIPACK_MAJOR_==2 413 419 codi_global.output_indices.push_back(J.getIdentifier()); 414 420 #elif _CODIPACK_MAJOR_==1 415 421 codi_global.output_indices.push_back(J.getGradientData()); 416 417 418 422 #else 423 #error "_CODIPACK_MAJOR_ not supported" 424 #endif 419 425 420 426 /*Keep track of output for printing*/ 421 427 Jlist[count] = output_value.getValue(); 422 428 count++; 423 429 } 424 430 Jlist[count] = J.getValue(); … … 473 479 if(VerboseSolution()){ 474 480 _printf0_("step "<<thisstep<<" ("<<ii+1<<"/"<<checkpoint_frequency<<") time [yr]: "\ 475 481 <<std::fixed<<std::setprecision(2)<<thistime/yts<< " (time step: " << thisdt/yts << ")\n"); 476 482 } 477 483 … … 524 530 xDelete<double>(Yb); 525 531 xDelete<int>(Yin); 526 532 return J.getValue(); 527 533 }/*}}}*/ 528 534 #endif -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r25627 r27298 618 618 xDelete<int>(vertex_pairing); 619 619 } 620 if(!isamr && (analysis==MasstransportAnalysisEnum || analysis==FreeSurfaceBaseAnalysisEnum || analysis==FreeSurfaceTopAnalysisEnum )){620 if(!isamr && (analysis==MasstransportAnalysisEnum || analysis==FreeSurfaceBaseAnalysisEnum || analysis==FreeSurfaceTopAnalysisEnum || analysis==DebrisAnalysisEnum)){ 621 621 int *vertex_pairing = NULL; 622 622 int numvertex_pairing; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r27297 r27298 90 90 parameters->AddObject(iomodel->CopyConstantObject("md.transient.isoceancoupling",TransientIsoceancouplingEnum)); 91 91 parameters->AddObject(iomodel->CopyConstantObject("md.transient.amr_frequency",TransientAmrFrequencyEnum)); 92 parameters->AddObject(iomodel->CopyConstantObject("md.transient.isdebris",TransientIsdebrisEnum)); 92 93 parameters->AddObject(iomodel->CopyConstantObject("md.transient.issampling",TransientIssamplingEnum)); 93 94 parameters->AddObject(iomodel->CopyConstantObject("md.stochasticforcing.isstochasticforcing",StochasticForcingIsStochasticForcingEnum)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r27297 r27298 156 156 DamageStressThresholdEnum, 157 157 DamageStressUBoundEnum, 158 DebrisMinThicknessEnum, 159 DebrisNumRequestedOutputsEnum, 160 DebrisPenaltyFactorEnum, 161 DebrisRequestedOutputsEnum, 162 DebrisStabilizationEnum, 163 DebrisRemovalmodelEnum, 164 DebrisDisplacementmodelEnum, 165 DebrisRemovalSlopeThresholdEnum, 166 DebrisRemovalStressThresholdEnum, 167 DebrisPackingFractionEnum, 158 168 DebugProfilingEnum, 159 169 DebrisThicknessEnum, … … 593 603 TransientIsageEnum, 594 604 TransientIsdamageevolutionEnum, 605 TransientIsdebrisEnum, 595 606 TransientIsesaEnum, 596 607 TransientIsgiaEnum, … … 1121 1132 VxAverageEnum, 1122 1133 VxBaseEnum, 1134 VxDebrisEnum, 1123 1135 VxEnum, 1124 1136 VxMeshEnum, … … 1128 1140 VyAverageEnum, 1129 1141 VyBaseEnum, 1142 VyDebrisEnum, 1130 1143 VyEnum, 1131 1144 VyMeshEnum, … … 1318 1331 DataSetParamEnum, 1319 1332 DatasetInputEnum, 1333 DebrisAnalysisEnum, 1334 DebrisSolutionEnum, 1320 1335 DefaultAnalysisEnum, 1321 1336 DefaultCalvingEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r27297 r27298 164 164 case DamageStressThresholdEnum : return "DamageStressThreshold"; 165 165 case DamageStressUBoundEnum : return "DamageStressUBound"; 166 case DebrisMinThicknessEnum : return "DebrisMinThickness"; 167 case DebrisNumRequestedOutputsEnum : return "DebrisNumRequestedOutputs"; 168 case DebrisPenaltyFactorEnum : return "DebrisPenaltyFactor"; 169 case DebrisRequestedOutputsEnum : return "DebrisRequestedOutputs"; 170 case DebrisStabilizationEnum : return "DebrisStabilization"; 171 case DebrisRemovalmodelEnum : return "DebrisRemovalmodel"; 172 case DebrisDisplacementmodelEnum : return "DebrisDisplacementmodel"; 173 case DebrisRemovalSlopeThresholdEnum : return "DebrisRemovalSlopeThreshold"; 174 case DebrisRemovalStressThresholdEnum : return "DebrisRemovalStressThreshold"; 175 case DebrisPackingFractionEnum : return "DebrisPackingFraction"; 166 176 case DebugProfilingEnum : return "DebugProfiling"; 167 177 case DebrisThicknessEnum : return "DebrisThickness"; … … 601 611 case TransientIsageEnum : return "TransientIsage"; 602 612 case TransientIsdamageevolutionEnum : return "TransientIsdamageevolution"; 613 case TransientIsdebrisEnum : return "TransientIsdebris"; 603 614 case TransientIsesaEnum : return "TransientIsesa"; 604 615 case TransientIsgiaEnum : return "TransientIsgia"; … … 1126 1137 case VxAverageEnum : return "VxAverage"; 1127 1138 case VxBaseEnum : return "VxBase"; 1139 case VxDebrisEnum : return "VxDebris"; 1128 1140 case VxEnum : return "Vx"; 1129 1141 case VxMeshEnum : return "VxMesh"; … … 1133 1145 case VyAverageEnum : return "VyAverage"; 1134 1146 case VyBaseEnum : return "VyBase"; 1147 case VyDebrisEnum : return "VyDebris"; 1135 1148 case VyEnum : return "Vy"; 1136 1149 case VyMeshEnum : return "VyMesh"; … … 1321 1334 case DataSetParamEnum : return "DataSetParam"; 1322 1335 case DatasetInputEnum : return "DatasetInput"; 1336 case DebrisAnalysisEnum : return "DebrisAnalysis"; 1337 case DebrisSolutionEnum : return "DebrisSolution"; 1323 1338 case DefaultAnalysisEnum : return "DefaultAnalysis"; 1324 1339 case DefaultCalvingEnum : return "DefaultCalving"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r27297 r27298 167 167 else if (strcmp(name,"DamageStressThreshold")==0) return DamageStressThresholdEnum; 168 168 else if (strcmp(name,"DamageStressUBound")==0) return DamageStressUBoundEnum; 169 else if (strcmp(name,"DebrisMinThickness")==0) return DebrisMinThicknessEnum; 170 else if (strcmp(name,"DebrisNumRequestedOutputs")==0) return DebrisNumRequestedOutputsEnum; 171 else if (strcmp(name,"DebrisPenaltyFactor")==0) return DebrisPenaltyFactorEnum; 172 else if (strcmp(name,"DebrisRequestedOutputs")==0) return DebrisRequestedOutputsEnum; 173 else if (strcmp(name,"DebrisStabilization")==0) return DebrisStabilizationEnum; 174 else if (strcmp(name,"DebrisRemovalmodel")==0) return DebrisRemovalmodelEnum; 175 else if (strcmp(name,"DebrisDisplacementmodel")==0) return DebrisDisplacementmodelEnum; 176 else if (strcmp(name,"DebrisRemovalSlopeThreshold")==0) return DebrisRemovalSlopeThresholdEnum; 177 else if (strcmp(name,"DebrisRemovalStressThreshold")==0) return DebrisRemovalStressThresholdEnum; 178 else if (strcmp(name,"DebrisPackingFraction")==0) return DebrisPackingFractionEnum; 169 179 else if (strcmp(name,"DebugProfiling")==0) return DebugProfilingEnum; 170 180 else if (strcmp(name,"DebrisThickness")==0) return DebrisThicknessEnum; … … 250 260 else if (strcmp(name,"HydrologydcLeakageFactor")==0) return HydrologydcLeakageFactorEnum; 251 261 else if (strcmp(name,"HydrologydcMaxIter")==0) return HydrologydcMaxIterEnum; 252 else if (strcmp(name,"HydrologydcPenaltyFactor")==0) return HydrologydcPenaltyFactorEnum; 262 else stage=3; 263 } 264 if(stage==3){ 265 if (strcmp(name,"HydrologydcPenaltyFactor")==0) return HydrologydcPenaltyFactorEnum; 253 266 else if (strcmp(name,"HydrologydcPenaltyLock")==0) return HydrologydcPenaltyLockEnum; 254 267 else if (strcmp(name,"HydrologydcRelTol")==0) return HydrologydcRelTolEnum; … … 260 273 else if (strcmp(name,"HydrologydcSedimentThickness")==0) return HydrologydcSedimentThicknessEnum; 261 274 else if (strcmp(name,"HydrologyStepAdapt")==0) return HydrologyStepAdaptEnum; 262 else stage=3; 263 } 264 if(stage==3){ 265 if (strcmp(name,"HydrologydcTransferFlag")==0) return HydrologydcTransferFlagEnum; 275 else if (strcmp(name,"HydrologydcTransferFlag")==0) return HydrologydcTransferFlagEnum; 266 276 else if (strcmp(name,"HydrologydcUnconfinedFlag")==0) return HydrologydcUnconfinedFlagEnum; 267 277 else if (strcmp(name,"HydrologyshreveStabilization")==0) return HydrologyshreveStabilizationEnum; … … 373 383 else if (strcmp(name,"OutputFileName")==0) return OutputFileNameEnum; 374 384 else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 375 else if (strcmp(name,"Outputdefinition")==0) return OutputdefinitionEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"Outputdefinition")==0) return OutputdefinitionEnum; 376 389 else if (strcmp(name,"QmuErrName")==0) return QmuErrNameEnum; 377 390 else if (strcmp(name,"QmuInName")==0) return QmuInNameEnum; … … 383 396 else if (strcmp(name,"QmuResponsedescriptors")==0) return QmuResponsedescriptorsEnum; 384 397 else if (strcmp(name,"QmuVariableDescriptors")==0) return QmuVariableDescriptorsEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"QmuVariablePartitions")==0) return QmuVariablePartitionsEnum; 398 else if (strcmp(name,"QmuVariablePartitions")==0) return QmuVariablePartitionsEnum; 389 399 else if (strcmp(name,"QmuVariablePartitionsNpart")==0) return QmuVariablePartitionsNpartEnum; 390 400 else if (strcmp(name,"QmuVariablePartitionsNt")==0) return QmuVariablePartitionsNtEnum; … … 496 506 else if (strcmp(name,"SmbARMAInitialTime")==0) return SmbARMAInitialTimeEnum; 497 507 else if (strcmp(name,"SmbARMATimestep")==0) return SmbARMATimestepEnum; 498 else if (strcmp(name,"SmbARMAarOrder")==0) return SmbARMAarOrderEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"SmbARMAarOrder")==0) return SmbARMAarOrderEnum; 499 512 else if (strcmp(name,"SmbARMAmaOrder")==0) return SmbARMAmaOrderEnum; 500 513 else if (strcmp(name,"SmbAveraging")==0) return SmbAveragingEnum; … … 506 519 else if (strcmp(name,"SmbElevationBins")==0) return SmbElevationBinsEnum; 507 520 else if (strcmp(name,"SmbCldFrac")==0) return SmbCldFracEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"SmbDelta18o")==0) return SmbDelta18oEnum; 521 else if (strcmp(name,"SmbDelta18o")==0) return SmbDelta18oEnum; 512 522 else if (strcmp(name,"SmbDelta18oSurface")==0) return SmbDelta18oSurfaceEnum; 513 523 else if (strcmp(name,"SmbDenIdx")==0) return SmbDenIdxEnum; … … 613 623 else if (strcmp(name,"TransientIsage")==0) return TransientIsageEnum; 614 624 else if (strcmp(name,"TransientIsdamageevolution")==0) return TransientIsdamageevolutionEnum; 625 else if (strcmp(name,"TransientIsdebris")==0) return TransientIsdebrisEnum; 615 626 else if (strcmp(name,"TransientIsesa")==0) return TransientIsesaEnum; 616 627 else if (strcmp(name,"TransientIsgia")==0) return TransientIsgiaEnum; … … 618 629 else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum; 619 630 else if (strcmp(name,"TransientIsmasstransport")==0) return TransientIsmasstransportEnum; 620 else if (strcmp(name,"TransientIsoceantransport")==0) return TransientIsoceantransportEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"TransientIsoceantransport")==0) return TransientIsoceantransportEnum; 621 635 else if (strcmp(name,"TransientIsmovingfront")==0) return TransientIsmovingfrontEnum; 622 636 else if (strcmp(name,"TransientIsoceancoupling")==0) return TransientIsoceancouplingEnum; … … 629 643 else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; 630 644 else if (strcmp(name,"Velocity")==0) return VelocityEnum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"Xxe")==0) return XxeEnum; 645 else if (strcmp(name,"Xxe")==0) return XxeEnum; 635 646 else if (strcmp(name,"Yye")==0) return YyeEnum; 636 647 else if (strcmp(name,"Zze")==0) return ZzeEnum; … … 741 752 else if (strcmp(name,"DeviatoricStressxy")==0) return DeviatoricStressxyEnum; 742 753 else if (strcmp(name,"DeviatoricStressxz")==0) return DeviatoricStressxzEnum; 743 else if (strcmp(name,"DeviatoricStressyy")==0) return DeviatoricStressyyEnum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"DeviatoricStressyy")==0) return DeviatoricStressyyEnum; 744 758 else if (strcmp(name,"DeviatoricStressyz")==0) return DeviatoricStressyzEnum; 745 759 else if (strcmp(name,"DeviatoricStresszz")==0) return DeviatoricStresszzEnum; … … 752 766 else if (strcmp(name,"Domain3D")==0) return Domain3DEnum; 753 767 else if (strcmp(name,"DragCoefficientAbsGradient")==0) return DragCoefficientAbsGradientEnum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"DrivingStressX")==0) return DrivingStressXEnum; 768 else if (strcmp(name,"DrivingStressX")==0) return DrivingStressXEnum; 758 769 else if (strcmp(name,"DrivingStressY")==0) return DrivingStressYEnum; 759 770 else if (strcmp(name,"Dummy")==0) return DummyEnum; … … 864 875 else if (strcmp(name,"MaterialsRheologyB")==0) return MaterialsRheologyBEnum; 865 876 else if (strcmp(name,"MaterialsRheologyBbar")==0) return MaterialsRheologyBbarEnum; 866 else if (strcmp(name,"MaterialsRheologyE")==0) return MaterialsRheologyEEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"MaterialsRheologyE")==0) return MaterialsRheologyEEnum; 867 881 else if (strcmp(name,"MaterialsRheologyEbar")==0) return MaterialsRheologyEbarEnum; 868 882 else if (strcmp(name,"MaterialsRheologyEc")==0) return MaterialsRheologyEcEnum; … … 875 889 else if (strcmp(name,"MeshVertexonboundary")==0) return MeshVertexonboundaryEnum; 876 890 else if (strcmp(name,"MeshVertexonsurface")==0) return MeshVertexonsurfaceEnum; 877 else stage=8; 878 } 879 if(stage==8){ 880 if (strcmp(name,"Misfit")==0) return MisfitEnum; 891 else if (strcmp(name,"Misfit")==0) return MisfitEnum; 881 892 else if (strcmp(name,"MovingFrontalVx")==0) return MovingFrontalVxEnum; 882 893 else if (strcmp(name,"MovingFrontalVy")==0) return MovingFrontalVyEnum; … … 987 998 else if (strcmp(name,"SmbAdiff")==0) return SmbAdiffEnum; 988 999 else if (strcmp(name,"SmbAValue")==0) return SmbAValueEnum; 989 else if (strcmp(name,"SmbAccumulation")==0) return SmbAccumulationEnum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"SmbAccumulation")==0) return SmbAccumulationEnum; 990 1004 else if (strcmp(name,"SmbAdiffini")==0) return SmbAdiffiniEnum; 991 1005 else if (strcmp(name,"SmbAini")==0) return SmbAiniEnum; … … 998 1012 else if (strcmp(name,"SmbC")==0) return SmbCEnum; 999 1013 else if (strcmp(name,"SmbCcsnowValue")==0) return SmbCcsnowValueEnum; 1000 else stage=9; 1001 } 1002 if(stage==9){ 1003 if (strcmp(name,"SmbCciceValue")==0) return SmbCciceValueEnum; 1014 else if (strcmp(name,"SmbCciceValue")==0) return SmbCciceValueEnum; 1004 1015 else if (strcmp(name,"SmbCotValue")==0) return SmbCotValueEnum; 1005 1016 else if (strcmp(name,"SmbD")==0) return SmbDEnum; … … 1110 1121 else if (strcmp(name,"StressTensorxx")==0) return StressTensorxxEnum; 1111 1122 else if (strcmp(name,"StressTensorxy")==0) return StressTensorxyEnum; 1112 else if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"StressTensorxz")==0) return StressTensorxzEnum; 1113 1127 else if (strcmp(name,"StressTensoryy")==0) return StressTensoryyEnum; 1114 1128 else if (strcmp(name,"StressTensoryz")==0) return StressTensoryzEnum; … … 1121 1135 else if (strcmp(name,"SurfaceAverageVelMisfit")==0) return SurfaceAverageVelMisfitEnum; 1122 1136 else if (strcmp(name,"SurfaceCrevasse")==0) return SurfaceCrevasseEnum; 1123 else stage=10; 1124 } 1125 if(stage==10){ 1126 if (strcmp(name,"Surface")==0) return SurfaceEnum; 1137 else if (strcmp(name,"Surface")==0) return SurfaceEnum; 1127 1138 else if (strcmp(name,"SurfaceOld")==0) return SurfaceOldEnum; 1128 1139 else if (strcmp(name,"SurfaceLogVelMisfit")==0) return SurfaceLogVelMisfitEnum; … … 1153 1164 else if (strcmp(name,"VxAverage")==0) return VxAverageEnum; 1154 1165 else if (strcmp(name,"VxBase")==0) return VxBaseEnum; 1166 else if (strcmp(name,"VxDebris")==0) return VxDebrisEnum; 1155 1167 else if (strcmp(name,"Vx")==0) return VxEnum; 1156 1168 else if (strcmp(name,"VxMesh")==0) return VxMeshEnum; … … 1160 1172 else if (strcmp(name,"VyAverage")==0) return VyAverageEnum; 1161 1173 else if (strcmp(name,"VyBase")==0) return VyBaseEnum; 1174 else if (strcmp(name,"VyDebris")==0) return VyDebrisEnum; 1162 1175 else if (strcmp(name,"Vy")==0) return VyEnum; 1163 1176 else if (strcmp(name,"VyMesh")==0) return VyMeshEnum; … … 1231 1244 else if (strcmp(name,"Outputdefinition54")==0) return Outputdefinition54Enum; 1232 1245 else if (strcmp(name,"Outputdefinition55")==0) return Outputdefinition55Enum; 1233 else if (strcmp(name,"Outputdefinition56")==0) return Outputdefinition56Enum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"Outputdefinition56")==0) return Outputdefinition56Enum; 1234 1250 else if (strcmp(name,"Outputdefinition57")==0) return Outputdefinition57Enum; 1235 1251 else if (strcmp(name,"Outputdefinition58")==0) return Outputdefinition58Enum; … … 1244 1260 else if (strcmp(name,"Outputdefinition66")==0) return Outputdefinition66Enum; 1245 1261 else if (strcmp(name,"Outputdefinition67")==0) return Outputdefinition67Enum; 1246 else stage=11; 1247 } 1248 if(stage==11){ 1249 if (strcmp(name,"Outputdefinition68")==0) return Outputdefinition68Enum; 1262 else if (strcmp(name,"Outputdefinition68")==0) return Outputdefinition68Enum; 1250 1263 else if (strcmp(name,"Outputdefinition69")==0) return Outputdefinition69Enum; 1251 1264 else if (strcmp(name,"Outputdefinition6")==0) return Outputdefinition6Enum; … … 1351 1364 else if (strcmp(name,"DataSetParam")==0) return DataSetParamEnum; 1352 1365 else if (strcmp(name,"DatasetInput")==0) return DatasetInputEnum; 1366 else if (strcmp(name,"DebrisAnalysis")==0) return DebrisAnalysisEnum; 1367 else if (strcmp(name,"DebrisSolution")==0) return DebrisSolutionEnum; 1353 1368 else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum; 1354 else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum; 1355 1373 else if (strcmp(name,"Dense")==0) return DenseEnum; 1356 1374 else if (strcmp(name,"DependentObject")==0) return DependentObjectEnum; … … 1367 1385 else if (strcmp(name,"DoubleMatParam")==0) return DoubleMatParamEnum; 1368 1386 else if (strcmp(name,"DoubleParam")==0) return DoubleParamEnum; 1369 else stage=12; 1370 } 1371 if(stage==12){ 1372 if (strcmp(name,"DoubleVecParam")==0) return DoubleVecParamEnum; 1387 else if (strcmp(name,"DoubleVecParam")==0) return DoubleVecParamEnum; 1373 1388 else if (strcmp(name,"Element")==0) return ElementEnum; 1374 1389 else if (strcmp(name,"ElementHook")==0) return ElementHookEnum; … … 1475 1490 else if (strcmp(name,"LoveKernelsReal")==0) return LoveKernelsRealEnum; 1476 1491 else if (strcmp(name,"LoveKf")==0) return LoveKfEnum; 1477 else if (strcmp(name,"LoveKt")==0) return LoveKtEnum; 1492 else stage=13; 1493 } 1494 if(stage==13){ 1495 if (strcmp(name,"LoveKt")==0) return LoveKtEnum; 1478 1496 else if (strcmp(name,"LoveLf")==0) return LoveLfEnum; 1479 1497 else if (strcmp(name,"LoveLt")==0) return LoveLtEnum; … … 1490 1508 else if (strcmp(name,"MantlePlumeGeothermalFlux")==0) return MantlePlumeGeothermalFluxEnum; 1491 1509 else if (strcmp(name,"MassFlux")==0) return MassFluxEnum; 1492 else stage=13; 1493 } 1494 if(stage==13){ 1495 if (strcmp(name,"Masscon")==0) return MassconEnum; 1510 else if (strcmp(name,"Masscon")==0) return MassconEnum; 1496 1511 else if (strcmp(name,"Massconaxpby")==0) return MassconaxpbyEnum; 1497 1512 else if (strcmp(name,"Massfluxatgate")==0) return MassfluxatgateEnum; … … 1598 1613 else if (strcmp(name,"SSAHOApproximation")==0) return SSAHOApproximationEnum; 1599 1614 else if (strcmp(name,"Scaled")==0) return ScaledEnum; 1600 else if (strcmp(name,"SealevelAbsolute")==0) return SealevelAbsoluteEnum; 1615 else stage=14; 1616 } 1617 if(stage==14){ 1618 if (strcmp(name,"SealevelAbsolute")==0) return SealevelAbsoluteEnum; 1601 1619 else if (strcmp(name,"SealevelEmotion")==0) return SealevelEmotionEnum; 1602 1620 else if (strcmp(name,"SealevelchangePolarMotionX")==0) return SealevelchangePolarMotionXEnum; … … 1613 1631 else if (strcmp(name,"Separate")==0) return SeparateEnum; 1614 1632 else if (strcmp(name,"Seq")==0) return SeqEnum; 1615 else stage=14; 1616 } 1617 if(stage==14){ 1618 if (strcmp(name,"SmbAnalysis")==0) return SmbAnalysisEnum; 1633 else if (strcmp(name,"SmbAnalysis")==0) return SmbAnalysisEnum; 1619 1634 else if (strcmp(name,"SmbSolution")==0) return SmbSolutionEnum; 1620 1635 else if (strcmp(name,"SmoothAnalysis")==0) return SmoothAnalysisEnum;
Note:
See TracChangeset
for help on using the changeset viewer.