Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp (revision 15922) +++ ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp (revision 15923) @@ -12,7 +12,7 @@ /*Intermediary*/ int i,j; - int count,temp,finiteelement; + int count,finiteelement; IssmDouble g; IssmDouble rho_ice; IssmDouble FSreconditioning; @@ -70,43 +70,11 @@ if(!iscoupling){ /*Get finite element type*/ - if(isSSA){ - iomodel->Constant(&temp,FlowequationFeSSAEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break; - case 1 : finiteelement = P2Enum; break; - case 2 : finiteelement = P1bubblecondensedEnum; break; - case 3 : finiteelement = P1bubbleEnum; break; - default: _error_("finite element "<Constant(&temp,FlowequationFeHOEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break; - case 1 : finiteelement = P1xP2Enum; break; - case 2 : finiteelement = P2xP1Enum; break; - case 3 : finiteelement = P2Enum; break; - case 4 : finiteelement = P1bubblecondensedEnum; break; - case 5 : finiteelement = P1bubbleEnum; break; - default: _error_("finite element "<Constant(&temp,FlowequationFeFSEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break;//P1P1 - case 1 : finiteelement = P1Enum; break;//P1P1GSL - case 2 : finiteelement = P1bubbleEnum; break;//MINIcondensed - case 3 : finiteelement = P1bubbleEnum; break;//MINI - case 4 : finiteelement = P2Enum; break;//TaylorHood (P2P1) - default: _error_("finite element "<Constant(&finiteelement,FlowequationFeSSAEnum); + else if(isL1L2) finiteelement = P1Enum; + else if(isHO) iomodel->Constant(&finiteelement,FlowequationFeHOEnum); + else if(isFS) iomodel->Constant(&finiteelement,FlowequationFeFSEnum); + IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,1); IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvyEnum,StressbalanceAnalysisEnum,finiteelement,2); Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp (revision 15922) +++ ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp (revision 15923) @@ -12,7 +12,7 @@ /*Intermediary*/ bool isSSA,isL1L2,isHO,isFS,iscoupling; - int temp,finiteelement=-1,approximation=-1; + int finiteelement=-1,approximation=-1; /*Fetch parameters: */ iomodel->Constant(&isSSA,FlowequationIsSSAEnum); @@ -35,14 +35,7 @@ /*Get finite element type*/ if(isSSA){ approximation=SSAApproximationEnum; - iomodel->Constant(&temp,FlowequationFeSSAEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break; - case 1 : finiteelement = P2Enum; break; - case 2 : finiteelement = P1bubblecondensedEnum; break; - case 3 : finiteelement = P1bubbleEnum; break; - default: _error_("finite element "<Constant(&finiteelement,FlowequationFeSSAEnum); } else if(isL1L2){ approximation = L1L2ApproximationEnum; @@ -50,28 +43,11 @@ } else if(isHO){ approximation = HOApproximationEnum; - iomodel->Constant(&temp,FlowequationFeHOEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break; - case 1 : finiteelement = P1xP2Enum; break; - case 2 : finiteelement = P2xP1Enum; break; - case 3 : finiteelement = P2Enum; break; - case 4 : finiteelement = P1bubblecondensedEnum; break; - case 5 : finiteelement = P1bubbleEnum; break; - default: _error_("finite element "<Constant(&finiteelement,FlowequationFeHOEnum); } else if(isFS){ approximation = FSApproximationEnum; - iomodel->Constant(&temp,FlowequationFeFSEnum); - switch(temp){ - case 0 : finiteelement = P1P1Enum; break; - case 1 : finiteelement = P1P1GLSEnum; break; - case 2 : finiteelement = MINIcondensedEnum; break; - case 3 : finiteelement = MINIEnum; break; - case 4 : finiteelement = TaylorHoodEnum; break; - default: _error_("finite element "<Constant(&finiteelement,FlowequationFeFSEnum); } iomodel->FetchData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum); Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp =================================================================== --- ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp (revision 15922) +++ ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp (revision 15923) @@ -15,7 +15,7 @@ void UpdateElementsStressbalance(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ - int materials_type,finiteelement,temp; + int materials_type,finiteelement; int approximation; int* finiteelement_list=NULL; bool isSSA,isL1L2,isHO,isFS,iscoupling; @@ -47,42 +47,10 @@ /*Get finite element type*/ if(!iscoupling){ - if(isSSA){ - iomodel->Constant(&temp,FlowequationFeSSAEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break; - case 1 : finiteelement = P2Enum; break; - case 2 : finiteelement = P1bubblecondensedEnum; break; - case 3 : finiteelement = P1bubbleEnum; break; - default: _error_("finite element "<Constant(&temp,FlowequationFeHOEnum); - switch(temp){ - case 0 : finiteelement = P1Enum; break; - case 1 : finiteelement = P1xP2Enum; break; - case 2 : finiteelement = P2xP1Enum; break; - case 3 : finiteelement = P2Enum; break; - case 4 : finiteelement = P1bubblecondensedEnum; break; - case 5 : finiteelement = P1bubbleEnum; break; - default: _error_("finite element "<Constant(&temp,FlowequationFeFSEnum); - switch(temp){ - case 0 : finiteelement = P1P1Enum; break; - case 1 : finiteelement = P1P1GLSEnum; break; - case 2 : finiteelement = MINIcondensedEnum; break; - case 3 : finiteelement = MINIEnum; break; - case 4 : finiteelement = TaylorHoodEnum; break; - default: _error_("finite element "<Constant(&finiteelement,FlowequationFeSSAEnum); + else if(isL1L2) finiteelement = P1Enum; + else if(isHO) iomodel->Constant(&finiteelement,FlowequationFeHOEnum); + else if(isFS) iomodel->Constant(&finiteelement,FlowequationFeFSEnum); for(int i=0;inumberofelements;i++){ finiteelement_list[i]=finiteelement; }