Changeset 26329
- Timestamp:
- 06/22/21 11:43:56 (4 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp
r26090 r26329 1660 1660 1661 1661 /*return if floating (gradient is 0)*/ 1662 if(element->Is Floating()) return;1662 if(element->IsAllFloating()) return; 1663 1663 1664 1664 /*Intermediaries*/ … … 1753 1753 1754 1754 /*return if floating or not on bed (gradient is 0)*/ 1755 if(element->Is Floating()) return;1755 if(element->IsAllFloating()) return; 1756 1756 if(!element->IsOnBase()) return; 1757 1757 … … 1866 1866 1867 1867 /*return if floating or not on bed (gradient is 0)*/ 1868 if(element->Is Floating()) return;1868 if(element->IsAllFloating()) return; 1869 1869 if(!element->IsOnBase()) return; 1870 1870 … … 1953 1953 1954 1954 /*return if floating (gradient is 0)*/ 1955 if(element->Is Floating()) return;1955 if(element->IsAllFloating()) return; 1956 1956 1957 1957 /*Intermediaries*/ … … 2071 2071 2072 2072 /*return if floating or not on bed (gradient is 0)*/ 2073 if(element->Is Floating()) return;2073 if(element->IsAllFloating()) return; 2074 2074 if(!element->IsOnBase()) return; 2075 2075 … … 2169 2169 2170 2170 /*return if floating or not on bed (gradient is 0)*/ 2171 if(element->Is Floating()) return;2171 if(element->IsAllFloating()) return; 2172 2172 if(!element->IsOnBase()) return; 2173 2173 … … 2240 2240 2241 2241 /*return if floating (gradient is 0)*/ 2242 if(element->Is Floating()) return;2242 if(element->IsAllFloating()) return; 2243 2243 2244 2244 /*Intermediaries*/ -
issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp
r26320 r26329 371 371 372 372 /* Only compute melt rates at the base of grounded ice*/ 373 if(!element->IsOnBase() || element->Is Floating()) return;373 if(!element->IsOnBase() || element->IsAllFloating()) return; 374 374 375 375 /* Intermediaries */ … … 728 728 729 729 /*Initialize Element matrix and return if necessary*/ 730 if(!element->IsOnBase() || !element->Is Floating()) return NULL;730 if(!element->IsOnBase() || !element->IsAllFloating()) return NULL; 731 731 732 732 /*Intermediaries*/ … … 922 922 923 923 /* implementation of the basal condition decision chart of Aschwanden 2012, Fig.5 */ 924 if(!element->IsOnBase() || element->Is Floating()) return NULL;924 if(!element->IsOnBase() || element->IsAllFloating()) return NULL; 925 925 926 926 bool converged, isdynamicbasalspc; … … 1023 1023 1024 1024 /*Get basal element*/ 1025 if(!element->IsOnBase() || !element->Is Floating()) return NULL;1025 if(!element->IsOnBase() || !element->IsAllFloating()) return NULL; 1026 1026 1027 1027 IssmDouble Hpmp,dt,Jdet,scalar_ocean,pressure; … … 1308 1308 /* Only update constraints at the base. 1309 1309 * Floating ice is not affected by basal BC decision chart. */ 1310 if(!(element->IsOnBase()) || element->Is Floating()) return;1310 if(!(element->IsOnBase()) || element->IsAllFloating()) return; 1311 1311 1312 1312 /*Intermediary*/ … … 1379 1379 /* Only update constraints at the base. 1380 1380 * Floating ice is not affected by basal BC decision chart.*/ 1381 if(!(element->IsOnBase()) || element->Is Floating()) return;1381 if(!(element->IsOnBase()) || element->IsAllFloating()) return; 1382 1382 1383 1383 /*Intermediary*/ -
issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp
r26047 r26329 325 325 326 326 /*Skip if water or ice shelf element*/ 327 if(element->Is Floating()) return NULL;327 if(element->IsAllFloating()) return NULL; 328 328 329 329 /*Intermediaries */ … … 468 468 469 469 /*Skip if water or ice shelf element*/ 470 if(element->Is Floating()) return;470 if(element->IsAllFloating()) return; 471 471 472 472 /*Intermediaries */ … … 557 557 558 558 /*Skip if water or ice shelf element*/ 559 if(element->Is Floating()) return;559 if(element->IsAllFloating()) return; 560 560 561 561 /*Intermediary*/ -
issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp
r26047 r26329 104 104 105 105 /*Skip if water or ice shelf element*/ 106 if(element->Is Floating()) return;106 if(element->IsAllFloating()) return; 107 107 108 108 /*Intermediaries */ … … 134 134 135 135 /* Divide by connectivity, add degree of channelization as an input */ 136 /*FIXME: should be changed to P1, this is due to the NR, Is Floating will return 0 on this element, but it should not be DG*/136 /*FIXME: should be changed to P1, this is due to the NR, IsAllFloating will return 0 on this element, but it should not be DG*/ 137 137 element->AddInput(WatercolumnEnum,&watercolumn[0],P1DGEnum); 138 138 -
issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp
r26047 r26329 223 223 224 224 /*Skip if water or ice shelf element*/ 225 if(element->Is Floating()) return NULL;225 if(element->IsAllFloating()) return NULL; 226 226 227 227 /*Intermediaries */ … … 467 467 468 468 /*Skip if water or ice shelf element*/ 469 if(element->Is Floating()) return;469 if(element->IsAllFloating()) return; 470 470 471 471 /*Intermediaries */ -
issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp
r26047 r26329 234 234 235 235 /*Skip if water or ice shelf element*/ 236 if(element->Is Floating()) return NULL;236 if(element->IsAllFloating()) return NULL; 237 237 238 238 /*Intermediaries */ -
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r26294 r26329 1468 1468 1469 1469 /*Return if element is inactive*/ 1470 if(element->Is Floating() || !element->IsIceInElement()) return NULL;1470 if(element->IsAllFloating() || !element->IsIceInElement()) return NULL; 1471 1471 1472 1472 /*Intermediaries*/ … … 2433 2433 ElementMatrix* StressbalanceAnalysis::CreateKMatrixL1L2Friction(Element* element){/*{{{*/ 2434 2434 2435 if(!element->IsOnBase() || element->Is Floating()) return NULL;2435 if(!element->IsOnBase() || element->IsAllFloating()) return NULL; 2436 2436 Element* basalelement = element->SpawnBasalElement(); 2437 2437 ElementMatrix* Ke = CreateKMatrixSSAFriction(basalelement); … … 2754 2754 ElementMatrix* StressbalanceAnalysis::CreateKMatrixMLHOFriction(Element* element){/*{{{*/ 2755 2755 2756 if(!element->IsOnBase() || element->Is Floating()) return NULL;2756 if(!element->IsOnBase() || element->IsAllFloating()) return NULL; 2757 2757 2758 2758 /*Intermediaries*/ … … 3439 3439 if(!element->IsIceInElement()) return NULL; 3440 3440 3441 if(element->Is Floating() || !element->IsOnBase()) return NULL;3441 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 3442 3442 3443 3443 /*Intermediaries*/ … … 4160 4160 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSShelf(Element* element){/*{{{*/ 4161 4161 4162 if(!element->Is Floating() || !element->IsOnBase()) return NULL;4162 if(!element->IsAllFloating() || !element->IsOnBase()) return NULL; 4163 4163 4164 4164 /*If on not water or not FS, skip stiffness: */ … … 4880 4880 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/ 4881 4881 4882 if(element->Is Floating() || !element->IsOnBase()) return NULL;4882 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 4883 4883 4884 4884 /*If on water or not FS, skip stiffness: */ … … 5152 5152 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/ 5153 5153 5154 if(element->Is Floating() || !element->IsOnBase()) return NULL;5154 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 5155 5155 5156 5156 /*If on water or not FS, skip stiffness: */ … … 5372 5372 ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFrictionNitsche(Element* element){/*{{{*/ 5373 5373 5374 if(element->Is Floating() || !element->IsOnBase()) return NULL;5374 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 5375 5375 5376 5376 /*If on water or not FS, skip stiffness: */ … … 5594 5594 5595 5595 /*Get basal element*/ 5596 if(!element->IsOnBase() || !element->Is Floating()) return NULL;5596 if(!element->IsOnBase() || !element->IsAllFloating()) return NULL; 5597 5597 5598 5598 /*Get problem dimension*/ … … 7148 7148 /*If on water or not FS, skip stiffness: */ 7149 7149 element->GetInputValue(&approximation,ApproximationEnum); 7150 if(element->Is Floating() || !element->IsOnBase()) return NULL;7150 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 7151 7151 7152 7152 int vnumnodes = element->NumberofNodesVelocity(); … … 7365 7365 if(!element->IsIceInElement()) return NULL; 7366 7366 7367 if(element->Is Floating() || !element->IsOnBase()) return NULL;7367 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 7368 7368 7369 7369 /*Constants*/ … … 7593 7593 7594 7594 /*Initialize Element matrix and return if necessary*/ 7595 if(element->Is Floating() || !element->IsOnBase()) return NULL;7595 if(element->IsAllFloating() || !element->IsOnBase()) return NULL; 7596 7596 7597 7597 /*Build a tria element using the 3 nodes of the base of the penta. Then use … … 7710 7710 7711 7711 /*Initialize Element vector and return if necessary*/ 7712 if(!element->IsOnBase() || element->Is Floating()) return NULL;7712 if(!element->IsOnBase() || element->IsAllFloating()) return NULL; 7713 7713 element->GetInputValue(&approximation,ApproximationEnum); 7714 7714 if(approximation!=HOFSApproximationEnum) return NULL; … … 7876 7876 7877 7877 /*Initialize Element vector and return if necessary*/ 7878 if(!element->IsOnBase() || element->Is Floating()) return NULL;7878 if(!element->IsOnBase() || element->IsAllFloating()) return NULL; 7879 7879 element->GetInputValue(&approximation,ApproximationEnum); 7880 7880 if(approximation!=SSAFSApproximationEnum) return NULL; -
issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
r26047 r26329 330 330 331 331 /*Initialize Element matrix and return if necessary*/ 332 if(!element->IsOnBase() || !element->Is Floating()) return NULL;332 if(!element->IsOnBase() || !element->IsAllFloating()) return NULL; 333 333 334 334 IssmDouble dt,Jdet,D; … … 336 336 337 337 /*Get basal element*/ 338 if(!element->IsOnBase() || !element->Is Floating()) return NULL;338 if(!element->IsOnBase() || !element->IsAllFloating()) return NULL; 339 339 340 340 /*Fetch number of nodes for this finite element*/ … … 537 537 538 538 /* Geothermal flux on ice sheet base and basal friction */ 539 if(!element->IsOnBase() || element->Is Floating()) return NULL;539 if(!element->IsOnBase() || element->IsAllFloating()) return NULL; 540 540 541 541 IssmDouble dt,Jdet,geothermalflux,vx,vy,vz; … … 601 601 602 602 /*Get basal element*/ 603 if(!element->IsOnBase() || !element->Is Floating()) return NULL;603 if(!element->IsOnBase() || !element->IsAllFloating()) return NULL; 604 604 605 605 /*Fetch number of nodes for this finite element*/ -
issm/trunk-jpl/src/c/classes/Elements/Element.cpp
r26294 r26329 1993 1993 return this->isonbase; 1994 1994 }/*}}}*/ 1995 bool Element::Is Floating(){/*{{{*/1995 bool Element::IsAllFloating(){/*{{{*/ 1996 1996 1997 1997 bool shelf; … … 2054 2054 void Element::Ismip6FloatingiceMeltingRate(){/*{{{*/ 2055 2055 2056 if(!this->IsIceInElement() || !this->Is Floating() || !this->IsOnBase()) return;2056 if(!this->IsIceInElement() || !this->IsAllFloating() || !this->IsOnBase()) return; 2057 2057 2058 2058 int basinid,num_basins,M,N; … … 2500 2500 void Element::PicoUpdateBoxid(int* max_boxid_basin_list){/*{{{*/ 2501 2501 2502 if(!this->IsIceInElement() || !this->Is Floating()) return;2502 if(!this->IsIceInElement() || !this->IsAllFloating()) return; 2503 2503 2504 2504 int basin_id; … … 2541 2541 void Element::PicoUpdateBox(int loopboxid){/*{{{*/ 2542 2542 2543 if(!this->IsIceInElement() || !this->Is Floating()) return;2543 if(!this->IsIceInElement() || !this->IsAllFloating()) return; 2544 2544 2545 2545 int boxid; … … 2675 2675 void Element::PicoComputeBasalMelt(){/*{{{*/ 2676 2676 2677 if(!this->IsIceInElement() || !this->Is Floating()) return;2677 if(!this->IsIceInElement() || !this->IsAllFloating()) return; 2678 2678 2679 2679 const int NUM_VERTICES = this->GetNumberOfVertices(); -
issm/trunk-jpl/src/c/classes/Elements/Element.h
r26296 r26329 140 140 void InputUpdateFromConstant(IssmDouble constant, int name, int type); 141 141 142 bool Is Floating();142 bool IsAllFloating(); 143 143 bool IsGrounded(); 144 144 bool IsOnBase(); -
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r26090 r26329 2128 2128 IssmDouble xyz_list[NUMVERTICES][3]; 2129 2129 2130 if(!IsIceInElement() || Is Floating() || !IsOnBase())return 0;2130 if(!IsIceInElement() || IsAllFloating() || !IsOnBase())return 0; 2131 2131 2132 2132 rho_ice=FindParam(MaterialsRhoIceEnum); … … 5038 5038 5039 5039 /*build new bed and surface: */ 5040 if (this->Is Floating()){5040 if (this->IsAllFloating()){ 5041 5041 /*hydrostatic equilibrium: */ 5042 5042 IssmDouble rho_ice,rho_water,di; -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r26326 r26329 3576 3576 IssmDouble xyz_list[NUMVERTICES][3]; 3577 3577 3578 if(!IsIceInElement() || Is Floating())return 0;3578 if(!IsIceInElement() || IsAllFloating())return 0; 3579 3579 3580 3580 rho_ice=FindParam(MaterialsRhoIceEnum); … … 7874 7874 7875 7875 /*build new bed and surface: */ 7876 if (this->Is Floating()){7876 if (this->IsAllFloating()){ 7877 7877 /*hydrostatic equilibrium: */ 7878 7878 IssmDouble rho_ice,rho_water,di; -
issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp
r26144 r26329 354 354 Tria* tria=(Tria*)element; 355 355 _assert_(tria->FiniteElement()==P1Enum); 356 if(!tria->IsIceInElement() || tria->Is Floating()) return NULL;356 if(!tria->IsIceInElement() || tria->IsAllFloating()) return NULL; 357 357 358 358 /*Initialize Element vector and other vectors*/ … … 396 396 Tria* tria=(Tria*)element; 397 397 _assert_(tria->FiniteElement()==P1Enum); 398 if(!tria->IsIceInElement() || tria->Is Floating()) return NULL;398 if(!tria->IsIceInElement() || tria->IsAllFloating()) return NULL; 399 399 400 400 /*Initialize Element vector and other vectors*/ -
issm/trunk-jpl/src/c/classes/Node.h
r26144 r26329 95 95 bool IsActive(void); 96 96 int IsClone(); 97 int IsFloating();98 int IsGrounded();99 97 int Lid(void); 100 98 void DistributeGlobalDofsMasters(int dofcount,int setenum); -
issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp
r26090 r26329 57 57 for(Object* & object : femmodel->elements->objects){ 58 58 Element* element=xDynamicCast<Element*>(object); 59 if(!element->IsIceInElement() || !element->Is Floating()) continue;59 if(!element->IsIceInElement() || !element->IsAllFloating()) continue; 60 60 numvertices = element->GetNumberOfVertices(); 61 61 distances=xNew<IssmDouble>(numvertices); … … 116 116 if(!element->IsOnBase()) continue; 117 117 Element* basalelement = element->SpawnBasalElement(); 118 if(!basalelement->IsIceInElement() || !basalelement->Is Floating()){118 if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()){ 119 119 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 120 120 continue; … … 166 166 if(!element->IsOnBase()) continue; 167 167 Element* basalelement = element->SpawnBasalElement(); 168 if(!basalelement->IsIceInElement() || !basalelement->Is Floating()){168 if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()){ 169 169 if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;}; 170 170 continue; … … 209 209 if(!element->IsOnBase()) continue; 210 210 Element* basalelement = element->SpawnBasalElement(); 211 if(!basalelement->IsIceInElement() || !basalelement->Is Floating()) continue;211 if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()) continue; 212 212 int el_boxid; 213 213 basalelement->GetInputValue(&el_boxid,BasalforcingsPicoBoxIdEnum); -
issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp
r26090 r26329 101 101 102 102 /*Set melt to 0 if non floating*/ 103 if(!element->IsIceInElement() || !element->Is Floating() || !element->IsOnBase()){103 if(!element->IsIceInElement() || !element->IsAllFloating() || !element->IsOnBase()){ 104 104 IssmDouble* values = xNewZeroInit<IssmDouble>(numvertices); 105 105 element->AddInput(BasalforcingsFloatingiceMeltingRateEnum,values,P1DGEnum); … … 159 159 for(Object* & object : femmodel->elements->objects){ 160 160 Element* element = xDynamicCast<Element*>(object); 161 if(!element->IsOnBase() || !element->IsIceInElement() || !element->Is Floating()) continue;161 if(!element->IsOnBase() || !element->IsIceInElement() || !element->IsAllFloating()) continue; 162 162 /*Spawn basal element if on base to compute element area*/ 163 163 Element* basalelement = element->SpawnBasalElement();
Note:
See TracChangeset
for help on using the changeset viewer.