source: issm/oecreview/Archive/16554-17801/ISSM-17584-17585.diff@ 17802

Last change on this file since 17802 was 17802, checked in by Mathieu Morlighem, 11 years ago

Added archives

File size: 50.6 KB
RevLine 
[17802]1Index: ../trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp
2===================================================================
3--- ../trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp (revision 17584)
4+++ ../trunk-jpl/src/c/analyses/BalancethicknessAnalysis.cpp (revision 17585)
5@@ -125,7 +125,7 @@
6 }/*}}}*/
7 ElementMatrix* BalancethicknessAnalysis::CreateKMatrix(Element* element){/*{{{*/
8
9- if(!element->IsOnBed()) return NULL;
10+ if(!element->IsOnBase()) return NULL;
11 Element* basalelement = element->SpawnBasalElement();
12
13 ElementMatrix* Ke = NULL;
14@@ -317,7 +317,7 @@
15 }/*}}}*/
16 ElementVector* BalancethicknessAnalysis::CreatePVector(Element* element){/*{{{*/
17
18- if(!element->IsOnBed()) return NULL;
19+ if(!element->IsOnBase()) return NULL;
20 Element* basalelement = element->SpawnBasalElement();
21
22 ElementVector* pe = NULL;
23Index: ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp
24===================================================================
25--- ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp (revision 17584)
26+++ ../trunk-jpl/src/c/analyses/HydrologyDCEfficientAnalysis.cpp (revision 17585)
27@@ -120,7 +120,7 @@
28 basalelement = element;
29 break;
30 case Mesh3DEnum:
31- if(!element->IsOnBed()) return NULL;
32+ if(!element->IsOnBase()) return NULL;
33 basalelement = element->SpawnBasalElement();
34 break;
35 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
36@@ -224,7 +224,7 @@
37 basalelement = element;
38 break;
39 case Mesh3DEnum:
40- if(!element->IsOnBed()) return NULL;
41+ if(!element->IsOnBase()) return NULL;
42 basalelement = element->SpawnBasalElement();
43 break;
44 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
45@@ -322,7 +322,7 @@
46 element->FindParam(&meshtype,MeshTypeEnum);
47
48 if(meshtype!=Mesh2DhorizontalEnum){
49- if(!element->IsOnBed()) return;
50+ if(!element->IsOnBase()) return;
51 basalelement=element->SpawnBasalElement();
52 }
53 else{
54@@ -493,7 +493,7 @@
55
56 switch(meshtype){
57 case Mesh2DhorizontalEnum:
58- if(!element->IsOnBed()) return;
59+ if(!element->IsOnBase()) return;
60 B = element->GetMaterialParameter(MaterialsRheologyBbarEnum);
61 break;
62 case Mesh3DEnum:
63@@ -613,7 +613,7 @@
64 basalelement = element;
65 break;
66 case Mesh3DEnum:
67- if(!element->IsOnBed()) return;
68+ if(!element->IsOnBase()) return;
69 basalelement = element->SpawnBasalElement();
70 break;
71 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
72@@ -693,7 +693,7 @@
73 basalelement = element;
74 break;
75 case Mesh3DEnum:
76- if(!element->IsOnBed()) return;
77+ if(!element->IsOnBase()) return;
78 basalelement = element->SpawnBasalElement();
79 break;
80 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
81Index: ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
82===================================================================
83--- ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp (revision 17584)
84+++ ../trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp (revision 17585)
85@@ -64,7 +64,7 @@
86 basalelement = element;
87 break;
88 case Mesh3DEnum:
89- if(!element->IsOnBed()) return NULL;
90+ if(!element->IsOnBase()) return NULL;
91 basalelement = element->SpawnBasalElement();
92 break;
93 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
94@@ -693,7 +693,7 @@
95 basalelement = element;
96 break;
97 case Mesh3DEnum:
98- if(!element->IsOnBed()) return NULL;
99+ if(!element->IsOnBase()) return NULL;
100 basalelement = element->SpawnBasalElement();
101 break;
102 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
103Index: ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp
104===================================================================
105--- ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp (revision 17584)
106+++ ../trunk-jpl/src/c/analyses/LevelsetAnalysis.cpp (revision 17585)
107@@ -83,7 +83,7 @@
108 }/*}}}*/
109 ElementMatrix* LevelsetAnalysis::CreateKMatrix(Element* element){/*{{{*/
110
111- if(!element->IsOnBed()) return NULL;
112+ if(!element->IsOnBase()) return NULL;
113 Element* basalelement = element->SpawnBasalElement();
114
115 /*Intermediaries */
116@@ -252,7 +252,7 @@
117 }/*}}}*/
118 ElementVector* LevelsetAnalysis::CreatePVector(Element* element){/*{{{*/
119
120- if(!element->IsOnBed()) return NULL;
121+ if(!element->IsOnBase()) return NULL;
122 Element* basalelement = element->SpawnBasalElement();
123
124 /*Intermediaries */
125Index: ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp
126===================================================================
127--- ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 17584)
128+++ ../trunk-jpl/src/c/analyses/StressbalanceVerticalAnalysis.cpp (revision 17585)
129@@ -277,7 +277,7 @@
130 IssmDouble Jdet,slope[3];
131 IssmDouble vx,vy,vz=0.,dbdx,dbdy,basalmeltingvalue;
132
133- if(!element->IsOnBed()) return NULL;
134+ if(!element->IsOnBase()) return NULL;
135
136 /*Fetch number of nodes for this finite element*/
137 int numnodes = element->GetNumberOfNodes();
138Index: ../trunk-jpl/src/c/analyses/MeltingAnalysis.cpp
139===================================================================
140--- ../trunk-jpl/src/c/analyses/MeltingAnalysis.cpp (revision 17584)
141+++ ../trunk-jpl/src/c/analyses/MeltingAnalysis.cpp (revision 17585)
142@@ -84,7 +84,7 @@
143 ElementMatrix* MeltingAnalysis::CreateKMatrix(Element* element){/*{{{*/
144
145 /*Get basal element*/
146- if(!element->IsOnBed()) return NULL;
147+ if(!element->IsOnBase()) return NULL;
148 Element* basalelement = element->SpawnBasalElement();
149
150 /*Intermediaries */
151Index: ../trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp
152===================================================================
153--- ../trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp (revision 17584)
154+++ ../trunk-jpl/src/c/analyses/ExtrudeFromBaseAnalysis.cpp (revision 17585)
155@@ -162,7 +162,7 @@
156 /*}}}*/
157 ElementMatrix* ExtrudeFromBaseAnalysis::CreateKMatrixBed(Element* element){/*{{{*/
158
159- if(!element->IsOnBed()) return NULL;
160+ if(!element->IsOnBase()) return NULL;
161
162 /*Intermediaries */
163 IssmDouble Jdet,D,normal[3];
164Index: ../trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp
165===================================================================
166--- ../trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp (revision 17584)
167+++ ../trunk-jpl/src/c/analyses/AdjointBalancethicknessAnalysis.cpp (revision 17585)
168@@ -58,7 +58,7 @@
169 basalelement = element;
170 break;
171 case Mesh3DEnum:
172- if(!element->IsOnBed()) return NULL;
173+ if(!element->IsOnBase()) return NULL;
174 basalelement = element->SpawnBasalElement();
175 break;
176 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
177Index: ../trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp
178===================================================================
179--- ../trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp (revision 17584)
180+++ ../trunk-jpl/src/c/analyses/L2ProjectionEPLAnalysis.cpp (revision 17585)
181@@ -93,11 +93,11 @@
182 basalelement = element;
183 break;
184 case Mesh2DverticalEnum:
185- if(!element->IsOnBed()) return NULL;
186+ if(!element->IsOnBase()) return NULL;
187 basalelement = element->SpawnBasalElement();
188 break;
189 case Mesh3DEnum:
190- if(!element->IsOnBed()) return NULL;
191+ if(!element->IsOnBase()) return NULL;
192 basalelement = element->SpawnBasalElement();
193 break;
194 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
195@@ -165,7 +165,7 @@
196 basalelement = element;
197 break;
198 case Mesh3DEnum:
199- if(!element->IsOnBed()) return NULL;
200+ if(!element->IsOnBase()) return NULL;
201 basalelement = element->SpawnBasalElement();
202 break;
203 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
204Index: ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp
205===================================================================
206--- ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 17584)
207+++ ../trunk-jpl/src/c/analyses/MasstransportAnalysis.cpp (revision 17585)
208@@ -243,7 +243,7 @@
209 /* Check if ice in element */
210 if(!element->IsIceInElement()) return NULL;
211
212- if(!element->IsOnBed()) return NULL;
213+ if(!element->IsOnBase()) return NULL;
214 Element* basalelement = element->SpawnBasalElement();
215
216 ElementMatrix* Ke = NULL;
217@@ -489,7 +489,7 @@
218 /* Check if ice in element */
219 if(!element->IsIceInElement()) return NULL;
220
221- if(!element->IsOnBed()) return NULL;
222+ if(!element->IsOnBase()) return NULL;
223 Element* basalelement = element->SpawnBasalElement();
224
225 ElementVector* pe = NULL;
226@@ -676,7 +676,7 @@
227
228 element->FindParam(&meshtype,MeshTypeEnum);
229 if(meshtype!=Mesh2DhorizontalEnum){
230- if(!element->IsOnBed()) return;
231+ if(!element->IsOnBase()) return;
232 basalelement=element->SpawnBasalElement();
233 }
234 else{
235Index: ../trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp
236===================================================================
237--- ../trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp (revision 17584)
238+++ ../trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeXAnalysis.cpp (revision 17585)
239@@ -114,7 +114,7 @@
240 basalelement = element;
241 break;
242 case Mesh3DEnum:
243- if(!element->IsOnBed()) return NULL;
244+ if(!element->IsOnBase()) return NULL;
245 basalelement = element->SpawnBasalElement();
246 break;
247 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
248Index: ../trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp
249===================================================================
250--- ../trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp (revision 17584)
251+++ ../trunk-jpl/src/c/analyses/SmoothedSurfaceSlopeYAnalysis.cpp (revision 17585)
252@@ -114,7 +114,7 @@
253 basalelement = element;
254 break;
255 case Mesh3DEnum:
256- if(!element->IsOnBed()) return NULL;
257+ if(!element->IsOnBase()) return NULL;
258 basalelement = element->SpawnBasalElement();
259 break;
260 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
261Index: ../trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp
262===================================================================
263--- ../trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp (revision 17584)
264+++ ../trunk-jpl/src/c/analyses/ExtrudeFromTopAnalysis.cpp (revision 17585)
265@@ -162,7 +162,7 @@
266 /*}}}*/
267 ElementMatrix* ExtrudeFromTopAnalysis::CreateKMatrixBed(Element* element){/*{{{*/
268
269- if(!element->IsOnBed()) return NULL;
270+ if(!element->IsOnBase()) return NULL;
271
272 /*Intermediaries */
273 IssmDouble Jdet,D,normal[3];
274Index: ../trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp
275===================================================================
276--- ../trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp (revision 17584)
277+++ ../trunk-jpl/src/c/analyses/BalancevelocityAnalysis.cpp (revision 17585)
278@@ -157,7 +157,7 @@
279 basalelement = element;
280 break;
281 case Mesh3DEnum:
282- if(!element->IsOnBed()) return NULL;
283+ if(!element->IsOnBase()) return NULL;
284 basalelement = element->SpawnBasalElement();
285 break;
286 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
287Index: ../trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp
288===================================================================
289--- ../trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp (revision 17584)
290+++ ../trunk-jpl/src/c/analyses/L2ProjectionBaseAnalysis.cpp (revision 17585)
291@@ -77,15 +77,15 @@
292 basalelement = element;
293 break;
294 case Mesh2DverticalEnum:
295- if(!element->IsOnBed()) return NULL;
296+ if(!element->IsOnBase()) return NULL;
297 basalelement = element->SpawnBasalElement();
298 break;
299 case Mesh3DEnum:
300- if(!element->IsOnBed()) return NULL;
301+ if(!element->IsOnBase()) return NULL;
302 basalelement = element->SpawnBasalElement();
303 break;
304 case Mesh3DtetrasEnum:
305- if(!element->IsOnBed()) return NULL;
306+ if(!element->IsOnBase()) return NULL;
307 basalelement = element->SpawnBasalElement();
308 break;
309 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
310@@ -140,15 +140,15 @@
311 basalelement = element;
312 break;
313 case Mesh2DverticalEnum:
314- if(!element->IsOnBed()) return NULL;
315+ if(!element->IsOnBase()) return NULL;
316 basalelement = element->SpawnBasalElement();
317 break;
318 case Mesh3DEnum:
319- if(!element->IsOnBed()) return NULL;
320+ if(!element->IsOnBase()) return NULL;
321 basalelement = element->SpawnBasalElement();
322 break;
323 case Mesh3DtetrasEnum:
324- if(!element->IsOnBed()) return NULL;
325+ if(!element->IsOnBase()) return NULL;
326 basalelement = element->SpawnBasalElement();
327 break;
328 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
329Index: ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
330===================================================================
331--- ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 17584)
332+++ ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 17585)
333@@ -226,7 +226,7 @@
334 j0=2*nodeup; j1=2*nodeup+1;
335
336 /*Create matrix for these two nodes*/
337- if(element->IsOnBed() && element->IsOnSurface()){
338+ if(element->IsOnBase() && element->IsOnSurface()){
339 Ke->values[i0*numdof+i0] = +one0;
340 Ke->values[i1*numdof+i1] = +one0;
341 Ke->values[j0*numdof+i0] = -one1;
342@@ -234,7 +234,7 @@
343 Ke->values[j1*numdof+i1] = -one1;
344 Ke->values[j1*numdof+j1] = +one1;
345 }
346- else if(element->IsOnBed()){
347+ else if(element->IsOnBase()){
348 Ke->values[i0*numdof+i0] = one0;
349 Ke->values[i1*numdof+i1] = one0;
350 Ke->values[j0*numdof+i0] = -2.*one1;
351@@ -418,7 +418,7 @@
352 }
353
354 /*Deal with basal velocities*/
355- if(element->IsOnBed()){
356+ if(element->IsOnBase()){
357 drag_input->GetInputValue(&drag,gauss);
358
359 switch(frictionlaw){
360Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
361===================================================================
362--- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 17584)
363+++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 17585)
364@@ -1084,7 +1084,7 @@
365 basalelement = element;
366 break;
367 case Mesh3DEnum:
368- if(!element->IsOnBed()) return NULL;
369+ if(!element->IsOnBase()) return NULL;
370 basalelement = element->SpawnBasalElement();
371 break;
372 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
373@@ -1170,7 +1170,7 @@
374 basalelement = element;
375 break;
376 case Mesh3DEnum: case Mesh2DverticalEnum:
377- if(!element->IsOnBed()) return NULL;
378+ if(!element->IsOnBase()) return NULL;
379 basalelement = element->SpawnBasalElement();
380 break;
381 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
382@@ -1373,7 +1373,7 @@
383 basalelement = element;
384 break;
385 case Mesh3DEnum: case Mesh2DverticalEnum:
386- if(!element->IsOnBed()) return NULL;
387+ if(!element->IsOnBase()) return NULL;
388 basalelement = element->SpawnBasalElement();
389 break;
390 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
391@@ -1691,7 +1691,7 @@
392 basalelement = element;
393 break;
394 case Mesh3DEnum: case Mesh2DverticalEnum:
395- if(!element->IsOnBed()){xDelete<IssmDouble>(xyz_list); return;}
396+ if(!element->IsOnBase()){xDelete<IssmDouble>(xyz_list); return;}
397 basalelement=element->SpawnBasalElement();
398 break;
399 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
400@@ -1772,7 +1772,7 @@
401 }/*}}}*/
402 ElementMatrix* StressbalanceAnalysis::CreateKMatrixL1L2Friction(Element* element){/*{{{*/
403
404- if(!element->IsOnBed() || element->IsFloating()) return NULL;
405+ if(!element->IsOnBase() || element->IsFloating()) return NULL;
406 Element* basalelement = element->SpawnBasalElement();
407 ElementMatrix* Ke = CreateKMatrixSSAFriction(basalelement);
408
409@@ -1853,7 +1853,7 @@
410 basalelement = element;
411 break;
412 case Mesh3DEnum:
413- if(!element->IsOnBed()) return NULL;
414+ if(!element->IsOnBase()) return NULL;
415 basalelement = element->SpawnBasalElement();
416 break;
417 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
418@@ -2017,7 +2017,7 @@
419 basalelement = element;
420 break;
421 case Mesh3DEnum:
422- if(!element->IsOnBed()){xDelete<IssmDouble>(xyz_list); return;}
423+ if(!element->IsOnBase()){xDelete<IssmDouble>(xyz_list); return;}
424 basalelement=element->SpawnBasalElement();
425 break;
426 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
427@@ -2235,7 +2235,7 @@
428 /* Check if ice in element */
429 if(!element->IsIceInElement()) return NULL;
430
431- if(element->IsFloating() || !element->IsOnBed()) return NULL;
432+ if(element->IsFloating() || !element->IsOnBase()) return NULL;
433
434 /*Intermediaries*/
435 int dim,meshtype;
436@@ -3040,7 +3040,7 @@
437 }/*}}}*/
438 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/
439
440- if(element->IsFloating() || !element->IsOnBed()) return NULL;
441+ if(element->IsFloating() || !element->IsOnBase()) return NULL;
442
443 /*If on water or not FS, skip stiffness: */
444 int approximation;
445@@ -3133,7 +3133,7 @@
446 }/*}}}*/
447 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSShelf(Element* element){/*{{{*/
448
449- if(!element->IsFloating() || !element->IsOnBed()) return NULL;
450+ if(!element->IsFloating() || !element->IsOnBase()) return NULL;
451
452 /*If on not water or not FS, skip stiffness: */
453 int approximation,shelf_dampening;
454@@ -3564,7 +3564,7 @@
455 IssmDouble *xyz_list_base = NULL;
456
457 /*Get basal element*/
458- if(!element->IsOnBed() || !element->IsFloating()) return NULL;
459+ if(!element->IsOnBase() || !element->IsFloating()) return NULL;
460
461 /*Get problem dimension*/
462 element->FindParam(&meshtype,MeshTypeEnum);
463@@ -4508,7 +4508,7 @@
464 ElementMatrix* StressbalanceAnalysis::CreateKMatrixSSA3dFriction(Element* element){/*{{{*/
465
466 /*Initialize Element matrix and return if necessary*/
467- if(element->IsFloating() || !element->IsOnBed()) return NULL;
468+ if(element->IsFloating() || !element->IsOnBase()) return NULL;
469
470 /*Build a tria element using the 3 nodes of the base of the penta. Then use
471 * the tria functionality to build a friction stiffness matrix on these 3
472@@ -4732,7 +4732,7 @@
473 }/*}}}*/
474 ElementMatrix* StressbalanceAnalysis::CreateKMatrixCouplingSSAHOFriction(Element* element){/*{{{*/
475
476- if(element->IsFloating() || !element->IsOnBed()) return NULL;
477+ if(element->IsFloating() || !element->IsOnBase()) return NULL;
478
479 /*Constants*/
480 int numnodes = element->GetNumberOfNodes();
481@@ -4938,7 +4938,7 @@
482
483 /*If on water or not FS, skip stiffness: */
484 element->GetInputValue(&approximation,ApproximationEnum);
485- if(element->IsFloating() || !element->IsOnBed()) return NULL;
486+ if(element->IsFloating() || !element->IsOnBase()) return NULL;
487
488 int vnumnodes = element->NumberofNodesVelocity();
489 int pnumnodes = element->NumberofNodesPressure();
490@@ -5223,7 +5223,7 @@
491 IssmDouble basis[6]; //for the six nodes of the penta
492
493 /*Initialize Element vector and return if necessary*/
494- if(!element->IsOnBed() || element->IsFloating()) return NULL;
495+ if(!element->IsOnBase() || element->IsFloating()) return NULL;
496 element->GetInputValue(&approximation,ApproximationEnum);
497 if(approximation!=HOFSApproximationEnum) return NULL;
498
499@@ -5387,7 +5387,7 @@
500 IssmDouble *xyz_list = NULL;
501
502 /*Initialize Element vector and return if necessary*/
503- if(!element->IsOnBed() || element->IsFloating()) return NULL;
504+ if(!element->IsOnBase() || element->IsFloating()) return NULL;
505 element->GetInputValue(&approximation,ApproximationEnum);
506 if(approximation!=SSAFSApproximationEnum) return NULL;
507 int vnumnodes = element->NumberofNodesVelocity();
508Index: ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp
509===================================================================
510--- ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp (revision 17584)
511+++ ../trunk-jpl/src/c/analyses/HydrologyDCInefficientAnalysis.cpp (revision 17585)
512@@ -164,7 +164,7 @@
513 basalelement = element;
514 break;
515 case Mesh3DEnum:
516- if(!element->IsOnBed()) return NULL;
517+ if(!element->IsOnBase()) return NULL;
518 basalelement = element->SpawnBasalElement();
519 break;
520 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
521@@ -269,7 +269,7 @@
522 basalelement = element;
523 break;
524 case Mesh3DEnum:
525- if(!element->IsOnBed()) return NULL;
526+ if(!element->IsOnBase()) return NULL;
527 basalelement = element->SpawnBasalElement();
528 break;
529 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
530@@ -398,7 +398,7 @@
531
532 element->FindParam(&meshtype,MeshTypeEnum);
533 if(meshtype!=Mesh2DhorizontalEnum){
534- if(!element->IsOnBed()) return;
535+ if(!element->IsOnBase()) return;
536 basalelement=element->SpawnBasalElement();
537 }
538 else{
539Index: ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
540===================================================================
541--- ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp (revision 17584)
542+++ ../trunk-jpl/src/c/analyses/ThermalAnalysis.cpp (revision 17585)
543@@ -280,13 +280,13 @@
544 if(!element->IsIceInElement()) return NULL;
545
546 /*Initialize Element matrix and return if necessary*/
547- if(!element->IsOnBed() || !element->IsFloating()) return NULL;
548+ if(!element->IsOnBase() || !element->IsFloating()) return NULL;
549
550 IssmDouble dt,Jdet,D;
551 IssmDouble *xyz_list_base = NULL;
552
553 /*Get basal element*/
554- if(!element->IsOnBed() || !element->IsFloating()) return NULL;
555+ if(!element->IsOnBase() || !element->IsFloating()) return NULL;
556
557 /*Fetch number of nodes for this finite element*/
558 int numnodes = element->GetNumberOfNodes();
559@@ -433,7 +433,7 @@
560 if(!element->IsIceInElement()) return NULL;
561
562 /* Geothermal flux on ice sheet base and basal friction */
563- if(!element->IsOnBed() || element->IsFloating()) return NULL;
564+ if(!element->IsOnBase() || element->IsFloating()) return NULL;
565
566 IssmDouble dt,Jdet,geothermalflux,vx,vy,vz;
567 IssmDouble alpha2,scalar,basalfriction,heatflux;
568@@ -498,7 +498,7 @@
569 IssmDouble *xyz_list_base = NULL;
570
571 /*Get basal element*/
572- if(!element->IsOnBed() || !element->IsFloating()) return NULL;
573+ if(!element->IsOnBase() || !element->IsFloating()) return NULL;
574
575 /*Fetch number of nodes for this finite element*/
576 int numnodes = element->GetNumberOfNodes();
577Index: ../trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp
578===================================================================
579--- ../trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp (revision 17584)
580+++ ../trunk-jpl/src/c/analyses/DamageEvolutionAnalysis.cpp (revision 17585)
581@@ -122,7 +122,7 @@
582 dim = 2;
583 break;
584 case Mesh3DEnum:
585- if(!element->IsOnBed()) return NULL;
586+ if(!element->IsOnBase()) return NULL;
587 basalelement = element->SpawnBasalElement();
588 dim = 2;
589 break;
590@@ -270,7 +270,7 @@
591 basalelement = element;
592 break;
593 case Mesh3DEnum:
594- if(!element->IsOnBed()) return NULL;
595+ if(!element->IsOnBase()) return NULL;
596 basalelement = element->SpawnBasalElement();
597 break;
598 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
599@@ -383,7 +383,7 @@
600
601 element->FindParam(&meshtype,MeshTypeEnum);
602 if(meshtype!=Mesh2DhorizontalEnum){
603- if(!element->IsOnBed()) return;
604+ if(!element->IsOnBase()) return;
605 basalelement=element->SpawnBasalElement();
606 }
607 else{
608Index: ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
609===================================================================
610--- ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 17584)
611+++ ../trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp (revision 17585)
612@@ -353,7 +353,7 @@
613 if(!element->IsIceInElement()) return NULL;
614
615 /*Initialize Element matrix and return if necessary*/
616- if(!element->IsOnBed() || !element->IsFloating()) return NULL;
617+ if(!element->IsOnBase() || !element->IsFloating()) return NULL;
618
619 /*Intermediaries*/
620 IssmDouble dt,Jdet,D;
621@@ -538,7 +538,7 @@
622 if(!element->IsIceInElement()) return NULL;
623
624 /* implementation of the basal condition decision chart of Aschwanden 2012, Fig.5 */
625- if(!element->IsOnBed() || element->IsFloating()) return NULL;
626+ if(!element->IsOnBase() || element->IsFloating()) return NULL;
627
628 IssmDouble dt,Jdet,enthalpy,pressure,watercolumn,geothermalflux,vx,vy,vz;
629 IssmDouble enthalpyup,pressureup,alpha2,scalar,basalfriction,heatflux;
630@@ -628,7 +628,7 @@
631 if(!element->IsIceInElement()) return NULL;
632
633 /*Get basal element*/
634- if(!element->IsOnBed() || !element->IsFloating()) return NULL;
635+ if(!element->IsOnBase() || !element->IsFloating()) return NULL;
636
637 IssmDouble h_pmp,dt,Jdet,scalar_ocean,pressure;
638 IssmDouble *xyz_list_base = NULL;
639@@ -901,7 +901,7 @@
640 if(!element->IsIceInElement()) return;
641
642 /* Only compute melt rates at the base of grounded ice*/
643- if(!element->IsOnBed() || element->IsFloating()) return;
644+ if(!element->IsOnBase() || element->IsFloating()) return;
645
646 /* Intermediaries */
647 const int dim=3;
648@@ -1047,7 +1047,7 @@
649 if(!element->IsIceInElement()) return;
650
651 /* Only drain waterfraction of ice column from element at base*/
652- if(!element->IsOnBed()) return; //FIXME: allow freeze on for floating elements
653+ if(!element->IsOnBase()) return; //FIXME: allow freeze on for floating elements
654
655 /* Intermediaries*/
656 int is, numvertices, numsegments;
657@@ -1149,7 +1149,7 @@
658 if(!element->IsIceInElement()) return;
659
660 /* Only update Constraints at the base of grounded ice*/
661- if(!(element->IsOnBed()) || element->IsFloating()) return;
662+ if(!(element->IsOnBase()) || element->IsFloating()) return;
663
664 /*Intermediary*/
665 bool isdynamicbasalspc,setspc;
666Index: ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp
667===================================================================
668--- ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp (revision 17584)
669+++ ../trunk-jpl/src/c/analyses/FreeSurfaceBaseAnalysis.cpp (revision 17585)
670@@ -118,12 +118,12 @@
671 dim = 2;
672 break;
673 case Mesh2DverticalEnum:
674- if(!element->IsOnBed()) return NULL;
675+ if(!element->IsOnBase()) return NULL;
676 basalelement = element->SpawnBasalElement();
677 dim = 1;
678 break;
679 case Mesh3DEnum:
680- if(!element->IsOnBed()) return NULL;
681+ if(!element->IsOnBase()) return NULL;
682 basalelement = element->SpawnBasalElement();
683 dim = 2;
684 break;
685@@ -241,12 +241,12 @@
686 dim = 2;
687 break;
688 case Mesh2DverticalEnum:
689- if(!element->IsOnBed()) return NULL;
690+ if(!element->IsOnBase()) return NULL;
691 basalelement = element->SpawnBasalElement();
692 dim = 1;
693 break;
694 case Mesh3DEnum:
695- if(!element->IsOnBed()) return NULL;
696+ if(!element->IsOnBase()) return NULL;
697 basalelement = element->SpawnBasalElement();
698 dim = 2;
699 break;
700@@ -372,7 +372,7 @@
701 for(int i=0;i<femmodel->elements->Size();i++){
702
703 Element* element=dynamic_cast<Element*>(femmodel->elements->GetObjectByOffset(i));
704- if(!element->IsOnBed()) continue;
705+ if(!element->IsOnBase()) continue;
706
707 int numnodes = element->GetNumberOfNodes();
708 Input* groundedice_input = element->GetInput(MaskGroundediceLevelsetEnum); _assert_(groundedice_input);
709Index: ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp
710===================================================================
711--- ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp (revision 17584)
712+++ ../trunk-jpl/src/c/analyses/ExtrapolationAnalysis.cpp (revision 17585)
713@@ -83,7 +83,7 @@
714 }/*}}}*/
715 ElementMatrix* ExtrapolationAnalysis::CreateKMatrix(Element* element){/*{{{*/
716
717- if(!element->IsOnBed()) return NULL;
718+ if(!element->IsOnBase()) return NULL;
719 Element* basalelement = element->SpawnBasalElement();
720
721 /*Intermediaries */
722@@ -218,7 +218,7 @@
723 }/*}}}*/
724 ElementVector* ExtrapolationAnalysis::CreatePVector(Element* element){/*{{{*/
725
726- if(!element->IsOnBed()) return NULL;
727+ if(!element->IsOnBase()) return NULL;
728 Element* basalelement = element->SpawnBasalElement();
729
730 /*Intermediaries */
731Index: ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp
732===================================================================
733--- ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp (revision 17584)
734+++ ../trunk-jpl/src/c/classes/Loads/Pengrid.cpp (revision 17585)
735@@ -613,7 +613,7 @@
736 *punstable=unstable;
737 return;
738 }
739- if(!element->IsOnBed()){
740+ if(!element->IsOnBase()){
741 unstable=0;
742 active=0;
743 *punstable=unstable;
744Index: ../trunk-jpl/src/c/classes/Elements/Element.h
745===================================================================
746--- ../trunk-jpl/src/c/classes/Elements/Element.h (revision 17584)
747+++ ../trunk-jpl/src/c/classes/Elements/Element.h (revision 17585)
748@@ -88,7 +88,7 @@
749 void GetVerticesCoordinates(IssmDouble** xyz_list);
750 void GetVerticesSidList(int* sidlist);
751 void GetVerticesConnectivityList(int* connectivitylist);
752- bool HasNodeOnBed();
753+ bool HasNodeOnBase();
754 bool HasNodeOnSurface();
755 int Id();
756 int Sid();
757@@ -182,7 +182,7 @@
758 virtual int GetNumberOfVertices(void)=0;
759
760 virtual bool IsNodeOnShelfFromFlags(IssmDouble* flags)=0;
761- virtual bool IsOnBed()=0;
762+ virtual bool IsOnBase()=0;
763 virtual bool IsOnSurface()=0;
764 virtual void GetGroundedPart(int* point1,IssmDouble* fraction1,IssmDouble* fraction2, bool* mainlyfloating)=0;
765 virtual IssmDouble GetGroundedPortion(IssmDouble* xyz_list)=0;
766Index: ../trunk-jpl/src/c/classes/Elements/Tria.cpp
767===================================================================
768--- ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 17584)
769+++ ../trunk-jpl/src/c/classes/Elements/Tria.cpp (revision 17585)
770@@ -111,7 +111,7 @@
771 IssmDouble values2[NUMVERTICES]={0.};
772 int numindices;
773 int *indices = NULL;
774- int index = this->EdgeOnBedIndex();
775+ int index = this->EdgeOnBaseIndex();
776 NodeOnEdgeIndices(&numindices,&indices,index,this->FiniteElement());
777 for(int i=0;i<numindices;i++){
778 values2[indices[i]] = values[i];
779@@ -475,7 +475,7 @@
780 if(gl[2]==0.) gl[2]=gl[2]+epsilon;
781
782 if(meshtype==Mesh2DverticalEnum){
783- this->EdgeOnBedIndices(&index1,&index2);
784+ this->EdgeOnBaseIndices(&index1,&index2);
785 if(gl[index1]>0 && gl[index2]>0) phi=1; // All grounded
786 else if(gl[index1]<0 && gl[index2]<0) phi=0; // All floating
787 else if(gl[index1]<0 && gl[index2]>0){ //index2 grounded
788@@ -584,7 +584,7 @@
789
790 /*Allocate Output*/
791 IssmDouble* xyz_list_edge = xNew<IssmDouble>(2*3);
792- this->EdgeOnBedIndices(&indices[0],&indices[1]);
793+ this->EdgeOnBaseIndices(&indices[0],&indices[1]);
794 for(int i=0;i<2;i++) for(int j=0;j<2;j++) xyz_list_edge[i*3+j]=xyz_list[indices[i]][j];
795
796 /*Assign output pointer*/
797@@ -1131,14 +1131,14 @@
798
799 }
800 /*}}}*/
801-/*FUNCTION Tria::IsOnBed {{{*/
802-bool Tria::IsOnBed(){
803+/*FUNCTION Tria::IsOnBase {{{*/
804+bool Tria::IsOnBase(){
805
806 int meshtype;
807 this->parameters->FindParam(&meshtype,MeshTypeEnum);
808 switch(meshtype){
809 case Mesh2DverticalEnum:
810- return HasEdgeOnBed();
811+ return HasEdgeOnBase();
812 case Mesh2DhorizontalEnum:
813 return true;
814 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
815@@ -1191,8 +1191,8 @@
816
817 }
818 /*}}}*/
819-/*FUNCTION Tria::HasEdgeOnBed {{{*/
820-bool Tria::HasEdgeOnBed(){
821+/*FUNCTION Tria::HasEdgeOnBase {{{*/
822+bool Tria::HasEdgeOnBase(){
823
824 IssmDouble values[NUMVERTICES];
825 IssmDouble sum;
826@@ -1235,8 +1235,8 @@
827 }
828 }
829 /*}}}*/
830-/*FUNCTION Tria::EdgeOnBedIndices{{{*/
831-void Tria::EdgeOnBedIndices(int* pindex1,int* pindex2){
832+/*FUNCTION Tria::EdgeOnBaseIndices{{{*/
833+void Tria::EdgeOnBaseIndices(int* pindex1,int* pindex2){
834
835 IssmDouble values[NUMVERTICES];
836 int indices[3][2] = {{1,2},{2,0},{0,1}};
837@@ -1277,8 +1277,8 @@
838 _error_("Could not find 2 vertices on surface");
839 }
840 /*}}}*/
841-/*FUNCTION Tria::EdgeOnBedIndex{{{*/
842-int Tria::EdgeOnBedIndex(void){
843+/*FUNCTION Tria::EdgeOnBaseIndex{{{*/
844+int Tria::EdgeOnBaseIndex(void){
845
846 IssmDouble values[NUMVERTICES];
847 int indices[3][2] = {{1,2},{2,0},{0,1}};
848@@ -1318,7 +1318,7 @@
849 /*FUNCTION Tria::FSContactMigration{{{*/
850 void Tria::FSContactMigration(Vector<IssmDouble>* vertexgrounded,Vector<IssmDouble>* vertexfloating){
851
852- if(!IsOnBed()) return;
853+ if(!IsOnBase()) return;
854
855 /*Intermediaries*/
856 IssmDouble* xyz_list = NULL;
857@@ -1397,7 +1397,7 @@
858 Gauss* Tria::NewGaussBase(int order){
859
860 int indices[2];
861- this->EdgeOnBedIndices(&indices[0],&indices[1]);
862+ this->EdgeOnBaseIndices(&indices[0],&indices[1]);
863 return new GaussTria(indices[0],indices[1],order);
864 }
865 /*}}}*/
866@@ -1643,7 +1643,7 @@
867
868 /*For FS only: we want the CS to be tangential to the bedrock*/
869 inputs->GetInputValue(&approximation,ApproximationEnum);
870- if(!HasNodeOnBed() || approximation!=FSApproximationEnum) return;
871+ if(!HasNodeOnBase() || approximation!=FSApproximationEnum) return;
872
873 //printf("element number %i \n",this->id);
874 /*Get inputs*/
875@@ -1773,8 +1773,8 @@
876 case Mesh2DhorizontalEnum:
877 return this;
878 case Mesh2DverticalEnum:
879- _assert_(HasEdgeOnBed());
880- this->EdgeOnBedIndices(&index1,&index2);
881+ _assert_(HasEdgeOnBase());
882+ this->EdgeOnBaseIndices(&index1,&index2);
883 return SpawnSeg(index1,index2);
884 default:
885 _error_("not implemented yet");
886@@ -1986,7 +1986,7 @@
887 /*FUNCTION Tria::UpdateConstraintsExtrudeFromBase{{{*/
888 void Tria::UpdateConstraintsExtrudeFromBase(void){
889
890- if(!HasEdgeOnBed()) return;
891+ if(!HasEdgeOnBase()) return;
892
893 int extrusioninput;
894 IssmDouble value,isonbed;
895Index: ../trunk-jpl/src/c/classes/Elements/Tria.h
896===================================================================
897--- ../trunk-jpl/src/c/classes/Elements/Tria.h (revision 17584)
898+++ ../trunk-jpl/src/c/classes/Elements/Tria.h (revision 17585)
899@@ -69,13 +69,13 @@
900 int GetNodeIndex(Node* node);
901 int GetNumberOfNodes(void);
902 int GetNumberOfVertices(void);
903- bool IsOnBed();
904+ bool IsOnBase();
905 bool IsOnSurface();
906- bool HasEdgeOnBed();
907+ bool HasEdgeOnBase();
908 bool HasEdgeOnSurface();
909 void EdgeOnSurfaceIndices(int* pindex1,int* pindex);
910- void EdgeOnBedIndices(int* pindex1,int* pindex);
911- int EdgeOnBedIndex();
912+ void EdgeOnBaseIndices(int* pindex1,int* pindex);
913+ int EdgeOnBaseIndex();
914 int EdgeOnSurfaceIndex();
915 bool IsNodeOnShelfFromFlags(IssmDouble* flags);
916 int NumberofNodesVelocity(void);
917Index: ../trunk-jpl/src/c/classes/Elements/Penta.cpp
918===================================================================
919--- ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 17584)
920+++ ../trunk-jpl/src/c/classes/Elements/Penta.cpp (revision 17585)
921@@ -118,7 +118,7 @@
922 void Penta::AddBasalInput(int input_enum,IssmDouble* values, int interpolation_enum){
923
924 _assert_(this->inputs);
925- if(!IsOnBed()) return;
926+ if(!IsOnBase()) return;
927 else{
928 if(interpolation_enum==P1Enum){
929 int i;
930@@ -151,7 +151,7 @@
931 GaussPenta *gauss = NULL;
932
933 /* Basal friction can only be found at the base of an ice sheet: */
934- if (!IsOnBed() || IsFloating()){
935+ if (!IsOnBase() || IsFloating()){
936 //empty friction:
937 this->inputs->AddInput(new PentaInput(BasalFrictionEnum,&basalfriction[0],P1Enum));
938 return;
939@@ -218,7 +218,7 @@
940 /*retrieve some parameters: */
941 this->parameters->FindParam(&FSreconditioning,StressbalanceFSreconditioningEnum);
942
943- if(!IsOnBed()){
944+ if(!IsOnBase()){
945 //put zero
946 sigma_b->SetValue(id-1,0.0,INS_VAL);
947 return;
948@@ -373,7 +373,7 @@
949 /*FUNCTION Penta::Delta18oParameterization{{{*/
950 void Penta::Delta18oParameterization(void){
951 /*Are we on the base? If not, return*/
952- if(!IsOnBed()) return;
953+ if(!IsOnBase()) return;
954
955 int i;
956 IssmDouble monthlytemperatures[NUMVERTICES][12],monthlyprec[NUMVERTICES][12];
957@@ -543,7 +543,7 @@
958 penta=this;
959 for(;;){
960 /*Stop if we have reached the surface, else, take lower penta*/
961- if (penta->IsOnBed()) break;
962+ if (penta->IsOnBase()) break;
963
964 /* get lower Penta*/
965 penta=penta->GetLowerPenta();
966@@ -1124,7 +1124,7 @@
967 /*recover parameters: */
968
969 /*Are we on the base? If not, return*/
970- if(!IsOnBed()) return;
971+ if(!IsOnBase()) return;
972
973 /*OK, we are on bed. Initialize global inputs as 0*/
974 total_thickness_input =new PentaInput(ThicknessEnum,zeros_list,P1Enum);
975@@ -1224,7 +1224,7 @@
976 Input **base_inputs = NULL;
977
978 /*Are we on the base, not on the surface?:*/
979- if(!IsOnBed()) return;
980+ if(!IsOnBase()) return;
981
982 /*Step1: Get and Extrude original input: */
983 num_inputs=1;
984@@ -1414,7 +1414,7 @@
985 Penta *penta = NULL;
986
987 /*If not on bed, return*/
988- if (!IsOnBed()) return;
989+ if (!IsOnBase()) return;
990
991 /*Get dof list: */
992 GetDofList(&doflist,NoneApproximationEnum,GsetEnum);
993@@ -1503,8 +1503,8 @@
994 }
995 }
996 /*}}}*/
997-/*FUNCTION Penta::IsOnBed{{{*/
998-bool Penta::IsOnBed(void){
999+/*FUNCTION Penta::IsOnBase{{{*/
1000+bool Penta::IsOnBase(void){
1001
1002 bool onbed;
1003 inputs->GetInputValue(&onbed,MeshElementonbedEnum);
1004@@ -1912,7 +1912,7 @@
1005
1006 /*For FS only: we want the CS to be tangential to the bedrock*/
1007 inputs->GetInputValue(&approximation,ApproximationEnum);
1008- if(!IsOnBed() || (approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum)) return;
1009+ if(!IsOnBase() || (approximation!=FSApproximationEnum && approximation!=SSAFSApproximationEnum && approximation!=HOFSApproximationEnum)) return;
1010
1011 /*Get number of nodes for velocity only and base*/
1012 BasalNodeIndices(&numindices,&indices,this->VelocityInterpolation());
1013@@ -2021,7 +2021,7 @@
1014 /*FUNCTION Penta::SpawnBasalElement{{{*/
1015 Element* Penta::SpawnBasalElement(void){
1016
1017- _assert_(this->IsOnBed());
1018+ _assert_(this->IsOnBase());
1019
1020 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
1021 this->InputDepthAverageAtBase(DamageDEnum,DamageDbarEnum);
1022@@ -2108,7 +2108,7 @@
1023 /*Bail out if this element if:
1024 * -> Non SSA not on the surface
1025 * -> SSA (2d model) and not on bed) */
1026- if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
1027+ if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBase())){
1028 return 0;
1029 }
1030 else if (approximation==SSAApproximationEnum){
1031@@ -2489,7 +2489,7 @@
1032 /*FUNCTION Penta::UpdateConstraintsExtrudeFromBase{{{*/
1033 void Penta::UpdateConstraintsExtrudeFromBase(void){
1034
1035- if(!IsOnBed()) return;
1036+ if(!IsOnBase()) return;
1037
1038 int extrusioninput;
1039 IssmDouble value,isonbed;
1040@@ -2664,7 +2664,7 @@
1041 IssmDouble base,bed,surface,bathymetry;
1042 IssmDouble xyz_list[NUMVERTICES][3];
1043
1044- if(!IsIceInElement() || IsFloating() || !IsOnBed())return 0;
1045+ if(!IsIceInElement() || IsFloating() || !IsOnBase())return 0;
1046
1047 rho_ice=matpar->GetRhoIce();
1048 rho_water=matpar->GetRhoWater();
1049@@ -2732,7 +2732,7 @@
1050
1051 IssmDouble mass_flux=0;
1052
1053- if(!IsOnBed()) return mass_flux;
1054+ if(!IsOnBase()) return mass_flux;
1055
1056 /*Depth Averaging Vx and Vy*/
1057 this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);
1058@@ -2756,7 +2756,7 @@
1059
1060 IssmDouble mass_flux=0;
1061
1062- if(!IsOnBed()) return mass_flux;
1063+ if(!IsOnBase()) return mass_flux;
1064
1065 /*Depth Averaging Vx and Vy*/
1066 this->InputDepthAverageAtBase(VxEnum,VxAverageEnum);
1067@@ -2922,11 +2922,11 @@
1068 Input* input=NULL;
1069
1070 if(enum_type==MaterialsRheologyBbarEnum){
1071- if(!IsOnBed()) return;
1072+ if(!IsOnBase()) return;
1073 input=(Input*)inputs->GetInput(MaterialsRheologyBEnum);
1074 }
1075 else if(enum_type==DamageDbarEnum){
1076- if(!IsOnBed()) return;
1077+ if(!IsOnBase()) return;
1078 input=(Input*)inputs->GetInput(DamageDEnum);
1079 }
1080 else{
1081@@ -3114,14 +3114,14 @@
1082 /*Nothing, J does not depends on the parameter being inverted for*/
1083 break;
1084 case DragCoefficientAbsGradientEnum:
1085- if(IsOnBed()){
1086+ if(IsOnBase()){
1087 tria=(Tria*)SpawnTria(0,1,2);
1088 tria->GradjDragGradient(gradient,control_index);
1089 delete tria->material; delete tria;
1090 }
1091 break;
1092 case RheologyBbarAbsGradientEnum:
1093- if(IsOnBed()){
1094+ if(IsOnBase()){
1095 tria=(Tria*)SpawnTria(0,1,2);
1096 tria->GradjBGradient(gradient,control_index);
1097 delete tria->material; delete tria;
1098@@ -3137,7 +3137,7 @@
1099 void Penta::GradjDragSSA(Vector<IssmDouble>* gradient,int control_index){
1100
1101 /*Gradient is 0 if on shelf or not on bed*/
1102- if(IsFloating() || !IsOnBed()) return;
1103+ if(IsFloating() || !IsOnBase()) return;
1104
1105 /*Spawn tria*/
1106 Tria* tria=(Tria*)SpawnTria(0,1,2);
1107@@ -3163,7 +3163,7 @@
1108 GaussPenta *gauss=NULL;
1109
1110 /*Gradient is 0 if on shelf or not on bed*/
1111- if(IsFloating() || !IsOnBed()) return;
1112+ if(IsFloating() || !IsOnBase()) return;
1113
1114 /*Retrieve all inputs and parameters*/
1115 parameters->FindParam(&analysis_type,AnalysisTypeEnum);
1116@@ -3236,7 +3236,7 @@
1117 GaussPenta* gauss=NULL;
1118
1119 /*Gradient is 0 if on shelf or not on bed*/
1120- if(IsFloating() || !IsOnBed()) return;
1121+ if(IsFloating() || !IsOnBase()) return;
1122
1123 /*Retrieve all inputs and parameters*/
1124 parameters->FindParam(&analysis_type,AnalysisTypeEnum);
1125@@ -3312,7 +3312,7 @@
1126 void Penta::GradjBbarSSA(Vector<IssmDouble>* gradient,int control_index){
1127
1128 /*This element should be collapsed into a tria element at its base*/
1129- if (!IsOnBed()) return;
1130+ if (!IsOnBase()) return;
1131
1132 /*Depth Average B*/
1133 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
1134@@ -3332,7 +3332,7 @@
1135 void Penta::GradjBbarHO(Vector<IssmDouble>* gradient,int control_index){
1136
1137 /*Gradient is computed on bed only (Bbar)*/
1138- if (!IsOnBed()) return;
1139+ if (!IsOnBase()) return;
1140
1141 /*Depth Average B and D*/
1142 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
1143@@ -3351,7 +3351,7 @@
1144 void Penta::GradjBbarFS(Vector<IssmDouble>* gradient,int control_index){
1145
1146 /*Gradient is computed on bed only (Bbar)*/
1147- if (!IsOnBed()) return;
1148+ if (!IsOnBase()) return;
1149
1150 /*Depth Average B and D*/
1151 this->InputDepthAverageAtBase(MaterialsRheologyBEnum,MaterialsRheologyBbarEnum);
1152@@ -3381,11 +3381,11 @@
1153 for(int i=0;i<num_controls;i++){
1154
1155 if(control_type[i]==MaterialsRheologyBbarEnum){
1156- if (!IsOnBed()) goto cleanup_and_return;
1157+ if (!IsOnBase()) goto cleanup_and_return;
1158 input=(Input*)this->inputs->GetInput(MaterialsRheologyBEnum); _assert_(input);
1159 }
1160 else if(control_type[i]==DamageDbarEnum){
1161- if (!IsOnBed()) goto cleanup_and_return;
1162+ if (!IsOnBase()) goto cleanup_and_return;
1163 input=(Input*)this->inputs->GetInput(DamageDEnum); _assert_(input);
1164 }
1165 else{
1166@@ -3426,7 +3426,7 @@
1167 /*Bail out if this element if:
1168 * -> Non SSA and not on the surface
1169 * -> SSA (2d model) and not on bed) */
1170- if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
1171+ if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBase())){
1172 return 0;
1173 }
1174 else if (approximation==SSAApproximationEnum){
1175@@ -3463,7 +3463,7 @@
1176 /*Bail out if this element if:
1177 * -> Non SSA and not on the surface
1178 * -> SSA (2d model) and not on bed) */
1179- if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
1180+ if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBase())){
1181 return 0;
1182 }
1183 else if (approximation==SSAApproximationEnum){
1184@@ -3500,7 +3500,7 @@
1185 /*Bail out if this element if:
1186 * -> Non SSA and not on the surface
1187 * -> SSA (2d model) and not on bed) */
1188- if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
1189+ if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBase())){
1190 return 0;
1191 }
1192 else if (approximation==SSAApproximationEnum){
1193@@ -3539,7 +3539,7 @@
1194 /*Bail out if this element if:
1195 * -> Non SSA and not on the surface
1196 * -> SSA (2d model) and not on bed) */
1197- if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
1198+ if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBase())){
1199 return 0;
1200 }
1201 else if (approximation==SSAApproximationEnum){
1202@@ -3576,7 +3576,7 @@
1203 /*Bail out if this element if:
1204 * -> Non SSA and not on the surface
1205 * -> SSA (2d model) and not on bed) */
1206- if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBed())){
1207+ if ((approximation!=SSAApproximationEnum && !IsOnSurface()) || (approximation==SSAApproximationEnum && !IsOnBase())){
1208 return 0;
1209 }
1210 else if (approximation==SSAApproximationEnum){
1211@@ -3630,7 +3630,7 @@
1212 Tria* tria=NULL;
1213
1214 /*If on water, on shelf or not on bed, skip: */
1215- if(!IsIceInElement()|| IsFloating() || !IsOnBed()) return 0;
1216+ if(!IsIceInElement()|| IsFloating() || !IsOnBase()) return 0;
1217
1218 tria=(Tria*)SpawnTria(0,1,2); //lower face is 0, upper face is 1
1219 J=tria->DragCoefficientAbsGradient();
1220@@ -3645,7 +3645,7 @@
1221 Tria* tria=NULL;
1222
1223 /*If on water, on shelf or not on bed, skip: */
1224- if(!IsIceInElement() || !IsOnBed()) return 0;
1225+ if(!IsIceInElement() || !IsOnBase()) return 0;
1226
1227 tria=(Tria*)SpawnTria(0,1,2);
1228 J=tria->RheologyBbarAbsGradient();
1229@@ -3890,7 +3890,7 @@
1230 IssmDouble h[NUMVERTICES],s[NUMVERTICES],b[NUMVERTICES],r[NUMVERTICES];
1231 IssmDouble melting[NUMVERTICES],phi[NUMVERTICES];
1232
1233- if(!IsOnBed()) return;
1234+ if(!IsOnBase()) return;
1235
1236 /*Recover info at the vertices: */
1237 parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
1238Index: ../trunk-jpl/src/c/classes/Elements/Penta.h
1239===================================================================
1240--- ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 17584)
1241+++ ../trunk-jpl/src/c/classes/Elements/Penta.h (revision 17585)
1242@@ -186,7 +186,7 @@
1243 void InputUpdateFromSolutionOneDof(IssmDouble* solutiong,int enum_type);
1244 void InputUpdateFromSolutionOneDofCollapsed(IssmDouble* solutiong,int enum_type);
1245 bool IsOnSurface(void);
1246- bool IsOnBed(void);
1247+ bool IsOnBase(void);
1248 bool IsNodeOnShelfFromFlags(IssmDouble* flags);
1249 void JacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
1250 void JacobianDeterminantLine(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
1251Index: ../trunk-jpl/src/c/classes/Elements/Tetra.cpp
1252===================================================================
1253--- ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 17584)
1254+++ ../trunk-jpl/src/c/classes/Elements/Tetra.cpp (revision 17585)
1255@@ -102,8 +102,8 @@
1256 this->inputs->Configure(parameters);
1257 }
1258 /*}}}*/
1259-/*FUNCTION Tetra::FaceOnBedIndices{{{*/
1260-void Tetra::FaceOnBedIndices(int* pindex1,int* pindex2,int* pindex3){
1261+/*FUNCTION Tetra::FaceOnBaseIndices{{{*/
1262+void Tetra::FaceOnBaseIndices(int* pindex1,int* pindex2,int* pindex3){
1263
1264 IssmDouble values[NUMVERTICES];
1265 int indices[4][3] = {{0,1,2},{0,1,3},{1,2,3},{2,0,3}};
1266@@ -186,7 +186,7 @@
1267
1268 /*Allocate Output*/
1269 IssmDouble* xyz_list_edge = xNew<IssmDouble>(3*3);
1270- this->FaceOnBedIndices(&indices[0],&indices[1],&indices[2]);
1271+ this->FaceOnBaseIndices(&indices[0],&indices[1],&indices[2]);
1272 for(int i=0;i<3;i++) for(int j=0;j<3;j++) xyz_list_edge[i*3+j]=xyz_list[indices[i]][j];
1273
1274 /*Assign output pointer*/
1275@@ -226,8 +226,8 @@
1276 return z;
1277 }
1278 /*}}}*/
1279-/*FUNCTION Tetra::HasFaceOnBed{{{*/
1280-bool Tetra::HasFaceOnBed(){
1281+/*FUNCTION Tetra::HasFaceOnBase{{{*/
1282+bool Tetra::HasFaceOnBase(){
1283
1284 IssmDouble values[NUMVERTICES];
1285 IssmDouble sum;
1286@@ -397,9 +397,9 @@
1287 xDelete<int>(doflist);
1288 }
1289 /*}}}*/
1290-/*FUNCTION Tetra::IsOnBed {{{*/
1291-bool Tetra::IsOnBed(){
1292- return HasFaceOnBed();
1293+/*FUNCTION Tetra::IsOnBase {{{*/
1294+bool Tetra::IsOnBase(){
1295+ return HasFaceOnBase();
1296 }
1297 /*}}}*/
1298 /*FUNCTION Tetra::IsOnSurface {{{*/
1299@@ -475,7 +475,7 @@
1300 Gauss* Tetra::NewGaussBase(int order){
1301
1302 int indices[3];
1303- this->FaceOnBedIndices(&indices[0],&indices[1],&indices[2]);
1304+ this->FaceOnBaseIndices(&indices[0],&indices[1],&indices[2]);
1305 return new GaussTetra(indices[0],indices[1],indices[2],order);
1306 }
1307 /*}}}*/
1308@@ -659,7 +659,7 @@
1309
1310 /*For FS only: we want the CS to be tangential to the bedrock*/
1311 inputs->GetInputValue(&approximation,ApproximationEnum);
1312- if(IsFloating() || !HasNodeOnBed() || approximation!=FSApproximationEnum) return;
1313+ if(IsFloating() || !HasNodeOnBase() || approximation!=FSApproximationEnum) return;
1314
1315 //printf("element number %i \n",this->id);
1316 /*Get inputs*/
1317@@ -726,10 +726,10 @@
1318 /*FUNCTION Tetra::SpawnBasalElement{{{*/
1319 Element* Tetra::SpawnBasalElement(void){
1320
1321- _assert_(HasFaceOnBed());
1322+ _assert_(HasFaceOnBase());
1323
1324 int index1,index2,index3;
1325- this->FaceOnBedIndices(&index1,&index2,&index3);
1326+ this->FaceOnBaseIndices(&index1,&index2,&index3);
1327 return SpawnTria(index1,index2,index3);
1328 }/*}}}*/
1329 /*FUNCTION Tetra::SpawnTopElement{{{*/
1330Index: ../trunk-jpl/src/c/classes/Elements/Seg.h
1331===================================================================
1332--- ../trunk-jpl/src/c/classes/Elements/Seg.h (revision 17584)
1333+++ ../trunk-jpl/src/c/classes/Elements/Seg.h (revision 17585)
1334@@ -71,7 +71,7 @@
1335 void GetVerticesCoordinates(IssmDouble** pxyz_list);
1336 void GetVerticesCoordinatesBase(IssmDouble** pxyz_list){_error_("not implemented yet");};
1337 void GetVerticesCoordinatesTop(IssmDouble** pxyz_list){_error_("not implemented yet");};
1338- bool IsOnBed(){_error_("not implemented yet");};
1339+ bool IsOnBase(){_error_("not implemented yet");};
1340 bool IsOnSurface(){_error_("not implemented yet");};
1341 bool IsNodeOnShelfFromFlags(IssmDouble* flags){_error_("not implemented yet");};
1342 void JacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
1343Index: ../trunk-jpl/src/c/classes/Elements/Tetra.h
1344===================================================================
1345--- ../trunk-jpl/src/c/classes/Elements/Tetra.h (revision 17584)
1346+++ ../trunk-jpl/src/c/classes/Elements/Tetra.h (revision 17585)
1347@@ -60,7 +60,7 @@
1348 void Delta18oParameterization(void){_error_("not implemented yet");};
1349 void ElementSizes(IssmDouble* hx,IssmDouble* hy,IssmDouble* hz){_error_("not implemented yet");};
1350 void FaceOnFrontIndices(int* pindex1,int* pindex2,int* pindex3);
1351- void FaceOnBedIndices(int* pindex1,int* pindex2,int* pindex3);
1352+ void FaceOnBaseIndices(int* pindex1,int* pindex2,int* pindex3);
1353 void FaceOnSurfaceIndices(int* pindex1,int* pindex2,int* pindex3);
1354 void FSContactMigration(Vector<IssmDouble>* vertexgrounded,Vector<IssmDouble>* vertexfloating){_error_("not implemented yet");};
1355 int FiniteElement(void);
1356@@ -73,9 +73,9 @@
1357 int GetNumberOfVertices(void);
1358 void GetVerticesCoordinatesBase(IssmDouble** pxyz_list);
1359 void GetVerticesCoordinatesTop(IssmDouble** pxyz_list);
1360- bool HasFaceOnBed();
1361+ bool HasFaceOnBase();
1362 bool HasFaceOnSurface();
1363- bool IsOnBed();
1364+ bool IsOnBase();
1365 bool IsOnSurface();
1366 bool IsNodeOnShelfFromFlags(IssmDouble* flags){_error_("not implemented yet");};
1367 void JacobianDeterminant(IssmDouble* Jdet, IssmDouble* xyz_list,Gauss* gauss);
1368Index: ../trunk-jpl/src/c/classes/Elements/Element.cpp
1369===================================================================
1370--- ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 17584)
1371+++ ../trunk-jpl/src/c/classes/Elements/Element.cpp (revision 17585)
1372@@ -548,7 +548,7 @@
1373 for(int i=0;i<numvertices;i++) connectivity[i]=this->vertices[i]->Connectivity();
1374 }
1375 /*}}}*/
1376-bool Element::HasNodeOnBed(){/*{{{*/
1377+bool Element::HasNodeOnBase(){/*{{{*/
1378 return (this->inputs->Max(MeshVertexonbedEnum)>0.);
1379 }/*}}}*/
1380 bool Element::HasNodeOnSurface(){/*{{{*/
Note: See TracBrowser for help on using the repository browser.