source: issm/oecreview/Archive/15392-16133/ISSM-15922-15923.diff@ 16134

Last change on this file since 16134 was 16134, checked in by Mathieu Morlighem, 12 years ago

Added Archive/15392-16133

File size: 7.7 KB
RevLine 
[16134]1Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp
2===================================================================
3--- ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp (revision 15922)
4+++ ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateConstraintsStressbalance.cpp (revision 15923)
5@@ -12,7 +12,7 @@
6
7 /*Intermediary*/
8 int i,j;
9- int count,temp,finiteelement;
10+ int count,finiteelement;
11 IssmDouble g;
12 IssmDouble rho_ice;
13 IssmDouble FSreconditioning;
14@@ -70,43 +70,11 @@
15 if(!iscoupling){
16
17 /*Get finite element type*/
18- if(isSSA){
19- iomodel->Constant(&temp,FlowequationFeSSAEnum);
20- switch(temp){
21- case 0 : finiteelement = P1Enum; break;
22- case 1 : finiteelement = P2Enum; break;
23- case 2 : finiteelement = P1bubblecondensedEnum; break;
24- case 3 : finiteelement = P1bubbleEnum; break;
25- default: _error_("finite element "<<temp<<" not supported");
26- }
27- }
28- else if(isL1L2){
29- finiteelement = P1Enum;
30- }
31- else if(isHO){
32- iomodel->Constant(&temp,FlowequationFeHOEnum);
33- switch(temp){
34- case 0 : finiteelement = P1Enum; break;
35- case 1 : finiteelement = P1xP2Enum; break;
36- case 2 : finiteelement = P2xP1Enum; break;
37- case 3 : finiteelement = P2Enum; break;
38- case 4 : finiteelement = P1bubblecondensedEnum; break;
39- case 5 : finiteelement = P1bubbleEnum; break;
40- default: _error_("finite element "<<temp<<" not supported");
41- }
42- }
43- else if(isFS){
44- finiteelement = P1Enum;
45- iomodel->Constant(&temp,FlowequationFeFSEnum);
46- switch(temp){
47- case 0 : finiteelement = P1Enum; break;//P1P1
48- case 1 : finiteelement = P1Enum; break;//P1P1GSL
49- case 2 : finiteelement = P1bubbleEnum; break;//MINIcondensed
50- case 3 : finiteelement = P1bubbleEnum; break;//MINI
51- case 4 : finiteelement = P2Enum; break;//TaylorHood (P2P1)
52- default: _error_("finite element "<<temp<<" not supported");
53- }
54- }
55+ if(isSSA) iomodel->Constant(&finiteelement,FlowequationFeSSAEnum);
56+ else if(isL1L2) finiteelement = P1Enum;
57+ else if(isHO) iomodel->Constant(&finiteelement,FlowequationFeHOEnum);
58+ else if(isFS) iomodel->Constant(&finiteelement,FlowequationFeFSEnum);
59+
60 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvxEnum,StressbalanceAnalysisEnum,finiteelement,1);
61 IoModelToConstraintsx(constraints,iomodel,StressbalanceSpcvyEnum,StressbalanceAnalysisEnum,finiteelement,2);
62
63Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp
64===================================================================
65--- ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp (revision 15922)
66+++ ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp (revision 15923)
67@@ -12,7 +12,7 @@
68
69 /*Intermediary*/
70 bool isSSA,isL1L2,isHO,isFS,iscoupling;
71- int temp,finiteelement=-1,approximation=-1;
72+ int finiteelement=-1,approximation=-1;
73
74 /*Fetch parameters: */
75 iomodel->Constant(&isSSA,FlowequationIsSSAEnum);
76@@ -35,14 +35,7 @@
77 /*Get finite element type*/
78 if(isSSA){
79 approximation=SSAApproximationEnum;
80- iomodel->Constant(&temp,FlowequationFeSSAEnum);
81- switch(temp){
82- case 0 : finiteelement = P1Enum; break;
83- case 1 : finiteelement = P2Enum; break;
84- case 2 : finiteelement = P1bubblecondensedEnum; break;
85- case 3 : finiteelement = P1bubbleEnum; break;
86- default: _error_("finite element "<<temp<<" not supported");
87- }
88+ iomodel->Constant(&finiteelement,FlowequationFeSSAEnum);
89 }
90 else if(isL1L2){
91 approximation = L1L2ApproximationEnum;
92@@ -50,28 +43,11 @@
93 }
94 else if(isHO){
95 approximation = HOApproximationEnum;
96- iomodel->Constant(&temp,FlowequationFeHOEnum);
97- switch(temp){
98- case 0 : finiteelement = P1Enum; break;
99- case 1 : finiteelement = P1xP2Enum; break;
100- case 2 : finiteelement = P2xP1Enum; break;
101- case 3 : finiteelement = P2Enum; break;
102- case 4 : finiteelement = P1bubblecondensedEnum; break;
103- case 5 : finiteelement = P1bubbleEnum; break;
104- default: _error_("finite element "<<temp<<" not supported");
105- }
106+ iomodel->Constant(&finiteelement,FlowequationFeHOEnum);
107 }
108 else if(isFS){
109 approximation = FSApproximationEnum;
110- iomodel->Constant(&temp,FlowequationFeFSEnum);
111- switch(temp){
112- case 0 : finiteelement = P1P1Enum; break;
113- case 1 : finiteelement = P1P1GLSEnum; break;
114- case 2 : finiteelement = MINIcondensedEnum; break;
115- case 3 : finiteelement = MINIEnum; break;
116- case 4 : finiteelement = TaylorHoodEnum; break;
117- default: _error_("finite element "<<temp<<" not supported");
118- }
119+ iomodel->Constant(&finiteelement,FlowequationFeFSEnum);
120 }
121 iomodel->FetchData(8,MeshVertexonbedEnum,MeshVertexonsurfaceEnum,FlowequationBorderSSAEnum,FlowequationBorderFSEnum,
122 MaskVertexongroundediceEnum,MaskVertexonfloatingiceEnum,FlowequationVertexEquationEnum,StressbalanceReferentialEnum);
123Index: ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp
124===================================================================
125--- ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp (revision 15922)
126+++ ../trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/UpdateElementsStressbalance.cpp (revision 15923)
127@@ -15,7 +15,7 @@
128
129 void UpdateElementsStressbalance(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
130
131- int materials_type,finiteelement,temp;
132+ int materials_type,finiteelement;
133 int approximation;
134 int* finiteelement_list=NULL;
135 bool isSSA,isL1L2,isHO,isFS,iscoupling;
136@@ -47,42 +47,10 @@
137
138 /*Get finite element type*/
139 if(!iscoupling){
140- if(isSSA){
141- iomodel->Constant(&temp,FlowequationFeSSAEnum);
142- switch(temp){
143- case 0 : finiteelement = P1Enum; break;
144- case 1 : finiteelement = P2Enum; break;
145- case 2 : finiteelement = P1bubblecondensedEnum; break;
146- case 3 : finiteelement = P1bubbleEnum; break;
147- default: _error_("finite element "<<temp<<" not supported");
148- }
149- }
150- else if(isL1L2){
151- finiteelement = P1Enum;
152- }
153- else if(isHO){
154- iomodel->Constant(&temp,FlowequationFeHOEnum);
155- switch(temp){
156- case 0 : finiteelement = P1Enum; break;
157- case 1 : finiteelement = P1xP2Enum; break;
158- case 2 : finiteelement = P2xP1Enum; break;
159- case 3 : finiteelement = P2Enum; break;
160- case 4 : finiteelement = P1bubblecondensedEnum; break;
161- case 5 : finiteelement = P1bubbleEnum; break;
162- default: _error_("finite element "<<temp<<" not supported");
163- }
164- }
165- else if(isFS){
166- iomodel->Constant(&temp,FlowequationFeFSEnum);
167- switch(temp){
168- case 0 : finiteelement = P1P1Enum; break;
169- case 1 : finiteelement = P1P1GLSEnum; break;
170- case 2 : finiteelement = MINIcondensedEnum; break;
171- case 3 : finiteelement = MINIEnum; break;
172- case 4 : finiteelement = TaylorHoodEnum; break;
173- default: _error_("finite element "<<temp<<" not supported");
174- }
175- }
176+ if(isSSA) iomodel->Constant(&finiteelement,FlowequationFeSSAEnum);
177+ else if(isL1L2) finiteelement = P1Enum;
178+ else if(isHO) iomodel->Constant(&finiteelement,FlowequationFeHOEnum);
179+ else if(isFS) iomodel->Constant(&finiteelement,FlowequationFeFSEnum);
180 for(int i=0;i<iomodel->numberofelements;i++){
181 finiteelement_list[i]=finiteelement;
182 }
Note: See TracBrowser for help on using the repository browser.