Changeset 18953
- Timestamp:
- 12/05/14 16:46:55 (10 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 4 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
r18930 r18953 63 63 iomodel->FetchDataToInput(elements,CalvinglevermannCoeffEnum); 64 64 iomodel->FetchDataToInput(elements,CalvinglevermannMeltingrateEnum); 65 break; 66 case CalvingPiEnum: 67 iomodel->FetchDataToInput(elements,CalvingpiCoeffEnum); 68 iomodel->FetchDataToInput(elements,CalvingpiMeltingrateEnum); 65 69 break; 66 70 default: … … 208 212 meltingrate_input = basalelement->GetInput(CalvinglevermannMeltingrateEnum); _assert_(meltingrate_input); 209 213 break; 214 case CalvingPiEnum: 215 if(domaintype==Domain2DhorizontalEnum){ 216 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input); 217 calvingratey_input=basalelement->GetInput(CalvingrateyEnum); _assert_(calvingratey_input); 218 } 219 else{ 220 if(dim==1){ 221 calvingratex_input=basalelement->GetInput(CalvingratexEnum); _assert_(calvingratex_input); 222 } 223 if(dim==2){ 224 calvingratex_input=basalelement->GetInput(CalvingratexAverageEnum); _assert_(calvingratex_input); 225 calvingratey_input=basalelement->GetInput(CalvingrateyAverageEnum); _assert_(calvingratey_input); 226 } 227 } 228 meltingrate_input = basalelement->GetInput(CalvingpiMeltingrateEnum); _assert_(meltingrate_input); 229 break; 210 230 default: 211 231 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); … … 262 282 263 283 break; 284 264 285 case CalvingLevermannEnum: 265 286 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity … … 274 295 275 296 break; 297 298 case CalvingPiEnum: 299 calvingratex_input->GetInputValue(&c[0],gauss); // in 3D case, add mesh velocity 300 if(dim==2) calvingratey_input->GetInputValue(&c[1],gauss); 301 meltingrate_input->GetInputValue(&meltingrate,gauss); 302 303 norm_calving=0.; 304 for(i=0;i<dim;i++) norm_calving+=pow(c[i],2); 305 norm_calving=sqrt(norm_calving)+1.e-14; 306 307 for(i=0;i<dim;i++) m[i]=meltingrate*c[i]/norm_calving; 308 309 break; 310 276 311 default: 277 312 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); … … 349 384 xDelete<IssmDouble>(w); 350 385 xDelete<IssmDouble>(c); 351 xDelete<IssmDouble>(m);352 386 xDelete<IssmDouble>(dlsf); 353 387 delete gauss; -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r18946 r18953 1369 1369 this->StrainRateparallel(); 1370 1370 this->StrainRateperpendicular(); 1371 this->CalvingRateLevermann(); 1371 int calvinglaw; 1372 this->FindParam(&calvinglaw,CalvingLawEnum); 1373 switch(calvinglaw){ 1374 case CalvingLevermannEnum: 1375 this->CalvingRateLevermann(); 1376 break; 1377 case CalvingPiEnum: 1378 this->CalvingRatePi(); 1379 break; 1380 default: 1381 _error_("Calving law "<<EnumToStringx(calvinglaw)<<" not supported yet"); 1382 } 1372 1383 input=this->inputs->GetInput(output_enum); 1373 1384 break; -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r18913 r18953 170 170 virtual void AverageOntoPartition(Vector<IssmDouble>* partition_contributions,Vector<IssmDouble>* partition_areas,IssmDouble* vertex_response,IssmDouble* qmu_part)=0; 171 171 virtual void CalvingRateLevermann(void)=0; 172 virtual void CalvingRatePi(void)=0; 172 173 virtual IssmDouble CharacteristicLength(void)=0; 173 174 virtual void ComputeBasalStress(Vector<IssmDouble>* sigma_b)=0; -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r18951 r18953 201 201 calvingrate[iv]=0; 202 202 } 203 calvingratex[iv]=calvingrate[iv]*vx/(vel+1.e-6); 204 calvingratey[iv]=calvingrate[iv]*vy/(vel+1.e-6); 203 calvingratex[iv]=calvingrate[iv]*vx/(sqrt(vel)+1.e-14); 204 calvingratey[iv]=calvingrate[iv]*vy/(sqrt(vel)+1.e-14); 205 } 206 207 /*Add input*/ 208 this->inputs->AddInput(new PentaInput(CalvingratexEnum,&calvingratex[0],P1Enum)); 209 this->inputs->AddInput(new PentaInput(CalvingrateyEnum,&calvingratey[0],P1Enum)); 210 this->inputs->AddInput(new PentaInput(CalvingCalvingrateEnum,&calvingrate[0],P1Enum)); 211 212 /*Clean up and return*/ 213 delete gauss; 214 215 } 216 /*}}}*/ 217 void Penta::CalvingRatePi(){/*{{{*/ 218 219 IssmDouble xyz_list[NUMVERTICES][3]; 220 GaussPenta* gauss=NULL; 221 IssmDouble vx,vy,vel; 222 IssmDouble strainparallel; 223 IssmDouble sxx; 224 IssmDouble sxy; 225 IssmDouble syy; 226 IssmDouble sigVM; 227 IssmDouble thickness; 228 IssmDouble base; 229 IssmDouble hAB; 230 IssmDouble propcoeff; 231 IssmDouble calvingratex[NUMVERTICES]; 232 IssmDouble calvingratey[NUMVERTICES]; 233 IssmDouble calvingrate[NUMVERTICES]; 234 235 236 /* Get node coordinates and dof list: */ 237 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 238 239 /*Retrieve all inputs and parameters we will need*/ 240 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 241 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 242 Input* strainparallel_input=inputs->GetInput(StrainRateparallelEnum); _assert_(strainparallel_input); 243 Input* sxx_input=inputs->GetInput(DeviatoricStressxxEnum); _assert_(sxx_input); 244 Input* sxy_input=inputs->GetInput(DeviatoricStressxyEnum); _assert_(sxy_input); 245 Input* syy_input=inputs->GetInput(DeviatoricStressyyEnum); _assert_(syy_input); 246 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 247 Input* base_input=inputs->GetInput(BaseEnum); _assert_(base_input); 248 Input* picoeff_input=inputs->GetInput(CalvingpiCoeffEnum); _assert_(picoeff_input); 249 250 /* Start looping on the number of vertices: */ 251 gauss=new GaussPenta(); 252 for (int iv=0;iv<NUMVERTICES;iv++){ 253 gauss->GaussVertex(iv); 254 255 /* Get the value we need*/ 256 vx_input->GetInputValue(&vx,gauss); 257 vy_input->GetInputValue(&vy,gauss); 258 vel=vx*vx+vy*vy; 259 strainparallel_input->GetInputValue(&strainparallel,gauss); 260 sxx_input->GetInputValue(&sxx,gauss); 261 sxy_input->GetInputValue(&sxy,gauss); 262 syy_input->GetInputValue(&syy,gauss); 263 thickness_input->GetInputValue(&thickness,gauss); 264 base_input->GetInputValue(&base,gauss); 265 picoeff_input->GetInputValue(&propcoeff,gauss); 266 267 /* Computing sigma Von Mises*/ 268 sigVM=sqrt(sxx*sxx+syy*syy+3*sxy*sxy-sxx*syy); 269 270 /* Computing heigth above buoyancy*/ 271 hAB=thickness+1028/920*base; 272 273 /*Calving rate for Pi criterion proportionnal to the product of the strain rate along the ice flow direction and the Von Mises stress and the square of the glacier width (hardcoded) divided by the height above buoyancy and the max of the ice velocity power 3 and the ice density (ignored here)*/ 274 calvingrate[iv]=propcoeff*strainparallel*sigVM*25.e6/hAB/1e9; 275 if(calvingrate[iv]<0){ 276 calvingrate[iv]=0; 277 } 278 calvingratex[iv]=calvingrate[iv]*vx/(sqrt(vel)+1.e-6); 279 calvingratey[iv]=calvingrate[iv]*vy/(sqrt(vel)+1.e-6); 205 280 } 206 281 … … 2433 2508 2434 2509 /*strainparallel= Strain rate along the ice flow direction */ 2435 strainparallel[iv]=(vx*vx*(strainxx)+vy*vy*(strainyy)+2*vy*vx*strainxy)/(vel+1.e- 6);2510 strainparallel[iv]=(vx*vx*(strainxx)+vy*vy*(strainyy)+2*vy*vx*strainxy)/(vel+1.e-14); 2436 2511 } 2437 2512 … … 2480 2555 2481 2556 /*strainperpendicular= Strain rate perpendicular to the ice flow direction */ 2482 strainperpendicular[iv]=(vx*vx*(strainyy)+vy*vy*(strainxx)-2*vy*vx*strainxy)/(vel+1.e- 6);2557 strainperpendicular[iv]=(vx*vx*(strainyy)+vy*vy*(strainxx)-2*vy*vx*strainxy)/(vel+1.e-14); 2483 2558 } 2484 2559 -
issm/trunk-jpl/src/c/classes/Elements/Penta.h
r18922 r18953 49 49 IssmDouble CharacteristicLength(void){_error_("not implemented yet");}; 50 50 void CalvingRateLevermann(); 51 void CalvingRatePi(); 51 52 void ComputeBasalStress(Vector<IssmDouble>* sigma_b); 52 53 void ComputeDeviatoricStressTensor(); -
issm/trunk-jpl/src/c/classes/Elements/Seg.h
r18924 r18953 49 49 void ComputeSigmaNN(){_error_("not implemented yet");}; 50 50 void ComputeStressTensor(){_error_("not implemented yet");}; 51 void CalvingRatePi(void){_error_("not implemented yet");}; 51 52 void Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters){_error_("not implemented yet");}; 52 53 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Tetra.h
r18923 r18953 49 49 void ComputeStressTensor(){_error_("not implemented yet");}; 50 50 void ComputeDeviatoricStressTensor(){_error_("not implemented yet");}; 51 void CalvingRatePi(void){_error_("not implemented yet");}; 51 52 void Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters); 52 53 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index){_error_("not implemented yet");}; -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r18951 r18953 234 234 calvingrate[iv]=0; 235 235 } 236 calvingratex[iv]=calvingrate[iv]*vx/(vel+1.e-6); 237 calvingratey[iv]=calvingrate[iv]*vy/(vel+1.e-6); 236 calvingratex[iv]=calvingrate[iv]*vx/(sqrt(vel)+1.e-14); 237 calvingratey[iv]=calvingrate[iv]*vy/(sqrt(vel)+1.e-14); 238 } 239 240 /*Add input*/ 241 this->inputs->AddInput(new TriaInput(CalvingratexEnum,&calvingratex[0],P1Enum)); 242 this->inputs->AddInput(new TriaInput(CalvingrateyEnum,&calvingratey[0],P1Enum)); 243 this->inputs->AddInput(new TriaInput(CalvingCalvingrateEnum,&calvingrate[0],P1Enum)); 244 245 /*Clean up and return*/ 246 delete gauss; 247 248 } 249 /*}}}*/ 250 void Tria::CalvingRatePi(){/*{{{*/ 251 252 IssmDouble xyz_list[NUMVERTICES][3]; 253 GaussTria* gauss=NULL; 254 IssmDouble vx,vy,vel; 255 IssmDouble strainparallel; 256 IssmDouble sxx; 257 IssmDouble sxy; 258 IssmDouble syy; 259 IssmDouble sigVM; 260 IssmDouble thickness; 261 IssmDouble base; 262 IssmDouble hAB; 263 IssmDouble propcoeff; 264 IssmDouble calvingratex[NUMVERTICES]; 265 IssmDouble calvingratey[NUMVERTICES]; 266 IssmDouble calvingrate[NUMVERTICES]; 267 268 269 /* Get node coordinates and dof list: */ 270 ::GetVerticesCoordinates(&xyz_list[0][0],vertices,NUMVERTICES); 271 272 /*Retrieve all inputs and parameters we will need*/ 273 Input* vx_input=inputs->GetInput(VxEnum); _assert_(vx_input); 274 Input* vy_input=inputs->GetInput(VyEnum); _assert_(vy_input); 275 Input* strainparallel_input=inputs->GetInput(StrainRateparallelEnum); _assert_(strainparallel_input); 276 Input* sxx_input=inputs->GetInput(DeviatoricStressxxEnum); _assert_(sxx_input); 277 Input* sxy_input=inputs->GetInput(DeviatoricStressxyEnum); _assert_(sxy_input); 278 Input* syy_input=inputs->GetInput(DeviatoricStressyyEnum); _assert_(syy_input); 279 Input* thickness_input=inputs->GetInput(ThicknessEnum); _assert_(thickness_input); 280 Input* base_input=inputs->GetInput(BaseEnum); _assert_(base_input); 281 Input* picoeff_input=inputs->GetInput(CalvingpiCoeffEnum); _assert_(picoeff_input); 282 283 284 285 /* Start looping on the number of vertices: */ 286 gauss=new GaussTria(); 287 for (int iv=0;iv<NUMVERTICES;iv++){ 288 gauss->GaussVertex(iv); 289 290 /* Get the value we need*/ 291 vx_input->GetInputValue(&vx,gauss); 292 vy_input->GetInputValue(&vy,gauss); 293 vel=vx*vx+vy*vy; 294 strainparallel_input->GetInputValue(&strainparallel,gauss); 295 sxx_input->GetInputValue(&sxx,gauss); 296 sxy_input->GetInputValue(&sxy,gauss); 297 syy_input->GetInputValue(&syy,gauss); 298 thickness_input->GetInputValue(&thickness,gauss); 299 base_input->GetInputValue(&base,gauss); 300 picoeff_input->GetInputValue(&propcoeff,gauss); 301 302 /* Computing sigma Von Mises*/ 303 sigVM=sqrt(sxx*sxx+syy*syy+3*sxy*sxy-sxx*syy); 304 305 /* Computing heigth above buoyancy*/ 306 hAB=thickness+1028/920*base; 307 308 /*Calving rate for Pi criterion proportionnal to the product of the strain rate along the ice flow direction and the Von Mises stress and the square of the glacier width (hardcoded) divided by the height above buoyancy and the max of the ice velocity power 3 and the ice density (ignored here)*/ 309 310 calvingrate[iv]=propcoeff*strainparallel*sigVM*25.e6/hAB/1e9; 311 if(calvingrate[iv]<0){ 312 calvingrate[iv]=0; 313 } 314 calvingratex[iv]=calvingrate[iv]*vx/(sqrt(vel)+1.e-14); 315 calvingratey[iv]=calvingrate[iv]*vy/(sqrt(vel)+1.e-14); 238 316 } 239 317 … … 2584 2662 2585 2663 /*strainparallel= Strain rate along the ice flow direction */ 2586 strainparallel[iv]=(vx*vx*(strainxx)+vy*vy*(strainyy)+2*vy*vx*strainxy)/(vel+1.e- 6);2664 strainparallel[iv]=(vx*vx*(strainxx)+vy*vy*(strainyy)+2*vy*vx*strainxy)/(vel+1.e-14); 2587 2665 } 2588 2666 … … 2630 2708 2631 2709 /*strainperpendicular= Strain rate perpendicular to the ice flow direction */ 2632 strainperpendicular[iv]=(vx*vx*(strainyy)+vy*vy*(strainxx)-2*vy*vx*strainxy)/(vel+1.e- 6);2710 strainperpendicular[iv]=(vx*vx*(strainyy)+vy*vy*(strainxx)-2*vy*vx*strainxy)/(vel+1.e-14); 2633 2711 } 2634 2712 -
issm/trunk-jpl/src/c/classes/Elements/Tria.h
r18911 r18953 58 58 void ComputeStressTensor(); 59 59 void ComputeSurfaceNormalVelocity(); 60 void CalvingRatePi(); 60 61 void Configure(Elements* elements,Loads* loads,Nodes* nodesin,Vertices* verticesin,Materials* materials,Parameters* parameters); 61 62 void ControlInputSetGradient(IssmDouble* gradient,int enum_type,int control_index); -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r18938 r18953 1735 1735 } 1736 1736 /*}}}*/ 1737 void FemModel::CalvingRatePix(){/*{{{*/ 1738 1739 for(int i=0;i<elements->Size();i++){ 1740 Element* element=dynamic_cast<Element*>(this->elements->GetObjectByOffset(i)); 1741 element->CalvingRatePi(); 1742 } 1743 } 1744 /*}}}*/ 1737 1745 void FemModel::StrainRateparallelx(){/*{{{*/ 1738 1746 -
issm/trunk-jpl/src/c/classes/FemModel.h
r18872 r18953 86 86 void StrainRateperpendicularx(); 87 87 void CalvingRateLevermannx(); 88 void CalvingRatePix(); 88 89 #ifdef _HAVE_DAKOTA_ 89 90 void DakotaResponsesx(double* d_responses,char** responses_descriptors,int numresponsedescriptors,int d_numresponses); -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r18850 r18953 109 109 femmodel->CalvingRateLevermannx(); 110 110 } 111 if(iscalving && calvinglaw==CalvingPiEnum){ 112 if(VerboseSolution()) _printf0_(" computing calving rate\n"); 113 femmodel->StrainRateparallelx(); 114 femmodel->CalvingRatePix(); 115 } 111 116 if(VerboseSolution()) _printf0_(" computing movement of ice boundaries\n"); 112 117 /* smoothen slope of lsf for computation of normal on ice domain*/ -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r18950 r18953 215 215 CalvingMeltingrateEnum, 216 216 CalvingLevermannEnum, 217 CalvingPiEnum, 217 218 DefaultCalvingEnum, 218 219 CalvingRequestedOutputsEnum, 219 220 CalvinglevermannCoeffEnum, 220 221 CalvinglevermannMeltingrateEnum, 222 CalvingpiCoeffEnum, 223 CalvingpiMeltingrateEnum, 221 224 CalvingratexEnum, 222 225 CalvingrateyEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r18950 r18953 223 223 case CalvingMeltingrateEnum : return "CalvingMeltingrate"; 224 224 case CalvingLevermannEnum : return "CalvingLevermann"; 225 case CalvingPiEnum : return "CalvingPi"; 225 226 case DefaultCalvingEnum : return "DefaultCalving"; 226 227 case CalvingRequestedOutputsEnum : return "CalvingRequestedOutputs"; 227 228 case CalvinglevermannCoeffEnum : return "CalvinglevermannCoeff"; 228 229 case CalvinglevermannMeltingrateEnum : return "CalvinglevermannMeltingrate"; 230 case CalvingpiCoeffEnum : return "CalvingpiCoeff"; 231 case CalvingpiMeltingrateEnum : return "CalvingpiMeltingrate"; 229 232 case CalvingratexEnum : return "Calvingratex"; 230 233 case CalvingrateyEnum : return "Calvingratey"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r18950 r18953 226 226 else if (strcmp(name,"CalvingMeltingrate")==0) return CalvingMeltingrateEnum; 227 227 else if (strcmp(name,"CalvingLevermann")==0) return CalvingLevermannEnum; 228 else if (strcmp(name,"CalvingPi")==0) return CalvingPiEnum; 228 229 else if (strcmp(name,"DefaultCalving")==0) return DefaultCalvingEnum; 229 230 else if (strcmp(name,"CalvingRequestedOutputs")==0) return CalvingRequestedOutputsEnum; 230 231 else if (strcmp(name,"CalvinglevermannCoeff")==0) return CalvinglevermannCoeffEnum; 231 232 else if (strcmp(name,"CalvinglevermannMeltingrate")==0) return CalvinglevermannMeltingrateEnum; 233 else if (strcmp(name,"CalvingpiCoeff")==0) return CalvingpiCoeffEnum; 234 else if (strcmp(name,"CalvingpiMeltingrate")==0) return CalvingpiMeltingrateEnum; 232 235 else if (strcmp(name,"Calvingratex")==0) return CalvingratexEnum; 233 236 else if (strcmp(name,"Calvingratey")==0) return CalvingrateyEnum; … … 257 260 else if (strcmp(name,"MeshNumberofvertices")==0) return MeshNumberofverticesEnum; 258 261 else if (strcmp(name,"MeshUpperelements")==0) return MeshUpperelementsEnum; 259 else if (strcmp(name,"MeshVertexonbase")==0) return MeshVertexonbaseEnum;260 else if (strcmp(name,"MeshVertexonsurface")==0) return MeshVertexonsurfaceEnum;261 else if (strcmp(name,"MeshVertexonboundary")==0) return MeshVertexonboundaryEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"MeshX")==0) return MeshXEnum; 265 if (strcmp(name,"MeshVertexonbase")==0) return MeshVertexonbaseEnum; 266 else if (strcmp(name,"MeshVertexonsurface")==0) return MeshVertexonsurfaceEnum; 267 else if (strcmp(name,"MeshVertexonboundary")==0) return MeshVertexonboundaryEnum; 268 else if (strcmp(name,"MeshX")==0) return MeshXEnum; 266 269 else if (strcmp(name,"MeshY")==0) return MeshYEnum; 267 270 else if (strcmp(name,"MeshZ")==0) return MeshZEnum; … … 380 383 else if (strcmp(name,"SurfaceforcingsMelt")==0) return SurfaceforcingsMeltEnum; 381 384 else if (strcmp(name,"SurfaceforcingsRefreeze")==0) return SurfaceforcingsRefreezeEnum; 382 else if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum;383 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum;384 else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum; 388 if (strcmp(name,"SurfaceforcingsIspdd")==0) return SurfaceforcingsIspddEnum; 389 else if (strcmp(name,"SurfaceforcingsIssmbgradients")==0) return SurfaceforcingsIssmbgradientsEnum; 390 else if (strcmp(name,"SolutionType")==0) return SolutionTypeEnum; 391 else if (strcmp(name,"AnalysisType")==0) return AnalysisTypeEnum; 389 392 else if (strcmp(name,"ConfigurationType")==0) return ConfigurationTypeEnum; 390 393 else if (strcmp(name,"AdjointBalancethicknessAnalysis")==0) return AdjointBalancethicknessAnalysisEnum; … … 503 506 else if (strcmp(name,"MassconName")==0) return MassconNameEnum; 504 507 else if (strcmp(name,"MassconDefinitionenum")==0) return MassconDefinitionenumEnum; 505 else if (strcmp(name,"MassconLevelset")==0) return MassconLevelsetEnum;506 else if (strcmp(name,"Massconaxpby")==0) return MassconaxpbyEnum;507 else if (strcmp(name,"MassconaxpbyName")==0) return MassconaxpbyNameEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"MassconaxpbyDefinitionenum")==0) return MassconaxpbyDefinitionenumEnum; 511 if (strcmp(name,"MassconLevelset")==0) return MassconLevelsetEnum; 512 else if (strcmp(name,"Massconaxpby")==0) return MassconaxpbyEnum; 513 else if (strcmp(name,"MassconaxpbyName")==0) return MassconaxpbyNameEnum; 514 else if (strcmp(name,"MassconaxpbyDefinitionenum")==0) return MassconaxpbyDefinitionenumEnum; 512 515 else if (strcmp(name,"MassconaxpbyNamex")==0) return MassconaxpbyNamexEnum; 513 516 else if (strcmp(name,"MassconaxpbyNamey")==0) return MassconaxpbyNameyEnum; … … 626 629 else if (strcmp(name,"DeviatoricStressyz")==0) return DeviatoricStressyzEnum; 627 630 else if (strcmp(name,"DeviatoricStresszz")==0) return DeviatoricStresszzEnum; 628 else if (strcmp(name,"StrainRate")==0) return StrainRateEnum;629 else if (strcmp(name,"StrainRatexx")==0) return StrainRatexxEnum;630 else if (strcmp(name,"StrainRatexy")==0) return StrainRatexyEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"StrainRatexz")==0) return StrainRatexzEnum; 634 if (strcmp(name,"StrainRate")==0) return StrainRateEnum; 635 else if (strcmp(name,"StrainRatexx")==0) return StrainRatexxEnum; 636 else if (strcmp(name,"StrainRatexy")==0) return StrainRatexyEnum; 637 else if (strcmp(name,"StrainRatexz")==0) return StrainRatexzEnum; 635 638 else if (strcmp(name,"StrainRateyy")==0) return StrainRateyyEnum; 636 639 else if (strcmp(name,"StrainRateyz")==0) return StrainRateyzEnum; … … 749 752 else if (strcmp(name,"Index")==0) return IndexEnum; 750 753 else if (strcmp(name,"Indexed")==0) return IndexedEnum; 751 else if (strcmp(name,"Intersect")==0) return IntersectEnum;752 else if (strcmp(name,"Nodal")==0) return NodalEnum;753 else if (strcmp(name,"OldGradient")==0) return OldGradientEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 757 if (strcmp(name,"Intersect")==0) return IntersectEnum; 758 else if (strcmp(name,"Nodal")==0) return NodalEnum; 759 else if (strcmp(name,"OldGradient")==0) return OldGradientEnum; 760 else if (strcmp(name,"OutputFilePointer")==0) return OutputFilePointerEnum; 758 761 else if (strcmp(name,"ToolkitsFileName")==0) return ToolkitsFileNameEnum; 759 762 else if (strcmp(name,"RootPath")==0) return RootPathEnum; -
issm/trunk-jpl/src/m/classes/model.m
r18798 r18953 836 836 if isa(md.calving,'calving'),md.calving.calvingrate=project3d(md,'vector',md.calving.calvingrate,'type','node');end; 837 837 if isa(md.calving,'calvinglevermann'),md.calving.coeff=project3d(md,'vector',md.calving.coeff,'type','node');end; 838 if isa(md.calving,'calvingpi'),md.calving.coeff=project3d(md,'vector',md.calving.coeff,'type','node');end; 838 839 839 840 % Hydrologydc variables -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r18950 r18953 215 215 def CalvingMeltingrateEnum(): return StringToEnum("CalvingMeltingrate")[0] 216 216 def CalvingLevermannEnum(): return StringToEnum("CalvingLevermann")[0] 217 def CalvingPiEnum(): return StringToEnum("CalvingPi")[0] 217 218 def DefaultCalvingEnum(): return StringToEnum("DefaultCalving")[0] 218 219 def CalvingRequestedOutputsEnum(): return StringToEnum("CalvingRequestedOutputs")[0] 219 220 def CalvinglevermannCoeffEnum(): return StringToEnum("CalvinglevermannCoeff")[0] 220 221 def CalvinglevermannMeltingrateEnum(): return StringToEnum("CalvinglevermannMeltingrate")[0] 222 def CalvingpiCoeffEnum(): return StringToEnum("CalvingpiCoeff")[0] 223 def CalvingpiMeltingrateEnum(): return StringToEnum("CalvingpiMeltingrate")[0] 221 224 def CalvingratexEnum(): return StringToEnum("Calvingratex")[0] 222 225 def CalvingrateyEnum(): return StringToEnum("Calvingratey")[0]
Note:
See TracChangeset
for help on using the changeset viewer.