Changeset 22856
- Timestamp:
- 06/21/18 05:59:32 (7 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp ¶
r22637 r22856 61 61 iomodel->FetchDataToInput(elements,"md.geometry.base",BaseEnum); 62 62 iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); 63 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHead Enum);64 iomodel->FetchDataToInput(elements,"md.initialization.sediment_head",SedimentHead Enum);65 iomodel->FetchDataToInput(elements,"md.initialization.epl_thickness",HydrologydcEplThickness Enum);63 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHeadHydrostepEnum); 64 iomodel->FetchDataToInput(elements,"md.initialization.sediment_head",SedimentHeadHydrostepEnum); 65 iomodel->FetchDataToInput(elements,"md.initialization.epl_thickness",HydrologydcEplThicknessHydrostepEnum); 66 66 iomodel->FetchDataToInput(elements,"md.hydrology.basal_moulin_input",HydrologydcBasalMoulinInputEnum); 67 67 if(iomodel->domaintype!=Domain2DhorizontalEnum){ … … 134 134 if(iomodel->my_vertices[i]){ 135 135 loads->AddObject(new Moulin(iomodel->loadcounter+i+1,i,iomodel,HydrologyDCEfficientAnalysisEnum)); 136 } 136 } 137 137 } 138 138 } … … 199 199 if(!active_element) { 200 200 if(domaintype!=Domain2DhorizontalEnum){ 201 basalelement->DeleteMaterials(); 201 basalelement->DeleteMaterials(); 202 202 delete basalelement; 203 203 } … … 226 226 basalelement ->FindParam(&dt,HydrologydtEnum); 227 227 228 Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThickness Enum); _assert_(epl_thick_input);229 Input* epl_head_input = basalelement->GetInput(EplHead Enum); _assert_(epl_head_input);228 Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThicknessHydrostepEnum); _assert_(epl_thick_input); 229 Input* epl_head_input = basalelement->GetInput(EplHeadHydrostepEnum); _assert_(epl_head_input); 230 230 Input* base_input = basalelement->GetInput(BaseEnum); _assert_(base_input); 231 231 … … 235 235 gauss ->GaussPoint(ig); 236 236 basalelement ->JacobianDeterminant(&Jdet,xyz_list,gauss); 237 237 238 238 epl_transmitivity = EplTransmitivity(basalelement,gauss,epl_thick_input,epl_head_input,base_input); 239 239 epl_storing = EplStoring(basalelement,gauss,epl_thick_input,epl_head_input,base_input); … … 245 245 D[0][0]=D_scalar; 246 246 D[1][1]=D_scalar; 247 GetB(B,basalelement,xyz_list,gauss); 247 GetB(B,basalelement,xyz_list,gauss); 248 248 TripleMultiply(B,2,numnodes,1, 249 249 &D[0][0],2,2,0, … … 260 260 basis,1,numnodes,0, 261 261 &Ke->values[0],1); 262 263 262 263 264 264 /*Transfer EPL part*/ 265 265 transfer=GetHydrologyKMatrixTransfer(basalelement); … … 308 308 if(!active_element) { 309 309 if(domaintype!=Domain2DhorizontalEnum){ 310 basalelement->DeleteMaterials(); 310 basalelement->DeleteMaterials(); 311 311 delete basalelement; 312 312 } … … 333 333 /*Retrieve all inputs and parameters*/ 334 334 basalelement->GetVerticesCoordinates(&xyz_list); 335 //basalelement->FindParam(&dt,TimesteppingTimeStepEnum); 335 //basalelement->FindParam(&dt,TimesteppingTimeStepEnum); 336 336 basalelement ->FindParam(&dt,HydrologydtEnum); 337 337 338 Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThickness Enum); _assert_(epl_thick_input);339 Input* sed_head_input = basalelement->GetInput(SedimentHead Enum); _assert_(sed_head_input);340 Input* epl_head_input = basalelement->GetInput(EplHead Enum); _assert_(epl_head_input);338 Input* epl_thick_input = basalelement->GetInput(HydrologydcEplThicknessHydrostepEnum); _assert_(epl_thick_input); 339 Input* sed_head_input = basalelement->GetInput(SedimentHeadHydrostepEnum); _assert_(sed_head_input); 340 Input* epl_head_input = basalelement->GetInput(EplHeadHydrostepEnum); _assert_(epl_head_input); 341 341 Input* water_input = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input); 342 342 Input* residual_input = basalelement->GetInput(SedimentHeadResidualEnum); _assert_(residual_input); … … 361 361 if(dt!=0.) scalar = scalar*dt; 362 362 for(int i=0;i<numnodes;i++)pe->values[i]+=scalar*basis[i]; 363 363 364 364 /*Transient and transfer terms*/ 365 365 if(dt!=0.){ … … 393 393 394 394 void HydrologyDCEfficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/ 395 element->GetSolutionFromInputsOneDof(solution,EplHead Enum);395 element->GetSolutionFromInputsOneDof(solution,EplHeadHydrostepEnum); 396 396 }/*}}}*/ 397 397 … … 446 446 //tradeof between keeping initial condition and not getting to far from head at deactivation 447 447 basalelement->GetInputListOnVertices(&basevalue[0],BaseEnum); 448 basalelement->GetInputListOnVertices(&initvalue[0],EplHead Enum);448 basalelement->GetInputListOnVertices(&initvalue[0],EplHeadHydrostepEnum); 449 449 for(int i=0;i<numnodes;i++){ 450 450 eplHeads[i]=max(basevalue[i],initvalue[i]); … … 454 454 } 455 455 /*Add input to the element: */ 456 element->AddBasalInput(EplHead Enum,eplHeads,P1Enum);456 element->AddBasalInput(EplHeadHydrostepEnum,eplHeads,P1Enum); 457 457 /*Free ressources:*/ 458 458 xDelete<IssmDouble>(eplHeads); … … 525 525 IssmDouble EPLgrad2; 526 526 IssmDouble EPL_N; 527 527 528 528 femmodel->parameters->FindParam(&domaintype,DomainTypeEnum); 529 529 femmodel->parameters->FindParam(&iseplthickcomp,HydrologydcEplThickCompEnum); … … 531 531 532 532 for(int j=0;j<femmodel->elements->Size();j++){ 533 533 534 534 Element* element=(Element*)femmodel->elements->GetObjectByOffset(j); 535 535 536 536 /*skip element if 3d and not on base*/ 537 537 if(domaintype==Domain3DEnum && !element->IsOnBase()) continue; 538 538 539 539 int numnodes = element->GetNumberOfNodes(); 540 540 IssmDouble* thickness = xNew<IssmDouble>(numnodes); … … 547 547 IssmDouble* bed = xNew<IssmDouble>(numnodes); 548 548 549 Input* active_element_input=element->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input); 549 Input* active_element_input=element->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input); 550 550 active_element_input->GetInputValue(&active_element); 551 551 //element->FindParam(&dt,TimesteppingTimeStepEnum); 552 552 element ->FindParam(&dt,HydrologydtEnum); 553 553 554 554 /*For now, assuming just one way to compute EPL thickness*/ 555 555 IssmDouble gravity = element->GetMaterialParameter(ConstantsGEnum); … … 567 567 default: _error_("not Implemented Yet"); 568 568 } 569 570 element->GetInputListOnVertices(&eplhead[0],EplHead Enum);571 element->GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); 569 570 element->GetInputListOnVertices(&eplhead[0],EplHeadHydrostepEnum); 571 element->GetInputListOnVertices(&epl_slopeX[0],EplHeadSlopeXEnum); 572 572 element->GetInputListOnVertices(&epl_slopeY[0],EplHeadSlopeYEnum); 573 573 element->GetInputListOnVertices(&old_thickness[0],HydrologydcEplThicknessOldEnum); … … 599 599 } 600 600 } 601 element->AddInput(HydrologydcEplThickness Enum,thickness,element->GetElementType());601 element->AddInput(HydrologydcEplThicknessHydrostepEnum,thickness,element->GetElementType()); 602 602 xDelete<IssmDouble>(thickness); 603 603 xDelete<IssmDouble>(eplhead); … … 612 612 613 613 void HydrologyDCEfficientAnalysis::GetB(IssmDouble* B,Element* element,IssmDouble* xyz_list,Gauss* gauss){/*{{{*/ 614 /*Compute B matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 614 /*Compute B matrix. B=[B1 B2 B3] where Bi is of size 3*NDOF2. 615 615 * For node i, Bi can be expressed in the actual coordinate system 616 * by: 616 * by: 617 617 * Bi=[ dN/dx ] 618 618 * [ dN/dy ] … … 667 667 IssmDouble* residual =xNew<IssmDouble>(numnodes); 668 668 IssmDouble* base =xNew<IssmDouble>(numnodes); 669 669 670 670 IssmDouble init_thick =basalelement->GetMaterialParameter(HydrologydcEplInitialThicknessEnum); 671 671 IssmDouble colapse_thick =basalelement->GetMaterialParameter(HydrologydcEplColapseThicknessEnum); … … 674 674 active_element_input->GetInputValue(&active_element); 675 675 676 basalelement-> GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveNodeEnum); 677 basalelement-> GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThickness Enum);678 basalelement-> GetInputListOnVertices(&sedhead[0],SedimentHead Enum);679 basalelement-> GetInputListOnVertices(&eplhead[0],EplHead Enum);676 basalelement-> GetInputListOnVertices(&old_active[0],HydrologydcMaskEplactiveNodeEnum); 677 basalelement-> GetInputListOnVertices(&epl_thickness[0],HydrologydcEplThicknessHydrostepEnum); 678 basalelement-> GetInputListOnVertices(&sedhead[0],SedimentHeadHydrostepEnum); 679 basalelement-> GetInputListOnVertices(&eplhead[0],EplHeadHydrostepEnum); 680 680 basalelement-> GetInputListOnVertices(&residual[0],SedimentHeadResidualEnum); 681 681 basalelement-> GetInputListOnVertices(&base[0],BaseEnum); … … 724 724 } 725 725 } 726 basalelement->AddInput(HydrologydcEplThickness Enum,epl_thickness,basalelement->GetElementType());726 basalelement->AddInput(HydrologydcEplThicknessHydrostepEnum,epl_thickness,basalelement->GetElementType()); 727 727 728 728 if(domaintype!=Domain2DhorizontalEnum){ 729 basalelement->DeleteMaterials(); 729 basalelement->DeleteMaterials(); 730 730 delete basalelement; 731 731 } … … 802 802 default: _error_("mesh "<<EnumToStringx(domaintype)<<" not supported yet"); 803 803 } 804 804 805 805 const int numnodes = basalelement->GetNumberOfNodes(); 806 806 IssmDouble flag = 0.; … … 810 810 /*Pass the activity mask from elements to nodes*/ 811 811 basalelement->GetInputListOnVertices(&active[0],HydrologydcMaskEplactiveNodeEnum); 812 Input* active_element_input=basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input); 812 Input* active_element_input=basalelement->GetInput(HydrologydcMaskEplactiveEltEnum); _assert_(active_element_input); 813 813 active_element_input->GetInputValue(&active_element); 814 814 815 815 for(int i=0;i<numnodes;i++) flag+=active[i]; 816 816 … … 825 825 for(int i=0;i<numnodes;i++){ 826 826 active_vec->SetValue(basalelement->nodes[i]->Sid(),1.,INS_VAL); 827 } 827 } 828 828 } 829 829 else{ … … 836 836 837 837 void HydrologyDCEfficientAnalysis::GetHydrologyDCInefficientHmax(IssmDouble* ph_max,Element* element, Node* innode){/*{{{*/ 838 838 839 839 int hmax_flag; 840 840 IssmDouble h_max; … … 843 843 /*Get the flag to the limitation method*/ 844 844 element->FindParam(&hmax_flag,HydrologydcSedimentlimitFlagEnum); 845 845 846 846 /*Switch between the different cases*/ 847 847 switch(hmax_flag){ -
TabularUnified issm/trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp ¶
r22845 r22856 98 98 iomodel->FetchDataToInput(elements,"md.basalforcings.groundedice_melting_rate",BasalforcingsGroundediceMeltingRateEnum); 99 99 iomodel->FetchDataToInput(elements,"md.hydrology.basal_moulin_input",HydrologydcBasalMoulinInputEnum); 100 iomodel->FetchDataToInput(elements,"md.initialization.sediment_head",SedimentHead Enum);100 iomodel->FetchDataToInput(elements,"md.initialization.sediment_head",SedimentHeadHydrostepEnum); 101 101 iomodel->FetchDataToInput(elements,"md.hydrology.sediment_transmitivity",HydrologydcSedimentTransmitivityEnum); 102 102 if(iomodel->domaintype!=Domain2DhorizontalEnum){ … … 107 107 if(isefficientlayer){ 108 108 iomodel->FetchDataToInput(elements,"md.hydrology.mask_eplactive_node",HydrologydcMaskEplactiveNodeEnum); 109 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHead Enum);109 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHeadHydrostepEnum); 110 110 } 111 111 }/*}}}*/ … … 225 225 basalelement ->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum); 226 226 Input* SedTrans_input = basalelement->GetInput(HydrologydcSedimentTransmitivityEnum); _assert_(SedTrans_input); 227 Input* sed_head_input = basalelement->GetInput(SedimentHead Enum);227 Input* sed_head_input = basalelement->GetInput(SedimentHeadHydrostepEnum); 228 228 Input* base_input = basalelement->GetInput(BaseEnum); 229 229 Input* old_wh_input = basalelement->GetInput(SedimentHeadOldEnum); _assert_(old_wh_input); … … 337 337 basalelement->FindParam(&isefficientlayer,HydrologydcIsefficientlayerEnum); 338 338 339 Input* sed_head_input = basalelement->GetInput(SedimentHead Enum);340 Input* epl_head_input = basalelement->GetInput(EplHead Enum);339 Input* sed_head_input = basalelement->GetInput(SedimentHeadHydrostepEnum); 340 Input* epl_head_input = basalelement->GetInput(EplHeadHydrostepEnum); 341 341 Input* base_input = basalelement->GetInput(BaseEnum); 342 342 Input* water_input = basalelement->GetInput(BasalforcingsGroundediceMeltingRateEnum); _assert_(water_input); … … 447 447 448 448 void HydrologyDCInefficientAnalysis::GetSolutionFromInputs(Vector<IssmDouble>* solution,Element* element){/*{{{*/ 449 element->GetSolutionFromInputsOneDof(solution,SedimentHead Enum);449 element->GetSolutionFromInputsOneDof(solution,SedimentHeadHydrostepEnum); 450 450 }/*}}}*/ 451 451 … … 532 532 533 533 /*Add input to the element: */ 534 element->AddBasalInput(SedimentHead Enum,values,P1Enum);535 element->AddBasalInput(EffectivePressure Enum,pressure,P1Enum);534 element->AddBasalInput(SedimentHeadHydrostepEnum,values,P1Enum); 535 element->AddBasalInput(EffectivePressureHydrostepEnum,pressure,P1Enum); 536 536 element->AddBasalInput(SedimentHeadResidualEnum,residual,P1Enum); 537 537 -
TabularUnified issm/trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp ¶
r20690 r22856 60 60 } 61 61 62 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHead Enum);62 iomodel->FetchDataToInput(elements,"md.initialization.epl_head",EplHeadHydrostepEnum); 63 63 iomodel->FetchDataToInput(elements,"md.mask.ice_levelset",MaskIceLevelsetEnum); 64 64 if(iomodel->domaintype!=Domain2DhorizontalEnum){ … … 184 184 return NULL; 185 185 } 186 186 187 187 /*Intermediaries */ 188 188 int input_enum,index; … … 202 202 basalelement->FindParam(&input_enum,InputToL2ProjectEnum); 203 203 switch(input_enum){ 204 case EplHeadSlopeXEnum: input = basalelement->GetInput(EplHead Enum); index = 0; _assert_(input); break;205 case EplHeadSlopeYEnum: input = basalelement->GetInput(EplHead Enum); index = 1; _assert_(input); break;204 case EplHeadSlopeXEnum: input = basalelement->GetInput(EplHeadHydrostepEnum); index = 0; _assert_(input); break; 205 case EplHeadSlopeYEnum: input = basalelement->GetInput(EplHeadHydrostepEnum); index = 1; _assert_(input); break; 206 206 default: _error_("not implemented"); 207 207 } … … 254 254 return; 255 255 }/*}}}*/ 256 -
TabularUnified issm/trunk-jpl/src/c/classes/Elements/Element.cpp ¶
r22853 r22856 117 117 /*Add Stress tensor components into inputs*/ 118 118 this->AddInput(LambdaSEnum,lambdas,P1Enum); 119 119 120 120 /*Clean up and return*/ 121 121 delete gauss; … … 172 172 B_input=this->GetInput(MaterialsRheologyBEnum); _assert_(B_input); 173 173 } 174 174 175 175 /* Start looping on the number of nodes: */ 176 176 Gauss* gauss=this->NewGauss(); … … 196 196 197 197 /* Compute threshold strain rate from threshold stress */ 198 eps_0=pow(sigma_0/B,n); 198 eps_0=pow(sigma_0/B,n); 199 199 200 200 if(eps_eff>eps_0){ … … 262 262 if(dim==2){ 263 263 /* epsilon=[exx,eyy,exy];*/ 264 eps_xx[iv]=epsilon[0]; 264 eps_xx[iv]=epsilon[0]; 265 265 eps_yy[iv]=epsilon[1]; 266 266 eps_xy[iv]=epsilon[2]; … … 270 270 else{ 271 271 /*epsilon=[exx eyy ezz exy exz eyz]*/ 272 eps_xx[iv]=epsilon[0]; 272 eps_xx[iv]=epsilon[0]; 273 273 eps_yy[iv]=epsilon[1]; 274 274 eps_zz[iv]=epsilon[2]; 275 eps_xy[iv]=epsilon[3]; 275 eps_xy[iv]=epsilon[3]; 276 276 eps_xz[iv]=epsilon[4]; 277 277 eps_yz[iv]=epsilon[5]; … … 659 659 xDelete<IssmDouble>(PrecipitationsReconstructed); 660 660 xDelete<IssmDouble>(tmp); 661 661 662 662 } 663 663 /*}}}*/ … … 856 856 int numnodes = this->GetNumberOfNodes(); 857 857 for(int i=0;i<numnodes;i++) { 858 _printf_("nodes[" << i << "] = " << nodes[i]); 858 _printf_("nodes[" << i << "] = " << nodes[i]); 859 859 nodes[i]->Echo(); 860 860 } … … 1230 1230 epsilon_eff=1/sqrt(2.)*sqrt(epsilon_sqr[0][0]+epsilon_sqr[0][1]+ epsilon_sqr[0][2]+ epsilon_sqr[1][0]+ epsilon_sqr[1][1]+ epsilon_sqr[1][2]+ epsilon_sqr[2][0]+ epsilon_sqr[2][1]+ epsilon_sqr[2][2]); 1231 1231 1232 /*Phi = Tr(sigma * eps) 1232 /*Phi = Tr(sigma * eps) 1233 1233 * = Tr(sigma'* eps) 1234 1234 * = 2 * eps_eff * sigma'_eff … … 1538 1538 /*}}}*/ 1539 1539 void Element::InputCreate(IssmDouble* vector,IoModel* iomodel,int M,int N,int vector_type,int vector_enum,int code){/*{{{*/ 1540 1540 1541 1541 /*Intermediaries*/ 1542 1542 int i,t; 1543 1543 1544 1544 /*Branch on type of vector: nodal or elementary: */ 1545 1545 if(vector_type==1){ //nodal vector 1546 1546 1547 1547 int numvertices = this->GetNumberOfVertices(); 1548 1548 int *vertexids = xNew<int>(numvertices); 1549 1549 IssmDouble *values = xNew<IssmDouble>(numvertices); 1550 1550 1551 1551 /*Recover vertices ids needed to initialize inputs*/ 1552 1552 _assert_(iomodel->elements); … … 1554 1554 vertexids[i]=reCast<int>(iomodel->elements[numvertices*this->Sid()+i]); //ids for vertices are in the elements array from Matlab 1555 1555 } 1556 1556 1557 1557 /*Are we in transient or static? */ 1558 1558 if(M==1){ … … 1598 1598 _error_("nodal vector is either numberofvertices or numberofvertices+1 long. Field provided (" << EnumToStringx(vector_enum) << ") is " << M << " long"); 1599 1599 } 1600 1600 1601 1601 xDelete<IssmDouble>(values); 1602 1602 xDelete<int>(vertexids); 1603 1603 } 1604 1604 else if(vector_type==2){ //element vector 1605 1605 1606 1606 IssmDouble value; 1607 1607 1608 1608 /*Are we in transient or static? */ 1609 1609 if(M==iomodel->numberofelements){ … … 1640 1640 } 1641 1641 else if(vector_type==3){ //element vector 1642 1642 1643 1643 /*For right now we are static */ 1644 1644 if(M==iomodel->numberofelements){ … … 1665 1665 1666 1666 /*Some sanity checks*/ 1667 _assert_(vector); 1668 _assert_(min_vector); 1669 _assert_(max_vector); 1667 _assert_(vector); 1668 _assert_(min_vector); 1669 _assert_(max_vector); 1670 1670 1671 1671 /*For now we only support nodal vectors*/ … … 1699 1699 TransientInput* grad_input = new TransientInput(ControlInputGradEnum); 1700 1700 for(int t=0;t<N;t++){ 1701 for(int i=0;i<numvertices;i++){ 1701 for(int i=0;i<numvertices;i++){ 1702 1702 values[i]=vector[N*(vertexids[i]-1)+t]; 1703 1703 values_min[i] = min_vector[N*(vertexids[i]-1)+t]; … … 1706 1706 switch(this->ObjectEnum()){ 1707 1707 case TriaEnum: 1708 values_input->AddTimeInput(new TriaInput(input_enum,values,P1Enum)); 1709 mins_input->AddTimeInput(new TriaInput(ControlInputMinsEnum,values_min,P1Enum)); 1708 values_input->AddTimeInput(new TriaInput(input_enum,values,P1Enum)); 1709 mins_input->AddTimeInput(new TriaInput(ControlInputMinsEnum,values_min,P1Enum)); 1710 1710 maxs_input->AddTimeInput(new TriaInput(ControlInputMaxsEnum,values_max,P1Enum)); 1711 1711 break; 1712 1712 case PentaEnum: 1713 values_input->AddTimeInput(new PentaInput(input_enum,values,P1Enum)); 1714 mins_input->AddTimeInput(new PentaInput(ControlInputMinsEnum,values_min,P1Enum)); 1715 maxs_input->AddTimeInput(new PentaInput(ControlInputMaxsEnum,values_max,P1Enum)); 1713 values_input->AddTimeInput(new PentaInput(input_enum,values,P1Enum)); 1714 mins_input->AddTimeInput(new PentaInput(ControlInputMinsEnum,values_min,P1Enum)); 1715 maxs_input->AddTimeInput(new PentaInput(ControlInputMaxsEnum,values_max,P1Enum)); 1716 1716 break; 1717 1717 case TetraEnum: 1718 values_input->AddTimeInput(new TetraInput(input_enum,values,P1Enum)); 1719 mins_input->AddTimeInput(new TetraInput(ControlInputMinsEnum,values_min,P1Enum)); 1720 maxs_input->AddTimeInput(new TetraInput(ControlInputMaxsEnum,values_max,P1Enum)); 1718 values_input->AddTimeInput(new TetraInput(input_enum,values,P1Enum)); 1719 mins_input->AddTimeInput(new TetraInput(ControlInputMinsEnum,values_min,P1Enum)); 1720 maxs_input->AddTimeInput(new TetraInput(ControlInputMaxsEnum,values_max,P1Enum)); 1721 1721 break; 1722 1722 default: _error_("Not implemented yet"); … … 1740 1740 * code: what type of data is in the vector (booleans, ints, doubles) 1741 1741 */ 1742 1742 1743 1743 /*Intermediaries*/ 1744 1744 int i,t; … … 1760 1760 /*Branch on type of vector: nodal or elementary: */ 1761 1761 if(vector_type==1){ //nodal vector 1762 1762 1763 1763 int numvertices = this->GetNumberOfVertices(); 1764 1764 int *vertexids = xNew<int>(numvertices); 1765 1765 IssmDouble *values = xNew<IssmDouble>(numvertices); 1766 1766 1767 1767 /*Recover vertices ids needed to initialize inputs*/ 1768 1768 _assert_(iomodel->elements); … … 1770 1770 vertexids[i]=reCast<int>(iomodel->elements[numvertices*this->Sid()+i]); //ids for vertices are in the elements array from Matlab 1771 1771 } 1772 1772 1773 1773 /*Are we in transient or static? */ 1774 1774 if(M==1){ … … 1779 1779 case TetraEnum: datasetinput->AddInput(new TetraInput(vector_enum,values,P0Enum),input_enum); break; 1780 1780 default: _error_("Not implemented yet"); 1781 } 1781 } 1782 1782 } 1783 1783 else if(M==iomodel->numberofvertices){ … … 1827 1827 case TetraEnum: datasetinput->AddInput(new TetraInput(vector_enum,values,P0Enum),input_enum); break; 1828 1828 default: _error_("Not implemented yet"); 1829 } 1829 } 1830 1830 } 1831 1831 else if(N==this->GetNumberOfNodes(P1xP2Enum)){ … … 1851 1851 _error_("nodal vector is either numberofvertices or numberofvertices+1 long. Field provided (" << EnumToStringx(vector_enum) << ") is " << M << " long"); 1852 1852 } 1853 1853 1854 1854 xDelete<IssmDouble>(values); 1855 1855 xDelete<int>(vertexids); 1856 1856 } 1857 1857 else if(vector_type==2){ //element vector 1858 1858 1859 1859 IssmDouble value; 1860 1860 1861 1861 /*Are we in transient or static? */ 1862 1862 if(M==iomodel->numberofelements){ … … 1893 1893 } 1894 1894 else if(vector_type==3){ //element vector 1895 1895 1896 1896 /*For right now we are static */ 1897 1897 if(M==iomodel->numberofelements){ … … 2021 2021 name==EnthalpyPicardEnum || 2022 2022 name==WaterfractionEnum|| 2023 name==WatercolumnEnum || 2023 name==WatercolumnEnum || 2024 2024 name==FrictionCoefficientEnum || 2025 2025 name==FrictionAsEnum || … … 2035 2035 name==GradientEnum || 2036 2036 name==OldGradientEnum || 2037 name==ConvergedEnum || 2037 name==ConvergedEnum || 2038 2038 name==MaterialsRheologyEEnum || 2039 2039 name==MaterialsRheologyEbarEnum || … … 2045 2045 name==MaterialsRheologyEsEnum || 2046 2046 name==MaterialsRheologyEsbarEnum || 2047 name==SealevelEnum || 2048 name==SealevelUmotionEnum || 2049 name==SealevelNmotionEnum || 2050 name==SealevelEmotionEnum || 2051 name==SealevelAbsoluteEnum || 2052 name==SealevelEustaticEnum || 2053 name==SealevelriseDeltathicknessEnum || 2054 name==EsaUmotionEnum || 2055 name==EsaNmotionEnum || 2056 name==EsaEmotionEnum || 2057 name==EsaXmotionEnum || 2058 name==EsaYmotionEnum || 2047 name==SealevelEnum || 2048 name==SealevelUmotionEnum || 2049 name==SealevelNmotionEnum || 2050 name==SealevelEmotionEnum || 2051 name==SealevelAbsoluteEnum || 2052 name==SealevelEustaticEnum || 2053 name==SealevelriseDeltathicknessEnum || 2054 name==EsaUmotionEnum || 2055 name==EsaNmotionEnum || 2056 name==EsaEmotionEnum || 2057 name==EsaXmotionEnum || 2058 name==EsaYmotionEnum || 2059 2059 name==EsaStrainratexxEnum || 2060 name==EsaStrainratexyEnum || 2060 name==EsaStrainratexyEnum || 2061 2061 name==EsaStrainrateyyEnum || 2062 2062 name==EsaRotationrateEnum || 2063 name==EsaDeltathicknessEnum || 2064 name==GiaWEnum || 2063 name==EsaDeltathicknessEnum || 2064 name==GiaWEnum || 2065 2065 name==GiadWdtEnum || 2066 name==SedimentHead Enum ||2067 name==EplHead Enum ||2066 name==SedimentHeadHydrostepEnum || 2067 name==EplHeadHydrostepEnum || 2068 2068 name==SedimentHeadOldEnum || 2069 2069 name==EplHeadOldEnum || … … 2073 2073 name==HydrologydcEplThicknessOldEnum || 2074 2074 name==HydrologydcEplInitialThicknessEnum || 2075 name==HydrologydcEplThickness Enum ||2075 name==HydrologydcEplThicknessHydrostepEnum || 2076 2076 name==HydrologydcMaskEplactiveNodeEnum || 2077 2077 name==HydrologyHeadEnum || 2078 name==HydrologyHeadOldEnum || 2079 name==StressbalanceConvergenceNumStepsEnum || 2080 name==MeshVertexonbaseEnum || 2078 name==HydrologyHeadOldEnum || 2079 name==StressbalanceConvergenceNumStepsEnum || 2080 name==MeshVertexonbaseEnum || 2081 2081 name==FrictionPEnum || 2082 2082 name==FrictionQEnum || … … 2181 2181 }/*}}}*/ 2182 2182 void Element::MarshallElement(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction,int numanalyses){/*{{{*/ 2183 2183 2184 2184 _assert_(this); 2185 2185 if(marshall_direction==MARSHALLING_BACKWARD){ … … 2189 2189 2190 2190 MARSHALLING_ENUM(ElementEnum); 2191 2191 2192 2192 MARSHALLING(id); 2193 2193 MARSHALLING(sid); … … 2229 2229 /* Contact FS*/ 2230 2230 if(migration_style == ContactEnum && phi_ungrounding[vertices[i]->Pid()]<10){ 2231 phi[i]=phi_ungrounding[vertices[i]->Pid()]; 2231 phi[i]=phi_ungrounding[vertices[i]->Pid()]; 2232 2232 if(phi[i]>=0.) b[i]=r[i]; 2233 2233 } … … 2235 2235 /*Ice shelf: if bed below bathymetry, impose it at the bathymetry and update surface, elso do nothing */ 2236 2236 else if(phi[i]<=0.){ 2237 if(b[i]<=r[i]){ 2237 if(b[i]<=r[i]){ 2238 2238 b[i] = r[i]; 2239 2239 s[i] = b[i]+h[i]; … … 2495 2495 } 2496 2496 2497 /*Recover pdd factors at time t. 2498 * This parameter is set, if the user wants to define the 2497 /*Recover pdd factors at time t. 2498 * This parameter is set, if the user wants to define the 2499 2499 * pdd factors regionally, if issetpddfac==1 in the d18opdd method */ 2500 2500 if (issetpddfac==1){ … … 2542 2542 2543 2543 switch(this->ObjectEnum()){ 2544 case TriaEnum: 2544 case TriaEnum: 2545 2545 // this->inputs->AddInput(new TriaInput(TemperatureEnum,&yearlytemperatures[0],P1Enum)); 2546 2546 this->inputs->AddInput(new TriaInput(TemperaturePDDEnum,&yearlytemperatures[0],P1Enum)); … … 2577 2577 this->InputExtrude(SmbMassBalanceEnum,-1); 2578 2578 break; 2579 case TetraEnum: 2579 case TetraEnum: 2580 2580 if(IsOnSurface()){ 2581 2581 GetInputListOnVertices(&s[0],TemperatureEnum); … … 2625 2625 case ViscousHeatingEnum: this->ViscousHeatingCreateInput(); break; 2626 2626 case StressMaxPrincipalEnum: this->StressMaxPrincipalCreateInput(); break; 2627 case StressTensorxxEnum: 2628 case StressTensorxyEnum: 2629 case StressTensorxzEnum: 2630 case StressTensoryyEnum: 2631 case StressTensoryzEnum: 2627 case StressTensorxxEnum: 2628 case StressTensorxyEnum: 2629 case StressTensorxzEnum: 2630 case StressTensoryyEnum: 2631 case StressTensoryzEnum: 2632 2632 case StressTensorzzEnum: this->ComputeStressTensor(); break; 2633 2633 case StrainRatexxEnum: … … 2638 2638 case StrainRatezzEnum: 2639 2639 case StrainRateeffectiveEnum: this->ComputeStrainRate(); break; 2640 case DeviatoricStressxxEnum: 2641 case DeviatoricStressxyEnum: 2642 case DeviatoricStressxzEnum: 2643 case DeviatoricStressyyEnum: 2644 case DeviatoricStressyzEnum: 2645 case DeviatoricStresszzEnum: 2640 case DeviatoricStressxxEnum: 2641 case DeviatoricStressxyEnum: 2642 case DeviatoricStressxzEnum: 2643 case DeviatoricStressyyEnum: 2644 case DeviatoricStressyzEnum: 2645 case DeviatoricStresszzEnum: 2646 2646 case DeviatoricStresseffectiveEnum: this->ComputeDeviatoricStressTensor(); break; 2647 2647 case EsaStrainratexxEnum: 2648 case EsaStrainratexyEnum: 2649 case EsaStrainrateyyEnum: 2648 case EsaStrainratexyEnum: 2649 case EsaStrainrateyyEnum: 2650 2650 case EsaRotationrateEnum: this->ComputeEsaStrainAndVorticity(); break; 2651 2651 case SigmaNNEnum: this->ComputeSigmaNN(); break; … … 2952 2952 /*}}}*/ 2953 2953 /*Retrieve inputs: {{{*/ 2954 Input* zTop_input=this->GetInput(SmbZTopEnum); _assert_(zTop_input); 2955 Input* dzTop_input=this->GetInput(SmbDzTopEnum); _assert_(dzTop_input); 2956 Input* dzMin_input=this->GetInput(SmbDzMinEnum); _assert_(dzMin_input); 2957 Input* zMax_input=this->GetInput(SmbZMaxEnum); _assert_(zMax_input); 2958 Input* zMin_input=this->GetInput(SmbZMinEnum); _assert_(zMin_input); 2959 Input* zY_input=this->GetInput(SmbZYEnum); _assert_(zY_input); 2954 Input* zTop_input=this->GetInput(SmbZTopEnum); _assert_(zTop_input); 2955 Input* dzTop_input=this->GetInput(SmbDzTopEnum); _assert_(dzTop_input); 2956 Input* dzMin_input=this->GetInput(SmbDzMinEnum); _assert_(dzMin_input); 2957 Input* zMax_input=this->GetInput(SmbZMaxEnum); _assert_(zMax_input); 2958 Input* zMin_input=this->GetInput(SmbZMinEnum); _assert_(zMin_input); 2959 Input* zY_input=this->GetInput(SmbZYEnum); _assert_(zY_input); 2960 2960 Input* Tmean_input=this->GetInput(SmbTmeanEnum); _assert_(Tmean_input); 2961 2961 Input* C_input=this->GetInput(SmbCEnum); _assert_(C_input); … … 2978 2978 dzTop_input->GetInputValue(&dzTop,gauss); 2979 2979 dzMin_input->GetInputValue(&dzMin,gauss); 2980 zMax_input->GetInputValue(&zMax,gauss); 2981 zMin_input->GetInputValue(&zMin,gauss); 2980 zMax_input->GetInputValue(&zMax,gauss); 2981 zMin_input->GetInputValue(&zMin,gauss); 2982 2982 zY_input->GetInputValue(&zY,gauss); 2983 2983 Tmean_input->GetInputValue(&Tmean,gauss); … … 3033 3033 a = xNewZeroInit<IssmDouble>(m); for(int i=0;i<m;i++)a[i]=aini[0]; //set albedo equal to fresh snow [fraction] 3034 3034 T = xNewZeroInit<IssmDouble>(m); for(int i=0;i<m;i++)T[i]=Tmean; //set initial grid cell temperature to the annual mean temperature [K] 3035 /*/!\ Default value of T can not be retrived from SMBgemb.m (like other snow properties) 3035 /*/!\ Default value of T can not be retrived from SMBgemb.m (like other snow properties) 3036 3036 * because don't know Tmean yet when set default values. 3037 3037 * Default value of 0C given in SMBgemb.m is overwritten here with value of Tmean*/ … … 3094 3094 sumdz_add=0; 3095 3095 3096 //before starting loop, realize that the transient core runs this smb_core at time = time +deltaT. 3097 //go back to time - deltaT: 3096 //before starting loop, realize that the transient core runs this smb_core at time = time +deltaT. 3097 //go back to time - deltaT: 3098 3098 time-=dt; 3099 3099 … … 3133 3133 if(isthermal)thermo(&EC, &T, dz, d, swf, dlw, Ta, V, eAir, pAir, teValue, W[0], smb_dt, m, Vz, Tz, thermo_scaling,rho_ice,this->Sid()); 3134 3134 3135 /*Change in thickness of top cell due to evaporation/condensation assuming same density as top cell. 3135 /*Change in thickness of top cell due to evaporation/condensation assuming same density as top cell. 3136 3136 * need to fix this in case all or more of cell evaporates */ 3137 3137 dz[0] = dz[0] + EC / d[0]; … … 3147 3147 if(isdensification)densification(&d,&dz, T, re, denIdx, C, smb_dt, Tmean,rho_ice,m,this->Sid()); 3148 3148 3149 /*Calculate upward longwave radiation flux [W m-2] not used in energy balance. Calculated for every 3149 /*Calculate upward longwave radiation flux [W m-2] not used in energy balance. Calculated for every 3150 3150 * sub-time step in thermo equations*/ 3151 3151 ulw = 5.67E-8 * pow(T[0],4.0) * teValue; … … 3158 3158 3159 3159 /*Verbose some results in debug mode: {{{*/ 3160 if(VerboseSmb() && 0){ 3161 _printf_("smb log: count[" << count << "] m[" << m << "] " 3162 << setprecision(16) << "T[" << cellsum(T,m) << "] " 3160 if(VerboseSmb() && 0){ 3161 _printf_("smb log: count[" << count << "] m[" << m << "] " 3162 << setprecision(16) << "T[" << cellsum(T,m) << "] " 3163 3163 << "d[" << cellsum(d,m) << "] " 3164 3164 << "dz[" << cellsum(dz,m) << "] " … … 3183 3183 3184 3184 /*Calculate total system mass:*/ 3185 sumMass=0; 3185 sumMass=0; 3186 3186 fac=0; 3187 3187 for(int i=0;i<m;i++){ … … 3262 3262 vx_input->GetInputDerivativeValue(&dvx[0],xyz_list,gauss); 3263 3263 vy_input->GetInputDerivativeValue(&dvy[0],xyz_list,gauss); 3264 epsilon[0] = dvx[0]; // normal strain rate x-direction 3265 epsilon[1] = dvy[1]; // normal strain rate y-direction 3266 epsilon[2] = 0.5*(dvx[1] + dvy[0]); // shear strain rate 3267 epsilon[3] = 0.5*(dvx[1] - dvy[0]); // rotation rate 3264 epsilon[0] = dvx[0]; // normal strain rate x-direction 3265 epsilon[1] = dvy[1]; // normal strain rate y-direction 3266 epsilon[2] = 0.5*(dvx[1] + dvy[0]); // shear strain rate 3267 epsilon[3] = 0.5*(dvx[1] - dvy[0]); // rotation rate 3268 3268 3269 3269 }/*}}}*/ -
TabularUnified issm/trunk-jpl/src/c/classes/Loads/Friction.cpp ¶
r22850 r22856 722 722 break; 723 723 case 4: 724 element->GetInputValue(&Neff,gauss,EffectivePressure TimeAverageEnum);724 element->GetInputValue(&Neff,gauss,EffectivePressureEnum); 725 725 break; 726 726 default: -
TabularUnified issm/trunk-jpl/src/c/classes/Loads/Pengrid.cpp ¶
r21213 r22856 170 170 void Pengrid::Configure(Elements* elementsin,Loads* loadsin,Nodes* nodesin,Vertices* verticesin,Materials* materialsin,Parameters* parametersin){/*{{{*/ 171 171 172 /*Take care of hooking up all objects for this load, ie links the objects in the hooks to their respective 172 /*Take care of hooking up all objects for this load, ie links the objects in the hooks to their respective 173 173 * datasets, using internal ids and offsets hidden in hooks: */ 174 174 hnode->configure(nodesin); … … 195 195 /*No loads applied, do nothing, originaly used for moulin input: */ 196 196 return; 197 197 198 198 } 199 199 /*}}}*/ … … 416 416 void Pengrid::ConstraintActivateHydrologyDCInefficient(int* punstable){/*{{{*/ 417 417 418 // The penalty is stable if it doesn't change during two consecutive iterations. 418 // The penalty is stable if it doesn't change during two consecutive iterations. 419 419 int unstable=0; 420 420 int new_active; … … 422 422 IssmDouble pressure; 423 423 IssmDouble h; 424 IssmDouble h_max; 424 IssmDouble h_max; 425 425 HydrologyDCInefficientAnalysis* inefanalysis = NULL; 426 426 … … 440 440 /*Get sediment water head h*/ 441 441 inefanalysis = new HydrologyDCInefficientAnalysis(); 442 element->GetInputValue(&h,node,SedimentHead Enum);442 element->GetInputValue(&h,node,SedimentHeadHydrostepEnum); 443 443 inefanalysis->GetHydrologyDCInefficientHmax(&h_max,element,node); 444 444 parameters->FindParam(&penalty_lock,HydrologydcPenaltyLockEnum); … … 476 476 void Pengrid::ConstraintActivateThermal(int* punstable){/*{{{*/ 477 477 478 // The penalty is stable if it doesn't change during to successive iterations. 478 // The penalty is stable if it doesn't change during to successive iterations. 479 479 IssmDouble pressure; 480 480 IssmDouble temperature; -
TabularUnified issm/trunk-jpl/src/c/cores/hydrology_core.cpp ¶
r22841 r22856 64 64 /*define which variable needs to be averaged on the sub-timestep and initialize as needed*/ 65 65 if (isefficientlayer){ 66 int inputtostack[4]={EffectivePressure Enum,SedimentHeadEnum,EplHeadEnum,HydrologydcEplThicknessEnum};66 int inputtostack[4]={EffectivePressureHydrostepEnum,SedimentHeadHydrostepEnum,EplHeadHydrostepEnum,HydrologydcEplThicknessHydrostepEnum}; 67 67 int stackedinput[4]={EffectivePressureStackedEnum,SedimentHeadStackedEnum,EplHeadStackedEnum,HydrologydcEplThicknessStackedEnum}; 68 int averagedinput[4]={EffectivePressure TimeAverageEnum,SedimentHeadTimeAverageEnum,EplHeadTimeAverageEnum,HydrologydcEplThicknessTimeAverageEnum};68 int averagedinput[4]={EffectivePressureEnum,SedimentHeadEnum,EplHeadEnum,HydrologydcEplThicknessEnum}; 69 69 femmodel->InitTransientOutputx(&stackedinput[0],4); 70 70 while(hydrotime<time-(yts*DBL_EPSILON)){ //loop on hydro dts 71 71 hydrotime+=hydrodt; 72 72 /*save preceding timestep*/ 73 InputDuplicatex(femmodel,SedimentHead Enum,SedimentHeadOldEnum);74 InputDuplicatex(femmodel,EplHead Enum,EplHeadOldEnum);75 InputDuplicatex(femmodel,HydrologydcEplThickness Enum,HydrologydcEplThicknessOldEnum);73 InputDuplicatex(femmodel,SedimentHeadHydrostepEnum,SedimentHeadOldEnum); 74 InputDuplicatex(femmodel,EplHeadHydrostepEnum,EplHeadOldEnum); 75 InputDuplicatex(femmodel,HydrologydcEplThicknessHydrostepEnum,HydrologydcEplThicknessOldEnum); 76 76 /*Proceed now to heads computations*/ 77 77 solutionsequence_hydro_nonlinear(femmodel); … … 82 82 } 83 83 else{ 84 int inputtostack[2]={EffectivePressure Enum,SedimentHeadEnum};84 int inputtostack[2]={EffectivePressureHydrostepEnum,SedimentHeadHydrostepEnum}; 85 85 int stackedinput[2]={EffectivePressureStackedEnum,SedimentHeadStackedEnum}; 86 int averagedinput[2]={EffectivePressure TimeAverageEnum,SedimentHeadTimeAverageEnum};86 int averagedinput[2]={EffectivePressureEnum,SedimentHeadEnum}; 87 87 femmodel->InitTransientOutputx(&stackedinput[0],2); 88 88 while(hydrotime<time-(yts*DBL_EPSILON)){ //loop on hydro dts 89 89 hydrotime+=hydrodt; 90 90 /*save preceding timestep*/ 91 InputDuplicatex(femmodel,SedimentHead Enum,SedimentHeadOldEnum);91 InputDuplicatex(femmodel,SedimentHeadHydrostepEnum,SedimentHeadOldEnum); 92 92 /*Proceed now to heads computations*/ 93 93 solutionsequence_hydro_nonlinear(femmodel); … … 99 99 } 100 100 else{ 101 InputDuplicatex(femmodel,SedimentHead Enum,SedimentHeadOldEnum);101 InputDuplicatex(femmodel,SedimentHeadHydrostepEnum,SedimentHeadOldEnum); 102 102 if (isefficientlayer){ 103 InputDuplicatex(femmodel,EplHead Enum,EplHeadOldEnum);104 InputDuplicatex(femmodel,HydrologydcEplThickness Enum,HydrologydcEplThicknessOldEnum);103 InputDuplicatex(femmodel,EplHeadHydrostepEnum,EplHeadOldEnum); 104 InputDuplicatex(femmodel,HydrologydcEplThicknessHydrostepEnum,HydrologydcEplThicknessOldEnum); 105 105 } 106 106 /*Proceed now to heads computations*/ -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h ¶
r22852 r22856 409 409 DrivingStressXEnum, 410 410 DrivingStressYEnum, 411 EffectivePressure Enum,411 EffectivePressureHydrostepEnum, 412 412 EnthalpyEnum, 413 413 EnthalpyPicardEnum, 414 EplHead Enum,414 EplHeadHydrostepEnum, 415 415 EplHeadOldEnum, 416 416 EplHeadSlopeXEnum, … … 437 437 HydrologyBumpSpacingEnum, 438 438 HydrologydcBasalMoulinInputEnum, 439 HydrologydcEplThickness Enum,439 HydrologydcEplThicknessHydrostepEnum, 440 440 HydrologydcEplThicknessOldEnum, 441 441 HydrologydcMaskEplactiveEltEnum, … … 492 492 SealevelEnum, 493 493 SealevelriseDeltathicknessEnum, 494 SedimentHead Enum,494 SedimentHeadHydrostepEnum, 495 495 SedimentHeadOldEnum, 496 496 SedimentHeadResidualEnum, … … 696 696 DoubleVecParamEnum, 697 697 EffectivePressureStackedEnum, 698 EffectivePressure TimeAverageEnum,698 EffectivePressureEnum, 699 699 ElementEnum, 700 700 ElementHookEnum, … … 702 702 EnthalpyAnalysisEnum, 703 703 EplHeadStackedEnum, 704 EplHead TimeAverageEnum,704 EplHeadEnum, 705 705 EsaAnalysisEnum, 706 706 EsaEmotionEnum, … … 763 763 HydrologydcEplPorosityEnum, 764 764 HydrologydcEplThicknessStackedEnum, 765 HydrologydcEplThickness TimeAverageEnum,765 HydrologydcEplThicknessEnum, 766 766 HydrologyDCInefficientAnalysisEnum, 767 767 HydrologydcSedimentCompressibilityEnum, … … 1024 1024 SealevelUmotionEnum, 1025 1025 SedimentHeadStackedEnum, 1026 SedimentHead TimeAverageEnum,1026 SedimentHeadEnum, 1027 1027 SegEnum, 1028 1028 SegInputEnum, -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp ¶
r22852 r22856 415 415 case DrivingStressXEnum : return "DrivingStressX"; 416 416 case DrivingStressYEnum : return "DrivingStressY"; 417 case EffectivePressure Enum : return "EffectivePressure";417 case EffectivePressureHydrostepEnum : return "EffectivePressureHydrostep"; 418 418 case EnthalpyEnum : return "Enthalpy"; 419 419 case EnthalpyPicardEnum : return "EnthalpyPicard"; 420 case EplHead Enum : return "EplHead";420 case EplHeadHydrostepEnum : return "EplHeadHydrostep"; 421 421 case EplHeadOldEnum : return "EplHeadOld"; 422 422 case EplHeadSlopeXEnum : return "EplHeadSlopeX"; … … 443 443 case HydrologyBumpSpacingEnum : return "HydrologyBumpSpacing"; 444 444 case HydrologydcBasalMoulinInputEnum : return "HydrologydcBasalMoulinInput"; 445 case HydrologydcEplThickness Enum : return "HydrologydcEplThickness";445 case HydrologydcEplThicknessHydrostepEnum : return "HydrologydcEplThicknessHydrostep"; 446 446 case HydrologydcEplThicknessOldEnum : return "HydrologydcEplThicknessOld"; 447 447 case HydrologydcMaskEplactiveEltEnum : return "HydrologydcMaskEplactiveElt"; … … 498 498 case SealevelEnum : return "Sealevel"; 499 499 case SealevelriseDeltathicknessEnum : return "SealevelriseDeltathickness"; 500 case SedimentHead Enum : return "SedimentHead";500 case SedimentHeadHydrostepEnum : return "SedimentHeadHydrostep"; 501 501 case SedimentHeadOldEnum : return "SedimentHeadOld"; 502 502 case SedimentHeadResidualEnum : return "SedimentHeadResidual"; … … 700 700 case DoubleVecParamEnum : return "DoubleVecParam"; 701 701 case EffectivePressureStackedEnum : return "EffectivePressureStacked"; 702 case EffectivePressure TimeAverageEnum : return "EffectivePressureTimeAverage";702 case EffectivePressureEnum : return "EffectivePressure"; 703 703 case ElementEnum : return "Element"; 704 704 case ElementHookEnum : return "ElementHook"; … … 706 706 case EnthalpyAnalysisEnum : return "EnthalpyAnalysis"; 707 707 case EplHeadStackedEnum : return "EplHeadStacked"; 708 case EplHead TimeAverageEnum : return "EplHeadTimeAverage";708 case EplHeadEnum : return "EplHead"; 709 709 case EsaAnalysisEnum : return "EsaAnalysis"; 710 710 case EsaEmotionEnum : return "EsaEmotion"; … … 767 767 case HydrologydcEplPorosityEnum : return "HydrologydcEplPorosity"; 768 768 case HydrologydcEplThicknessStackedEnum : return "HydrologydcEplThicknessStacked"; 769 case HydrologydcEplThickness TimeAverageEnum : return "HydrologydcEplThicknessTimeAverage";769 case HydrologydcEplThicknessEnum : return "HydrologydcEplThickness"; 770 770 case HydrologyDCInefficientAnalysisEnum : return "HydrologyDCInefficientAnalysis"; 771 771 case HydrologydcSedimentCompressibilityEnum : return "HydrologydcSedimentCompressibility"; … … 1028 1028 case SealevelUmotionEnum : return "SealevelUmotion"; 1029 1029 case SedimentHeadStackedEnum : return "SedimentHeadStacked"; 1030 case SedimentHead TimeAverageEnum : return "SedimentHeadTimeAverage";1030 case SedimentHeadEnum : return "SedimentHead"; 1031 1031 case SegEnum : return "Seg"; 1032 1032 case SegInputEnum : return "SegInput"; -
TabularUnified issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp ¶
r22852 r22856 424 424 else if (strcmp(name,"DrivingStressX")==0) return DrivingStressXEnum; 425 425 else if (strcmp(name,"DrivingStressY")==0) return DrivingStressYEnum; 426 else if (strcmp(name,"EffectivePressure ")==0) return EffectivePressureEnum;426 else if (strcmp(name,"EffectivePressureHydrostep")==0) return EffectivePressureHydrostepEnum; 427 427 else if (strcmp(name,"Enthalpy")==0) return EnthalpyEnum; 428 428 else if (strcmp(name,"EnthalpyPicard")==0) return EnthalpyPicardEnum; 429 else if (strcmp(name,"EplHead ")==0) return EplHeadEnum;429 else if (strcmp(name,"EplHeadHydrostep")==0) return EplHeadHydrostepEnum; 430 430 else if (strcmp(name,"EplHeadOld")==0) return EplHeadOldEnum; 431 431 else if (strcmp(name,"EplHeadSlopeX")==0) return EplHeadSlopeXEnum; … … 452 452 else if (strcmp(name,"HydrologyBumpSpacing")==0) return HydrologyBumpSpacingEnum; 453 453 else if (strcmp(name,"HydrologydcBasalMoulinInput")==0) return HydrologydcBasalMoulinInputEnum; 454 else if (strcmp(name,"HydrologydcEplThickness ")==0) return HydrologydcEplThicknessEnum;454 else if (strcmp(name,"HydrologydcEplThicknessHydrostep")==0) return HydrologydcEplThicknessHydrostepEnum; 455 455 else if (strcmp(name,"HydrologydcEplThicknessOld")==0) return HydrologydcEplThicknessOldEnum; 456 456 else if (strcmp(name,"HydrologydcMaskEplactiveElt")==0) return HydrologydcMaskEplactiveEltEnum; … … 510 510 if(stage==5){ 511 511 if (strcmp(name,"SealevelriseDeltathickness")==0) return SealevelriseDeltathicknessEnum; 512 else if (strcmp(name,"SedimentHead ")==0) return SedimentHeadEnum;512 else if (strcmp(name,"SedimentHeadHydrostep")==0) return SedimentHeadHydrostepEnum; 513 513 else if (strcmp(name,"SedimentHeadOld")==0) return SedimentHeadOldEnum; 514 514 else if (strcmp(name,"SedimentHeadResidual")==0) return SedimentHeadResidualEnum; … … 715 715 else if (strcmp(name,"DoubleVecParam")==0) return DoubleVecParamEnum; 716 716 else if (strcmp(name,"EffectivePressureStacked")==0) return EffectivePressureStackedEnum; 717 else if (strcmp(name,"EffectivePressure TimeAverage")==0) return EffectivePressureTimeAverageEnum;717 else if (strcmp(name,"EffectivePressure")==0) return EffectivePressureEnum; 718 718 else if (strcmp(name,"Element")==0) return ElementEnum; 719 719 else if (strcmp(name,"ElementHook")==0) return ElementHookEnum; … … 721 721 else if (strcmp(name,"EnthalpyAnalysis")==0) return EnthalpyAnalysisEnum; 722 722 else if (strcmp(name,"EplHeadStacked")==0) return EplHeadStackedEnum; 723 else if (strcmp(name,"EplHead TimeAverage")==0) return EplHeadTimeAverageEnum;723 else if (strcmp(name,"EplHead")==0) return EplHeadEnum; 724 724 else if (strcmp(name,"EsaAnalysis")==0) return EsaAnalysisEnum; 725 725 else if (strcmp(name,"EsaEmotion")==0) return EsaEmotionEnum; … … 785 785 else if (strcmp(name,"HydrologydcEplPorosity")==0) return HydrologydcEplPorosityEnum; 786 786 else if (strcmp(name,"HydrologydcEplThicknessStacked")==0) return HydrologydcEplThicknessStackedEnum; 787 else if (strcmp(name,"HydrologydcEplThickness TimeAverage")==0) return HydrologydcEplThicknessTimeAverageEnum;787 else if (strcmp(name,"HydrologydcEplThickness")==0) return HydrologydcEplThicknessEnum; 788 788 else if (strcmp(name,"HydrologyDCInefficientAnalysis")==0) return HydrologyDCInefficientAnalysisEnum; 789 789 else if (strcmp(name,"HydrologydcSedimentCompressibility")==0) return HydrologydcSedimentCompressibilityEnum; … … 1052 1052 else if (strcmp(name,"SealevelUmotion")==0) return SealevelUmotionEnum; 1053 1053 else if (strcmp(name,"SedimentHeadStacked")==0) return SedimentHeadStackedEnum; 1054 else if (strcmp(name,"SedimentHead TimeAverage")==0) return SedimentHeadTimeAverageEnum;1054 else if (strcmp(name,"SedimentHead")==0) return SedimentHeadEnum; 1055 1055 else if (strcmp(name,"Seg")==0) return SegEnum; 1056 1056 else if (strcmp(name,"SegInput")==0) return SegInputEnum;
Note:
See TracChangeset
for help on using the changeset viewer.