- Timestamp:
- 04/08/14 14:59:42 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
r17610 r17674 6 6 7 7 /*Model processing*/ 8 int HydrologyDCEfficientAnalysis::DofsPerNode(int** doflist,int mesh type,int approximation){/*{{{*/8 int HydrologyDCEfficientAnalysis::DofsPerNode(int** doflist,int meshxdim,int approximation){/*{{{*/ 9 9 return 1; 10 10 }/*}}}*/ … … 56 56 iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum); 57 57 iomodel->FetchDataToInput(elements,HydrologydcEplThicknessEnum); 58 if(iomodel->mesh type==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum);58 if(iomodel->meshxdim==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum); 59 59 60 60 // elements->InputDuplicate(HydrologydcEplInitialThicknessEnum,HydrologydcEplThicknessEnum); … … 73 73 if(!isefficientlayer) return; 74 74 75 if(iomodel->mesh type!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);75 if(iomodel->meshxdim!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); 76 76 ::CreateNodes(nodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum); 77 77 iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum); … … 111 111 /*Intermediaries*/ 112 112 bool active_element; 113 int mesh type;113 int meshxdim; 114 114 Element* basalelement; 115 115 116 116 /*Get basal element*/ 117 element->FindParam(&mesh type,MeshTypeEnum);118 switch(mesh type){117 element->FindParam(&meshxdim,MeshXDimEnum); 118 switch(meshxdim){ 119 119 case Mesh2DhorizontalEnum: 120 120 basalelement = element; … … 124 124 basalelement = element->SpawnBasalElement(); 125 125 break; 126 default: _error_("mesh "<<EnumToStringx(mesh type)<<" not supported yet");126 default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet"); 127 127 } 128 128 … … 132 132 /*Check that all nodes are active, else return empty matrix*/ 133 133 if(!active_element) { 134 if(mesh type!=Mesh2DhorizontalEnum){134 if(meshxdim!=Mesh2DhorizontalEnum){ 135 135 basalelement->DeleteMaterials(); 136 136 delete basalelement; … … 207 207 xDelete<IssmDouble>(B); 208 208 delete gauss; 209 if(mesh type!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};209 if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 210 210 return Ke; 211 211 … … 215 215 /*Intermediaries*/ 216 216 bool active_element; 217 int mesh type;217 int meshxdim; 218 218 Element* basalelement; 219 219 220 220 /*Get basal element*/ 221 element->FindParam(&mesh type,MeshTypeEnum);222 switch(mesh type){221 element->FindParam(&meshxdim,MeshXDimEnum); 222 switch(meshxdim){ 223 223 case Mesh2DhorizontalEnum: 224 224 basalelement = element; … … 228 228 basalelement = element->SpawnBasalElement(); 229 229 break; 230 default: _error_("mesh "<<EnumToStringx(mesh type)<<" not supported yet");230 default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet"); 231 231 } 232 232 … … 236 236 /*Check that all nodes are active, else return empty matrix*/ 237 237 if(!active_element) { 238 if(mesh type!=Mesh2DhorizontalEnum){238 if(meshxdim!=Mesh2DhorizontalEnum){ 239 239 basalelement->DeleteMaterials(); 240 240 delete basalelement; … … 309 309 xDelete<IssmDouble>(basis); 310 310 delete gauss; 311 if(mesh type!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};311 if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 312 312 return pe; 313 313 }/*}}}*/ … … 317 317 void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/ 318 318 319 int mesh type,i;319 int meshxdim,i; 320 320 Element* basalelement=NULL; 321 321 322 element->FindParam(&mesh type,MeshTypeEnum);323 324 if(mesh type!=Mesh2DhorizontalEnum){322 element->FindParam(&meshxdim,MeshXDimEnum); 323 324 if(meshxdim!=Mesh2DhorizontalEnum){ 325 325 if(!element->IsOnBase()) return; 326 326 basalelement=element->SpawnBasalElement(); … … 351 351 xDelete<IssmDouble>(eplHeads); 352 352 xDelete<int>(doflist); 353 if(mesh type!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};353 if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 354 354 } /*}}}*/ 355 355 void HydrologyDCEfficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/ … … 481 481 482 482 bool active_element; 483 int mesh type;483 int meshxdim; 484 484 IssmDouble dt,A,B; 485 485 IssmDouble EPLgrad2; 486 486 IssmDouble EPL_N; 487 487 488 femmodel->parameters->FindParam(&mesh type,MeshTypeEnum);488 femmodel->parameters->FindParam(&meshxdim,MeshXDimEnum); 489 489 490 490 for(int j=0;j<femmodel->elements->Size();j++){ … … 492 492 Element* element=(Element*)femmodel->elements->GetObjectByOffset(j); 493 493 494 switch(mesh type){494 switch(meshxdim){ 495 495 case Mesh2DhorizontalEnum: 496 496 if(!element->IsOnBase()) return; … … 602 602 bool active_element; 603 603 int i,j; 604 int mesh type;604 int meshxdim; 605 605 IssmDouble h_max; 606 606 IssmDouble sedheadmin; … … 608 608 609 609 /*Get basal element*/ 610 element->FindParam(&mesh type,MeshTypeEnum);611 switch(mesh type){610 element->FindParam(&meshxdim,MeshXDimEnum); 611 switch(meshxdim){ 612 612 case Mesh2DhorizontalEnum: 613 613 basalelement = element; … … 617 617 basalelement = element->SpawnBasalElement(); 618 618 break; 619 default: _error_("mesh "<<EnumToStringx(mesh type)<<" not supported yet");619 default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet"); 620 620 } 621 621 … … 673 673 } 674 674 } 675 if(mesh type!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};675 if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 676 676 xDelete<IssmDouble>(epl_thickness); 677 677 xDelete<IssmDouble>(old_active); … … 684 684 /*Constants*/ 685 685 686 int mesh type;686 int meshxdim; 687 687 Element* basalelement=NULL; 688 688 689 689 /*Get basal element*/ 690 element->FindParam(&mesh type,MeshTypeEnum);691 switch(mesh type){690 element->FindParam(&meshxdim,MeshXDimEnum); 691 switch(meshxdim){ 692 692 case Mesh2DhorizontalEnum: 693 693 basalelement = element; … … 697 697 basalelement = element->SpawnBasalElement(); 698 698 break; 699 default: _error_("mesh "<<EnumToStringx(mesh type)<<" not supported yet");699 default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet"); 700 700 } 701 701 … … 716 716 /*Do not do anything: at least one node is active for this element but this element is not solved for*/ 717 717 } 718 if(mesh type!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};718 if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;}; 719 719 xDelete<IssmDouble>(active); 720 720 }
Note:
See TracChangeset
for help on using the changeset viewer.