Changeset 15923
- Timestamp:
- 08/24/13 20:38:23 (12 years ago)
- Location:
- issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp ¶
r15771 r15923 13 13 /*Intermediary*/ 14 14 int i,j; 15 int count, temp,finiteelement;15 int count,finiteelement; 16 16 IssmDouble g; 17 17 IssmDouble rho_ice; … … 71 71 72 72 /*Get finite element type*/ 73 if(isSSA){ 74 iomodel->Constant(&temp,FlowequationFeSSAEnum); 75 switch(temp){ 76 case 0 : finiteelement = P1Enum; break; 77 case 1 : finiteelement = P2Enum; break; 78 case 2 : finiteelement = P1bubblecondensedEnum; break; 79 case 3 : finiteelement = P1bubbleEnum; break; 80 default: _error_("finite element "<<temp<<" not supported"); 81 } 82 } 83 else if(isL1L2){ 84 finiteelement = P1Enum; 85 } 86 else if(isHO){ 87 iomodel->Constant(&temp,FlowequationFeHOEnum); 88 switch(temp){ 89 case 0 : finiteelement = P1Enum; break; 90 case 1 : finiteelement = P1xP2Enum; break; 91 case 2 : finiteelement = P2xP1Enum; break; 92 case 3 : finiteelement = P2Enum; break; 93 case 4 : finiteelement = P1bubblecondensedEnum; break; 94 case 5 : finiteelement = P1bubbleEnum; break; 95 default: _error_("finite element "<<temp<<" not supported"); 96 } 97 } 98 else if(isFS){ 99 finiteelement = P1Enum; 100 iomodel->Constant(&temp,FlowequationFeFSEnum); 101 switch(temp){ 102 case 0 : finiteelement = P1Enum; break;//P1P1 103 case 1 : finiteelement = P1Enum; break;//P1P1GSL 104 case 2 : finiteelement = P1bubbleEnum; break;//MINIcondensed 105 case 3 : finiteelement = P1bubbleEnum; break;//MINI 106 case 4 : finiteelement = P2Enum; break;//TaylorHood (P2P1) 107 default: _error_("finite element "<<temp<<" not supported"); 108 } 109 } 73 if(isSSA) iomodel->Constant(&finiteelement,FlowequationFeSSAEnum); 74 else if(isL1L2) finiteelement = P1Enum; 75 else if(isHO) iomodel->Constant(&finiteelement,FlowequationFeHOEnum); 76 else if(isFS) iomodel->Constant(&finiteelement,FlowequationFeFSEnum); 77 110 78 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,1); 111 79 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvyEnum,StressbalanceAnalysisEnum,finiteelement,2); -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp ¶
r15771 r15923 13 13 /*Intermediary*/ 14 14 bool isSSA,isL1L2,isHO,isFS,iscoupling; 15 int temp,finiteelement=-1,approximation=-1;15 int finiteelement=-1,approximation=-1; 16 16 17 17 /*Fetch parameters: */ … … 36 36 if(isSSA){ 37 37 approximation=SSAApproximationEnum; 38 iomodel->Constant(&temp,FlowequationFeSSAEnum); 39 switch(temp){ 40 case 0 : finiteelement = P1Enum; break; 41 case 1 : finiteelement = P2Enum; break; 42 case 2 : finiteelement = P1bubblecondensedEnum; break; 43 case 3 : finiteelement = P1bubbleEnum; break; 44 default: _error_("finite element "<<temp<<" not supported"); 45 } 38 iomodel->Constant(&finiteelement,FlowequationFeSSAEnum); 46 39 } 47 40 else if(isL1L2){ … … 51 44 else if(isHO){ 52 45 approximation = HOApproximationEnum; 53 iomodel->Constant(&temp,FlowequationFeHOEnum); 54 switch(temp){ 55 case 0 : finiteelement = P1Enum; break; 56 case 1 : finiteelement = P1xP2Enum; break; 57 case 2 : finiteelement = P2xP1Enum; break; 58 case 3 : finiteelement = P2Enum; break; 59 case 4 : finiteelement = P1bubblecondensedEnum; break; 60 case 5 : finiteelement = P1bubbleEnum; break; 61 default: _error_("finite element "<<temp<<" not supported"); 62 } 46 iomodel->Constant(&finiteelement,FlowequationFeHOEnum); 63 47 } 64 48 else if(isFS){ 65 49 approximation = FSApproximationEnum; 66 iomodel->Constant(&temp,FlowequationFeFSEnum); 67 switch(temp){ 68 case 0 : finiteelement = P1P1Enum; break; 69 case 1 : finiteelement = P1P1GLSEnum; break; 70 case 2 : finiteelement = MINIcondensedEnum; break; 71 case 3 : finiteelement = MINIEnum; break; 72 case 4 : finiteelement = TaylorHoodEnum; break; 73 default: _error_("finite element "<<temp<<" not supported"); 74 } 50 iomodel->Constant(&finiteelement,FlowequationFeFSEnum); 75 51 } 76 52 iomodel->FetchData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum, -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp ¶
r15771 r15923 16 16 void UpdateElementsStressbalance(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 17 17 18 int materials_type,finiteelement ,temp;18 int materials_type,finiteelement; 19 19 int approximation; 20 20 int* finiteelement_list=NULL; … … 48 48 /*Get finite element type*/ 49 49 if(!iscoupling){ 50 if(isSSA){ 51 iomodel->Constant(&temp,FlowequationFeSSAEnum); 52 switch(temp){ 53 case 0 : finiteelement = P1Enum; break; 54 case 1 : finiteelement = P2Enum; break; 55 case 2 : finiteelement = P1bubblecondensedEnum; break; 56 case 3 : finiteelement = P1bubbleEnum; break; 57 default: _error_("finite element "<<temp<<" not supported"); 58 } 59 } 60 else if(isL1L2){ 61 finiteelement = P1Enum; 62 } 63 else if(isHO){ 64 iomodel->Constant(&temp,FlowequationFeHOEnum); 65 switch(temp){ 66 case 0 : finiteelement = P1Enum; break; 67 case 1 : finiteelement = P1xP2Enum; break; 68 case 2 : finiteelement = P2xP1Enum; break; 69 case 3 : finiteelement = P2Enum; break; 70 case 4 : finiteelement = P1bubblecondensedEnum; break; 71 case 5 : finiteelement = P1bubbleEnum; break; 72 default: _error_("finite element "<<temp<<" not supported"); 73 } 74 } 75 else if(isFS){ 76 iomodel->Constant(&temp,FlowequationFeFSEnum); 77 switch(temp){ 78 case 0 : finiteelement = P1P1Enum; break; 79 case 1 : finiteelement = P1P1GLSEnum; break; 80 case 2 : finiteelement = MINIcondensedEnum; break; 81 case 3 : finiteelement = MINIEnum; break; 82 case 4 : finiteelement = TaylorHoodEnum; break; 83 default: _error_("finite element "<<temp<<" not supported"); 84 } 85 } 50 if(isSSA) iomodel->Constant(&finiteelement,FlowequationFeSSAEnum); 51 else if(isL1L2) finiteelement = P1Enum; 52 else if(isHO) iomodel->Constant(&finiteelement,FlowequationFeHOEnum); 53 else if(isFS) iomodel->Constant(&finiteelement,FlowequationFeFSEnum); 86 54 for(int i=0;i<iomodel->numberofelements;i++){ 87 55 finiteelement_list[i]=finiteelement;
Note:
See TracChangeset
for help on using the changeset viewer.