Changeset 18758
- Timestamp:
- 11/07/14 15:42:55 (10 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r18744 r18758 20 20 /*}}}*/ 21 21 void LevelsetAnalysis::UpdateElements(Elements* elements,IoModel* iomodel,int analysis_counter,int analysis_type){/*{{{*/ 22 int finiteelement;23 22 24 23 /*Finite element type*/ 25 finiteelement = P1Enum;24 int finiteelement = P1Enum; 26 25 27 26 /*Update elements: */ … … 38 37 iomodel->FetchDataToInput(elements,VxEnum); 39 38 iomodel->FetchDataToInput(elements,VyEnum); 40 iomodel->FetchDataToInput(elements,MasstransportCalvingrateEnum); 39 40 /*Get calving parameters*/ 41 int calvinglaw; 42 iomodel->Constant(&calvinglaw,CalvingLawEnum); 43 switch(calvinglaw){ 44 case DefaultCalvingEnum: 45 iomodel->FetchDataToInput(elements,CalvingCalvingrateEnum); 46 break; 47 case CalvingLevermannEnum: 48 iomodel->FetchDataToInput(elements,CalvinglevermannCoeffEnum); 49 break; 50 default: 51 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); 52 } 41 53 } 42 54 /*}}}*/ … … 100 112 101 113 /*Intermediaries */ 102 int dim, domaintype; 103 bool iscalvingrate; 114 int stabilization=2; 115 int dim, domaintype, calvinglaw; 116 bool iscalving; 104 117 int i, row, col; 105 118 IssmDouble kappa; … … 107 120 IssmDouble h,hx,hy,hz; 108 121 IssmDouble vel; 109 // IssmDouble norm_dlsf;122 IssmDouble norm_dlsf, calvingrate; 110 123 IssmDouble* xyz_list = NULL; 111 124 112 125 /*Get problem dimension and whether there is calving or not*/ 113 basalelement->FindParam(&iscalving rate,MasstransportIscalvingrateEnum);126 basalelement->FindParam(&iscalving,TransientIscalvingEnum); 114 127 basalelement->FindParam(&domaintype,DomainTypeEnum); 128 basalelement->FindParam(&calvinglaw,CalvingLawEnum); 115 129 switch(domaintype){ 116 130 case Domain2DverticalEnum: dim = 1; break; … … 131 145 IssmDouble* v = xNew<IssmDouble>(dim); 132 146 IssmDouble* w = xNew<IssmDouble>(dim); 133 IssmDouble* c = xNew <IssmDouble>(dim);134 //IssmDouble* dlsf = xNew<IssmDouble>(dim);147 IssmDouble* c = xNewZeroInit<IssmDouble>(dim); 148 IssmDouble* dlsf = xNew<IssmDouble>(dim); 135 149 136 150 /*Retrieve all inputs and parameters*/ 137 151 basalelement->GetVerticesCoordinates(&xyz_list); 138 152 basalelement->FindParam(&dt,TimesteppingTimeStepEnum); 139 Input* vx_input=NULL; 140 Input* vy_input=NULL; 141 Input* calvingratex_input=NULL; 142 Input* calvingratey_input=NULL; 153 Input* vx_input = NULL; 154 Input* vy_input = NULL; 155 Input* calvingratex_input = NULL; 156 Input* calvingratey_input = NULL; 157 Input* lsf_slopex_input = NULL; 158 Input* lsf_slopey_input = NULL; 159 Input* calvingrate_input = NULL; 160 161 /*Load velocities*/ 143 162 if(domaintype==Domain2DhorizontalEnum){ 144 163 vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input); 145 164 vy_input=basalelement->GetInput(VyEnum); _assert_(vy_input); 146 if(iscalvingrate){147 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);148 calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input);149 }150 165 } 151 166 else{ 152 167 if(dim==1){ 153 168 vx_input=basalelement->GetInput(VxEnum); _assert_(vx_input); 154 if(iscalvingrate){155 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input);156 }157 169 } 158 170 if(dim==2){ 159 171 vx_input=basalelement->GetInput(VxAverageEnum); _assert_(vx_input); 160 172 vy_input=basalelement->GetInput(VyAverageEnum); _assert_(vy_input); 161 if(iscalvingrate){ 162 calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input); 163 calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input); 164 } 165 } 166 } 167 168 // Input* lsf_slopex_input = basalelement->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input); 169 // Input* lsf_slopey_input = basalelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input); 170 //Input* calvingrate_input = basalelement->GetInput(MasstransportCalvingrateEnum); _assert_(calvingrate_input); 171 173 } 174 } 175 176 /*Load calving inputs*/ 177 if(iscalving){ 178 switch(calvinglaw){ 179 case DefaultCalvingEnum: 180 lsf_slopex_input = basalelement->GetInput(LevelsetfunctionSlopeXEnum); _assert_(lsf_slopex_input); 181 if(dim==2) lsf_slopey_input = basalelement->GetInput(LevelsetfunctionSlopeYEnum); _assert_(lsf_slopey_input); 182 calvingrate_input = basalelement->GetInput(CalvingCalvingrateEnum); _assert_(calvingrate_input); 183 break; 184 case CalvingLevermannEnum: 185 if(domaintype==Domain2DhorizontalEnum){ 186 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input); 187 calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input); 188 } 189 else{ 190 if(dim==1){ 191 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input); 192 } 193 if(dim==2){ 194 calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input); 195 calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input); 196 } 197 } 198 break; 199 default: 200 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); 201 } 202 } 203 172 204 /* Start looping on the number of gaussian points: */ 173 205 Gauss* gauss=basalelement->NewGauss(2); … … 193 225 vx_input->GetInputValue(&v[0],gauss); // in 3D case, add mesh velocity 194 226 vy_input->GetInputValue(&v[1],gauss); 195 if(iscalvingrate){ 196 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity 197 calvingratey_input->GetInputValue(&c[1],gauss); 198 for(i=0;i<dim;i++) w[i]=v[i]-c[i]; 199 } 200 else{ 201 for(i=0;i<dim;i++) w[i]=v[i]; 202 } 203 //lsf_slopex_input->GetInputValue(&dlsf[0],gauss); 204 //lsf_slopey_input->GetInputValue(&dlsf[1],gauss); 205 //calvingrate_input->GetInputValue(&calvingrate,gauss); 206 207 //norm_dlsf=0.; 208 //for(i=0;i<dim;i++) norm_dlsf+=pow(dlsf[i],2); 209 //norm_dlsf=sqrt(norm_dlsf); 210 211 //if(norm_dlsf>1.e-10) 212 // for(i=0;i<dim;i++) c[i]=calvingrate*dlsf[i]/norm_dlsf; 213 //else 214 //for(i=0;i<dim;i++) c[i]=0.; 215 216 217 for(row=0;row<dim;row++) 218 for(col=0;col<dim;col++) 227 228 /*Get calving speed*/ 229 if(iscalving){ 230 switch(calvinglaw){ 231 case DefaultCalvingEnum: 232 lsf_slopex_input->GetInputValue(&dlsf[0],gauss); 233 if(dim==2) lsf_slopey_input->GetInputValue(&dlsf[1],gauss); 234 calvingrate_input->GetInputValue(&calvingrate,gauss); 235 236 norm_dlsf=0.; 237 for(i=0;i<dim;i++) norm_dlsf+=pow(dlsf[i],2); 238 norm_dlsf=sqrt(norm_dlsf); 239 240 if(norm_dlsf>1.e-10) 241 for(i=0;i<dim;i++) c[i]=calvingrate*dlsf[i]/norm_dlsf; 242 else 243 for(i=0;i<dim;i++) c[i]=0.; 244 break; 245 case CalvingLevermannEnum: 246 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity 247 if(dim==2) calvingratey_input->GetInputValue(&c[1],gauss); 248 break; 249 default: 250 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); 251 } 252 } 253 254 /*Levelset speed is ice velocity - calving rate*/ 255 for(i=0;i<dim;i++) w[i]=v[i]-c[i]; 256 257 /*Compute D*/ 258 for(row=0;row<dim;row++){ 259 for(col=0;col<dim;col++){ 219 260 if(row==col) 220 261 D[row*dim+col]=D_scalar*w[row]; 221 262 else 222 D[row*dim+col]=0.; 263 D[row*dim+col]=0.; 264 } 265 } 223 266 224 267 TripleMultiply(B,dim,numnodes,1, … … 228 271 229 272 /* Stabilization */ 230 int stabilization=2;231 273 vel=0.; 232 for(i=0;i<dim;i++) vel+= w[i]*w[i];274 for(i=0;i<dim;i++) vel+=v[i]*v[i]; 233 275 vel=sqrt(vel)+1.e-14; 234 276 switch(stabilization){ … … 256 298 /* Streamline Upwinding */ 257 299 basalelement->ElementSizes(&hx,&hy,&hz); 258 h=sqrt( pow(hx* w[0]/vel,2) + pow(hy*w[1]/vel,2) );300 h=sqrt( pow(hx*v[0]/vel,2) + pow(hy*v[1]/vel,2) ); 259 301 for(row=0;row<dim;row++) 260 302 for(col=0;col<dim;col++) 261 D[row*dim+col] = D_scalar*h/(2.*vel)* w[row]*w[col];303 D[row*dim+col] = D_scalar*h/(2.*vel)*v[row]*v[col]; 262 304 263 305 TripleMultiply(Bprime,dim,numnodes,1, … … 280 322 xDelete<IssmDouble>(w); 281 323 xDelete<IssmDouble>(c); 282 //xDelete<IssmDouble>(dlsf);324 xDelete<IssmDouble>(dlsf); 283 325 delete gauss; 284 326 if(domaintype!=Domain2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r18736 r18758 1092 1092 name==LevelsetfunctionSlopeYEnum || 1093 1093 name==LevelsetfunctionPicardEnum || 1094 name==MasstransportCalvingrateEnum ||1094 //name==CalvingCalvingrateEnum || 1095 1095 name==GradientEnum || 1096 1096 name==OldGradientEnum || … … 1212 1212 case CalvingratexEnum: 1213 1213 case CalvingrateyEnum: 1214 case MasstransportCalvingrateEnum:1214 case CalvingCalvingrateEnum: 1215 1215 this->StrainRateparallel(); 1216 1216 this->StrainRateperpendicular(); -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r18736 r18758 367 367 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 368 368 Input* strainparallel_input=inputs->GetInput(StrainRateparallelEnum); _assert_(strainparallel_input); 369 Input* strainperpendicular_input=inputs->GetInput(StrainRateperpendicularEnum); _assert_(strainperpendicular_input);370 this->parameters->FindParam(&propcoeff,MasstransportLevermannCalvingCoeffEnum);369 Input* strainperpendicular_input=inputs->GetInput(StrainRateperpendicularEnum); _assert_(strainperpendicular_input); 370 Input* levermanncoeff_input=inputs->GetInput(CalvinglevermannCoeffEnum); _assert_(levermanncoeff_input); 371 371 372 372 /* Start looping on the number of vertices: */ … … 381 381 strainparallel_input->GetInputValue(&strainparallel,gauss); 382 382 strainperpendicular_input->GetInputValue(&strainperpendicular,gauss); 383 levermanncoeff_input->GetInputValue(&propcoeff,gauss); 383 384 384 385 /*Calving rate proportionnal to the positive product of the strain rate along the ice flow direction and the strain rate perpendicular to the ice flow */ … … 394 395 this->inputs->AddInput(new PentaInput(CalvingratexEnum,&calvingratex[0],P1Enum)); 395 396 this->inputs->AddInput(new PentaInput(CalvingrateyEnum,&calvingratey[0],P1Enum)); 396 this->inputs->AddInput(new PentaInput( MasstransportCalvingrateEnum,&calvingrate[0],P1Enum));397 this->inputs->AddInput(new PentaInput(CalvingCalvingrateEnum,&calvingrate[0],P1Enum)); 397 398 398 399 /*Clean up and return*/ -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r18736 r18758 439 439 Input* strainparallel_input=inputs->GetInput(StrainRateparallelEnum); _assert_(strainparallel_input); 440 440 Input* strainperpendicular_input=inputs->GetInput(StrainRateperpendicularEnum); _assert_(strainperpendicular_input); 441 this->parameters->FindParam(&propcoeff,MasstransportLevermannCalvingCoeffEnum);441 Input* levermanncoeff_input=inputs->GetInput(CalvinglevermannCoeffEnum); _assert_(levermanncoeff_input); 442 442 443 443 /* Start looping on the number of vertices: */ … … 452 452 strainparallel_input->GetInputValue(&strainparallel,gauss); 453 453 strainperpendicular_input->GetInputValue(&strainperpendicular,gauss); 454 levermanncoeff_input->GetInputValue(&propcoeff,gauss); 454 455 455 456 /*Calving rate proportionnal to the positive product of the strain rate along the ice flow direction and the strain rate perpendicular to the ice flow */ … … 465 466 this->inputs->AddInput(new TriaInput(CalvingratexEnum,&calvingratex[0],P1Enum)); 466 467 this->inputs->AddInput(new TriaInput(CalvingrateyEnum,&calvingratey[0],P1Enum)); 467 this->inputs->AddInput(new TriaInput( MasstransportCalvingrateEnum,&calvingrate[0],P1Enum));468 this->inputs->AddInput(new TriaInput(CalvingCalvingrateEnum,&calvingrate[0],P1Enum)); 468 469 469 470 /*Clean up and return*/ -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r18736 r18758 21 21 /*parameters: */ 22 22 IssmDouble starttime,finaltime,dt,yts; 23 bool isstressbalance,ismasstransport,isFS,isthermal,isgroundingline,isgia,islevelset,isdamageevolution,ishydrology,iscalving rate;23 bool isstressbalance,ismasstransport,isFS,isthermal,isgroundingline,isgia,islevelset,isdamageevolution,ishydrology,iscalving; 24 24 bool save_results,dakota_analysis; 25 25 bool time_adapt=false; 26 26 int output_frequency; 27 int domaintype,groundingline_migration ;27 int domaintype,groundingline_migration,calvinglaw; 28 28 int numoutputs = 0; 29 29 Analysis *analysis = NULL; … … 53 53 femmodel->parameters->FindParam(&ishydrology,TransientIshydrologyEnum); 54 54 femmodel->parameters->FindParam(&isFS,FlowequationIsFSEnum); 55 femmodel->parameters->FindParam(&iscalvingrate,MasstransportIscalvingrateEnum); 55 femmodel->parameters->FindParam(&iscalving,TransientIscalvingEnum); 56 femmodel->parameters->FindParam(&calvinglaw,CalvingLawEnum); 56 57 if(isgroundingline) femmodel->parameters->FindParam(&groundingline_migration,GroundinglineMigrationEnum); 57 58 femmodel->parameters->FindParam(&numoutputs,TransientNumRequestedOutputsEnum); … … 102 103 103 104 if(islevelset){ 104 if(iscalving rate){105 if(iscalving && calvinglaw==CalvingLevermannEnum){ 105 106 if(VerboseSolution()) _printf0_(" computing calving rate\n"); 106 107 femmodel->StrainRateparallelx(); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r18736 r18758 67 67 parameters->AddObject(iomodel->CopyConstantObject(InversionIscontrolEnum)); 68 68 parameters->AddObject(iomodel->CopyConstantObject(InversionTypeEnum)); 69 parameters->AddObject(iomodel->CopyConstantObject(CalvingLawEnum)); 69 70 if(solution_type==SeaiceSolutionEnum){ 70 71 } … … 83 84 parameters->AddObject(iomodel->CopyConstantObject(TransientIsdamageevolutionEnum)); 84 85 parameters->AddObject(iomodel->CopyConstantObject(TransientIshydrologyEnum)); 85 parameters->AddObject(iomodel->CopyConstantObject(MasstransportIscalvingrateEnum)); 86 parameters->AddObject(iomodel->CopyConstantObject(MasstransportLevermannCalvingCoeffEnum)); 86 parameters->AddObject(iomodel->CopyConstantObject(TransientIscalvingEnum)); 87 87 parameters->AddObject(iomodel->CopyConstantObject(MaterialsRheologyLawEnum)); 88 88 parameters->AddObject(iomodel->CopyConstantObject(GiaCrossSectionShapeEnum)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r18747 r18758 209 209 NewDamageEnum, 210 210 StressIntensityFactorEnum, 211 CalvingLawEnum, 212 CalvingCalvingrateEnum, 213 CalvingLevermannEnum, 214 DefaultCalvingEnum, 215 CalvingRequestedOutputsEnum, 216 CalvinglevermannCoeffEnum, 211 217 CalvingratexEnum, 212 218 CalvingrateyEnum, … … 250 256 MiscellaneousNameEnum, //FIXME: only used by qmu, should not be marshalled (already in queueing script) 251 257 MasstransportHydrostaticAdjustmentEnum, 252 MasstransportIscalvingrateEnum,253 MasstransportLevermannCalvingCoeffEnum,254 258 MasstransportIsfreesurfaceEnum, 255 259 MasstransportMinThicknessEnum, 256 260 MasstransportPenaltyFactorEnum, 257 261 MasstransportSpcthicknessEnum, 258 MasstransportCalvingrateEnum,259 262 MasstransportStabilizationEnum, 260 263 MasstransportVertexPairingEnum, … … 314 317 TransientIsdamageevolutionEnum, 315 318 TransientIshydrologyEnum, 319 TransientIscalvingEnum, 316 320 TransientNumRequestedOutputsEnum, 317 321 TransientRequestedOutputsEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r18747 r18758 217 217 case NewDamageEnum : return "NewDamage"; 218 218 case StressIntensityFactorEnum : return "StressIntensityFactor"; 219 case CalvingLawEnum : return "CalvingLaw"; 220 case CalvingCalvingrateEnum : return "CalvingCalvingrate"; 221 case CalvingLevermannEnum : return "CalvingLevermann"; 222 case DefaultCalvingEnum : return "DefaultCalving"; 223 case CalvingRequestedOutputsEnum : return "CalvingRequestedOutputs"; 224 case CalvinglevermannCoeffEnum : return "CalvinglevermannCoeff"; 219 225 case CalvingratexEnum : return "Calvingratex"; 220 226 case CalvingrateyEnum : return "Calvingratey"; … … 258 264 case MiscellaneousNameEnum : return "MiscellaneousName"; 259 265 case MasstransportHydrostaticAdjustmentEnum : return "MasstransportHydrostaticAdjustment"; 260 case MasstransportIscalvingrateEnum : return "MasstransportIscalvingrate";261 case MasstransportLevermannCalvingCoeffEnum : return "MasstransportLevermannCalvingCoeff";262 266 case MasstransportIsfreesurfaceEnum : return "MasstransportIsfreesurface"; 263 267 case MasstransportMinThicknessEnum : return "MasstransportMinThickness"; 264 268 case MasstransportPenaltyFactorEnum : return "MasstransportPenaltyFactor"; 265 269 case MasstransportSpcthicknessEnum : return "MasstransportSpcthickness"; 266 case MasstransportCalvingrateEnum : return "MasstransportCalvingrate";267 270 case MasstransportStabilizationEnum : return "MasstransportStabilization"; 268 271 case MasstransportVertexPairingEnum : return "MasstransportVertexPairing"; … … 322 325 case TransientIsdamageevolutionEnum : return "TransientIsdamageevolution"; 323 326 case TransientIshydrologyEnum : return "TransientIshydrology"; 327 case TransientIscalvingEnum : return "TransientIscalving"; 324 328 case TransientNumRequestedOutputsEnum : return "TransientNumRequestedOutputs"; 325 329 case TransientRequestedOutputsEnum : return "TransientRequestedOutputs"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r18747 r18758 220 220 else if (strcmp(name,"NewDamage")==0) return NewDamageEnum; 221 221 else if (strcmp(name,"StressIntensityFactor")==0) return StressIntensityFactorEnum; 222 else if (strcmp(name,"CalvingLaw")==0) return CalvingLawEnum; 223 else if (strcmp(name,"CalvingCalvingrate")==0) return CalvingCalvingrateEnum; 224 else if (strcmp(name,"CalvingLevermann")==0) return CalvingLevermannEnum; 225 else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum; 226 else if (strcmp(name,"CalvingRequestedOutputs")==0) return CalvingRequestedOutputsEnum; 227 else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum; 222 228 else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum; 223 229 else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum; … … 254 260 else if (strcmp(name,"MeshZ")==0) return MeshZEnum; 255 261 else if (strcmp(name,"MeshElementtype")==0) return MeshElementtypeEnum; 256 else if (strcmp(name,"DomainType")==0) return DomainTypeEnum; 262 else stage=3; 263 } 264 if(stage==3){ 265 if (strcmp(name,"DomainType")==0) return DomainTypeEnum; 257 266 else if (strcmp(name,"DomainDimension")==0) return DomainDimensionEnum; 258 267 else if (strcmp(name,"Domain2Dhorizontal")==0) return Domain2DhorizontalEnum; … … 260 269 else if (strcmp(name,"Domain3D")==0) return Domain3DEnum; 261 270 else if (strcmp(name,"MiscellaneousName")==0) return MiscellaneousNameEnum; 262 else stage=3; 263 } 264 if(stage==3){ 265 if (strcmp(name,"MasstransportHydrostaticAdjustment")==0) return MasstransportHydrostaticAdjustmentEnum; 266 else if (strcmp(name,"MasstransportIscalvingrate")==0) return MasstransportIscalvingrateEnum; 267 else if (strcmp(name,"MasstransportLevermannCalvingCoeff")==0) return MasstransportLevermannCalvingCoeffEnum; 271 else if (strcmp(name,"MasstransportHydrostaticAdjustment")==0) return MasstransportHydrostaticAdjustmentEnum; 268 272 else if (strcmp(name,"MasstransportIsfreesurface")==0) return MasstransportIsfreesurfaceEnum; 269 273 else if (strcmp(name,"MasstransportMinThickness")==0) return MasstransportMinThicknessEnum; 270 274 else if (strcmp(name,"MasstransportPenaltyFactor")==0) return MasstransportPenaltyFactorEnum; 271 275 else if (strcmp(name,"MasstransportSpcthickness")==0) return MasstransportSpcthicknessEnum; 272 else if (strcmp(name,"MasstransportCalvingrate")==0) return MasstransportCalvingrateEnum;273 276 else if (strcmp(name,"MasstransportStabilization")==0) return MasstransportStabilizationEnum; 274 277 else if (strcmp(name,"MasstransportVertexPairing")==0) return MasstransportVertexPairingEnum; … … 328 331 else if (strcmp(name,"TransientIsdamageevolution")==0) return TransientIsdamageevolutionEnum; 329 332 else if (strcmp(name,"TransientIshydrology")==0) return TransientIshydrologyEnum; 333 else if (strcmp(name,"TransientIscalving")==0) return TransientIscalvingEnum; 330 334 else if (strcmp(name,"TransientNumRequestedOutputs")==0) return TransientNumRequestedOutputsEnum; 331 335 else if (strcmp(name,"TransientRequestedOutputs")==0) return TransientRequestedOutputsEnum; … … 379 383 else if (strcmp(name,"AdjointBalancethickness2Analysis")==0) return AdjointBalancethickness2AnalysisEnum; 380 384 else if (strcmp(name,"AdjointHorizAnalysis")==0) return AdjointHorizAnalysisEnum; 381 else if (strcmp(name,"AnalysisCounter")==0) return AnalysisCounterEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"AnalysisCounter")==0) return AnalysisCounterEnum; 382 389 else if (strcmp(name,"DefaultAnalysis")==0) return DefaultAnalysisEnum; 383 390 else if (strcmp(name,"BalancethicknessAnalysis")==0) return BalancethicknessAnalysisEnum; 384 391 else if (strcmp(name,"BalancethicknessSolution")==0) return BalancethicknessSolutionEnum; 385 else stage=4; 386 } 387 if(stage==4){ 388 if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum; 392 else if (strcmp(name,"Balancethickness2Analysis")==0) return Balancethickness2AnalysisEnum; 389 393 else if (strcmp(name,"Balancethickness2Solution")==0) return Balancethickness2SolutionEnum; 390 394 else if (strcmp(name,"BalancethicknessSoftAnalysis")==0) return BalancethicknessSoftAnalysisEnum; … … 502 506 else if (strcmp(name,"StringArrayParam")==0) return StringArrayParamEnum; 503 507 else if (strcmp(name,"StringParam")==0) return StringParamEnum; 504 else if (strcmp(name,"Seg")==0) return SegEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"Seg")==0) return SegEnum; 505 512 else if (strcmp(name,"SegInput")==0) return SegInputEnum; 506 513 else if (strcmp(name,"Tria")==0) return TriaEnum; 507 514 else if (strcmp(name,"TriaInput")==0) return TriaInputEnum; 508 else stage=5; 509 } 510 if(stage==5){ 511 if (strcmp(name,"Tetra")==0) return TetraEnum; 515 else if (strcmp(name,"Tetra")==0) return TetraEnum; 512 516 else if (strcmp(name,"TetraInput")==0) return TetraInputEnum; 513 517 else if (strcmp(name,"Penta")==0) return PentaEnum; … … 625 629 else if (strcmp(name,"P2bubble")==0) return P2bubbleEnum; 626 630 else if (strcmp(name,"P2bubblecondensed")==0) return P2bubblecondensedEnum; 627 else if (strcmp(name,"P2xP1")==0) return P2xP1Enum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"P2xP1")==0) return P2xP1Enum; 628 635 else if (strcmp(name,"P1xP2")==0) return P1xP2Enum; 629 636 else if (strcmp(name,"P1xP3")==0) return P1xP3Enum; 630 637 else if (strcmp(name,"P2xP4")==0) return P2xP4Enum; 631 else stage=6; 632 } 633 if(stage==6){ 634 if (strcmp(name,"P1P1")==0) return P1P1Enum; 638 else if (strcmp(name,"P1P1")==0) return P1P1Enum; 635 639 else if (strcmp(name,"P1P1GLS")==0) return P1P1GLSEnum; 636 640 else if (strcmp(name,"MINI")==0) return MINIEnum; … … 748 752 else if (strcmp(name,"LliboutryDuval")==0) return LliboutryDuvalEnum; 749 753 else if (strcmp(name,"TransientIslevelset")==0) return TransientIslevelsetEnum; 750 else if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"ExtrapolationVariable")==0) return ExtrapolationVariableEnum; 751 758 else if (strcmp(name,"IceMaskNodeActivation")==0) return IceMaskNodeActivationEnum; 752 759 else if (strcmp(name,"LevelsetfunctionSlopeX")==0) return LevelsetfunctionSlopeXEnum; 753 760 else if (strcmp(name,"LevelsetfunctionSlopeY")==0) return LevelsetfunctionSlopeYEnum; 754 else stage=7; 755 } 756 if(stage==7){ 757 if (strcmp(name,"LevelsetfunctionPicard")==0) return LevelsetfunctionPicardEnum; 761 else if (strcmp(name,"LevelsetfunctionPicard")==0) return LevelsetfunctionPicardEnum; 758 762 else if (strcmp(name,"Seaiceatm")==0) return SeaiceatmEnum; 759 763 else if (strcmp(name,"Seaiceocean")==0) return SeaiceoceanEnum;
Note:
See TracChangeset
for help on using the changeset viewer.