Changeset 26329


Ignore:
Timestamp:
06/22/21 11:43:56 (4 years ago)
Author:
Mathieu Morlighem
Message:

CHG: moving IsFloating to IsAllFloating

Location:
issm/trunk-jpl/src/c
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/AdjointHorizAnalysis.cpp

    r26090 r26329  
    16601660
    16611661        /*return if floating (gradient is 0)*/
    1662         if(element->IsFloating()) return;
     1662        if(element->IsAllFloating()) return;
    16631663
    16641664        /*Intermediaries*/
     
    17531753
    17541754        /*return if floating or not on bed (gradient is 0)*/
    1755         if(element->IsFloating()) return;
     1755        if(element->IsAllFloating()) return;
    17561756        if(!element->IsOnBase()) return;
    17571757
     
    18661866
    18671867        /*return if floating or not on bed (gradient is 0)*/
    1868         if(element->IsFloating()) return;
     1868        if(element->IsAllFloating()) return;
    18691869        if(!element->IsOnBase()) return;
    18701870
     
    19531953
    19541954        /*return if floating (gradient is 0)*/
    1955         if(element->IsFloating()) return;
     1955        if(element->IsAllFloating()) return;
    19561956
    19571957        /*Intermediaries*/
     
    20712071
    20722072        /*return if floating or not on bed (gradient is 0)*/
    2073         if(element->IsFloating()) return;
     2073        if(element->IsAllFloating()) return;
    20742074        if(!element->IsOnBase()) return;
    20752075
     
    21692169
    21702170        /*return if floating or not on bed (gradient is 0)*/
    2171         if(element->IsFloating()) return;
     2171        if(element->IsAllFloating()) return;
    21722172        if(!element->IsOnBase()) return;
    21732173
     
    22402240
    22412241        /*return if floating (gradient is 0)*/
    2242         if(element->IsFloating()) return;
     2242        if(element->IsAllFloating()) return;
    22432243
    22442244        /*Intermediaries*/
  • issm/trunk-jpl/src/c/analyses/EnthalpyAnalysis.cpp

    r26320 r26329  
    371371
    372372        /* Only compute melt rates at the base of grounded ice*/
    373         if(!element->IsOnBase() || element->IsFloating()) return;
     373        if(!element->IsOnBase() || element->IsAllFloating()) return;
    374374
    375375        /* Intermediaries */
     
    728728
    729729        /*Initialize Element matrix and return if necessary*/
    730         if(!element->IsOnBase() || !element->IsFloating()) return NULL;
     730        if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
    731731
    732732        /*Intermediaries*/
     
    922922
    923923        /* implementation of the basal condition decision chart of Aschwanden 2012, Fig.5 */
    924         if(!element->IsOnBase() || element->IsFloating()) return NULL;
     924        if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
    925925
    926926        bool converged, isdynamicbasalspc;
     
    10231023
    10241024        /*Get basal element*/
    1025         if(!element->IsOnBase() || !element->IsFloating()) return NULL;
     1025        if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
    10261026
    10271027        IssmDouble  Hpmp,dt,Jdet,scalar_ocean,pressure;
     
    13081308        /* Only update constraints at the base.
    13091309         * Floating ice is not affected by basal BC decision chart. */
    1310         if(!(element->IsOnBase()) || element->IsFloating()) return;
     1310        if(!(element->IsOnBase()) || element->IsAllFloating()) return;
    13111311
    13121312        /*Intermediary*/
     
    13791379        /* Only update constraints at the base.
    13801380         * Floating ice is not affected by basal BC decision chart.*/
    1381         if(!(element->IsOnBase()) || element->IsFloating()) return;
     1381        if(!(element->IsOnBase()) || element->IsAllFloating()) return;
    13821382
    13831383        /*Intermediary*/
  • issm/trunk-jpl/src/c/analyses/HydrologyGlaDSAnalysis.cpp

    r26047 r26329  
    325325
    326326        /*Skip if water or ice shelf element*/
    327         if(element->IsFloating()) return NULL;
     327        if(element->IsAllFloating()) return NULL;
    328328
    329329        /*Intermediaries */
     
    468468
    469469        /*Skip if water or ice shelf element*/
    470         if(element->IsFloating()) return;
     470        if(element->IsAllFloating()) return;
    471471
    472472        /*Intermediaries */
     
    557557
    558558        /*Skip if water or ice shelf element*/
    559         if(element->IsFloating()) return;
     559        if(element->IsAllFloating()) return;
    560560       
    561561        /*Intermediary*/
  • issm/trunk-jpl/src/c/analyses/HydrologyPismAnalysis.cpp

    r26047 r26329  
    104104
    105105        /*Skip if water or ice shelf element*/
    106         if(element->IsFloating()) return;
     106        if(element->IsAllFloating()) return;
    107107
    108108        /*Intermediaries */
     
    134134
    135135        /* Divide by connectivity, add degree of channelization as an input */
    136         /*FIXME: should be changed to P1, this is due to the NR, IsFloating 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*/
    137137        element->AddInput(WatercolumnEnum,&watercolumn[0],P1DGEnum);
    138138
  • issm/trunk-jpl/src/c/analyses/HydrologyShaktiAnalysis.cpp

    r26047 r26329  
    223223
    224224        /*Skip if water or ice shelf element*/
    225         if(element->IsFloating()) return NULL;
     225        if(element->IsAllFloating()) return NULL;
    226226
    227227        /*Intermediaries */
     
    467467
    468468        /*Skip if water or ice shelf element*/
    469         if(element->IsFloating()) return;
     469        if(element->IsAllFloating()) return;
    470470
    471471        /*Intermediaries */
  • issm/trunk-jpl/src/c/analyses/HydrologyShreveAnalysis.cpp

    r26047 r26329  
    234234
    235235        /*Skip if water or ice shelf element*/
    236         if(element->IsFloating()) return NULL;
     236        if(element->IsAllFloating()) return NULL;
    237237
    238238        /*Intermediaries */
  • issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp

    r26294 r26329  
    14681468
    14691469        /*Return if element is inactive*/
    1470         if(element->IsFloating() || !element->IsIceInElement()) return NULL;
     1470        if(element->IsAllFloating() || !element->IsIceInElement()) return NULL;
    14711471
    14721472        /*Intermediaries*/
     
    24332433ElementMatrix* StressbalanceAnalysis::CreateKMatrixL1L2Friction(Element* element){/*{{{*/
    24342434
    2435         if(!element->IsOnBase() || element->IsFloating()) return NULL;
     2435        if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
    24362436        Element* basalelement = element->SpawnBasalElement();
    24372437        ElementMatrix* Ke = CreateKMatrixSSAFriction(basalelement);
     
    27542754ElementMatrix* StressbalanceAnalysis::CreateKMatrixMLHOFriction(Element* element){/*{{{*/
    27552755
    2756         if(!element->IsOnBase() || element->IsFloating()) return NULL;
     2756        if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
    27572757
    27582758        /*Intermediaries*/
     
    34393439        if(!element->IsIceInElement()) return NULL;
    34403440
    3441         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     3441        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    34423442
    34433443        /*Intermediaries*/
     
    41604160ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSShelf(Element* element){/*{{{*/
    41614161
    4162         if(!element->IsFloating() || !element->IsOnBase()) return NULL;
     4162        if(!element->IsAllFloating() || !element->IsOnBase()) return NULL;
    41634163
    41644164        /*If on not water or not FS, skip stiffness: */
     
    48804880ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/
    48814881
    4882         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     4882        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    48834883
    48844884        /*If on water or not FS, skip stiffness: */
     
    51525152ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFriction(Element* element){/*{{{*/
    51535153
    5154         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     5154        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    51555155
    51565156        /*If on water or not FS, skip stiffness: */
     
    53725372ElementMatrix* StressbalanceAnalysis::CreateKMatrixFSFrictionNitsche(Element* element){/*{{{*/
    53735373
    5374         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     5374        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    53755375
    53765376        /*If on water or not FS, skip stiffness: */
     
    55945594
    55955595        /*Get basal element*/
    5596         if(!element->IsOnBase() || !element->IsFloating()) return NULL;
     5596        if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
    55975597
    55985598        /*Get problem dimension*/
     
    71487148        /*If on water or not FS, skip stiffness: */
    71497149        element->GetInputValue(&approximation,ApproximationEnum);
    7150         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     7150        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    71517151
    71527152        int vnumnodes = element->NumberofNodesVelocity();
     
    73657365        if(!element->IsIceInElement()) return NULL;
    73667366
    7367         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     7367        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    73687368
    73697369        /*Constants*/
     
    75937593
    75947594        /*Initialize Element matrix and return if necessary*/
    7595         if(element->IsFloating() || !element->IsOnBase()) return NULL;
     7595        if(element->IsAllFloating() || !element->IsOnBase()) return NULL;
    75967596
    75977597        /*Build a tria element using the 3 nodes of the base of the penta. Then use
     
    77107710
    77117711        /*Initialize Element vector and return if necessary*/
    7712         if(!element->IsOnBase() || element->IsFloating()) return NULL;
     7712        if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
    77137713        element->GetInputValue(&approximation,ApproximationEnum);
    77147714        if(approximation!=HOFSApproximationEnum) return NULL;
     
    78767876
    78777877        /*Initialize Element vector and return if necessary*/
    7878         if(!element->IsOnBase() || element->IsFloating()) return NULL;
     7878        if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
    78797879        element->GetInputValue(&approximation,ApproximationEnum);
    78807880        if(approximation!=SSAFSApproximationEnum) return NULL;
  • issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp

    r26047 r26329  
    330330
    331331        /*Initialize Element matrix and return if necessary*/
    332         if(!element->IsOnBase() || !element->IsFloating()) return NULL;
     332        if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
    333333
    334334        IssmDouble  dt,Jdet,D;
     
    336336
    337337        /*Get basal element*/
    338         if(!element->IsOnBase() || !element->IsFloating()) return NULL;
     338        if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
    339339
    340340        /*Fetch number of nodes for this finite element*/
     
    537537
    538538        /* Geothermal flux on ice sheet base and basal friction */
    539         if(!element->IsOnBase() || element->IsFloating()) return NULL;
     539        if(!element->IsOnBase() || element->IsAllFloating()) return NULL;
    540540
    541541        IssmDouble  dt,Jdet,geothermalflux,vx,vy,vz;
     
    601601
    602602        /*Get basal element*/
    603         if(!element->IsOnBase() || !element->IsFloating()) return NULL;
     603        if(!element->IsOnBase() || !element->IsAllFloating()) return NULL;
    604604
    605605        /*Fetch number of nodes for this finite element*/
  • issm/trunk-jpl/src/c/classes/Elements/Element.cpp

    r26294 r26329  
    19931993        return this->isonbase;
    19941994}/*}}}*/
    1995 bool       Element::IsFloating(){/*{{{*/
     1995bool       Element::IsAllFloating(){/*{{{*/
    19961996
    19971997        bool shelf;
     
    20542054void       Element::Ismip6FloatingiceMeltingRate(){/*{{{*/
    20552055
    2056         if(!this->IsIceInElement() || !this->IsFloating() || !this->IsOnBase()) return;
     2056        if(!this->IsIceInElement() || !this->IsAllFloating() || !this->IsOnBase()) return;
    20572057
    20582058        int         basinid,num_basins,M,N;
     
    25002500void       Element::PicoUpdateBoxid(int* max_boxid_basin_list){/*{{{*/
    25012501
    2502         if(!this->IsIceInElement() || !this->IsFloating()) return;
     2502        if(!this->IsIceInElement() || !this->IsAllFloating()) return;
    25032503
    25042504        int        basin_id;
     
    25412541void       Element::PicoUpdateBox(int loopboxid){/*{{{*/
    25422542
    2543         if(!this->IsIceInElement() || !this->IsFloating()) return;
     2543        if(!this->IsIceInElement() || !this->IsAllFloating()) return;
    25442544
    25452545        int boxid;
     
    26752675void       Element::PicoComputeBasalMelt(){/*{{{*/
    26762676
    2677         if(!this->IsIceInElement() || !this->IsFloating()) return;
     2677        if(!this->IsIceInElement() || !this->IsAllFloating()) return;
    26782678
    26792679        const int NUM_VERTICES = this->GetNumberOfVertices();
  • issm/trunk-jpl/src/c/classes/Elements/Element.h

    r26296 r26329  
    140140                void               InputUpdateFromConstant(IssmDouble constant, int name, int type);
    141141
    142                 bool               IsFloating();
     142                bool               IsAllFloating();
    143143                bool               IsGrounded();
    144144                bool               IsOnBase();
  • issm/trunk-jpl/src/c/classes/Elements/Penta.cpp

    r26090 r26329  
    21282128        IssmDouble xyz_list[NUMVERTICES][3];
    21292129
    2130         if(!IsIceInElement() || IsFloating() || !IsOnBase())return 0;
     2130        if(!IsIceInElement() || IsAllFloating() || !IsOnBase())return 0;
    21312131
    21322132        rho_ice=FindParam(MaterialsRhoIceEnum);
     
    50385038
    50395039                                        /*build new bed and surface: */
    5040                                         if (this->IsFloating()){
     5040                                        if (this->IsAllFloating()){
    50415041                                                /*hydrostatic equilibrium: */
    50425042                                                IssmDouble rho_ice,rho_water,di;
  • issm/trunk-jpl/src/c/classes/Elements/Tria.cpp

    r26326 r26329  
    35763576        IssmDouble xyz_list[NUMVERTICES][3];
    35773577
    3578         if(!IsIceInElement() || IsFloating())return 0;
     3578        if(!IsIceInElement() || IsAllFloating())return 0;
    35793579
    35803580        rho_ice=FindParam(MaterialsRhoIceEnum);
     
    78747874
    78757875                                        /*build new bed and surface: */
    7876                                         if (this->IsFloating()){
     7876                                        if (this->IsAllFloating()){
    78777877                                                /*hydrostatic equilibrium: */
    78787878                                                IssmDouble rho_ice,rho_water,di;
  • issm/trunk-jpl/src/c/classes/Loads/Neumannflux.cpp

    r26144 r26329  
    354354        Tria*  tria=(Tria*)element;
    355355        _assert_(tria->FiniteElement()==P1Enum);
    356         if(!tria->IsIceInElement() || tria->IsFloating()) return NULL;
     356        if(!tria->IsIceInElement() || tria->IsAllFloating()) return NULL;
    357357
    358358        /*Initialize Element vector and other vectors*/
     
    396396        Tria*  tria=(Tria*)element;
    397397        _assert_(tria->FiniteElement()==P1Enum);
    398         if(!tria->IsIceInElement() || tria->IsFloating()) return NULL;
     398        if(!tria->IsIceInElement() || tria->IsAllFloating()) return NULL;
    399399
    400400        /*Initialize Element vector and other vectors*/
  • issm/trunk-jpl/src/c/classes/Node.h

    r26144 r26329  
    9595                bool  IsActive(void);
    9696                int   IsClone();
    97                 int   IsFloating();
    98                 int   IsGrounded();
    9997                int   Lid(void);
    10098                void  DistributeGlobalDofsMasters(int dofcount,int setenum);
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatePicox/FloatingiceMeltingRatePicox.cpp

    r26090 r26329  
    5757        for(Object* & object : femmodel->elements->objects){
    5858                Element* element=xDynamicCast<Element*>(object);
    59                 if(!element->IsIceInElement() || !element->IsFloating()) continue;
     59                if(!element->IsIceInElement() || !element->IsAllFloating()) continue;
    6060                numvertices = element->GetNumberOfVertices();
    6161                distances=xNew<IssmDouble>(numvertices);
     
    116116                if(!element->IsOnBase()) continue;
    117117                Element* basalelement = element->SpawnBasalElement();
    118                 if(!basalelement->IsIceInElement() || !basalelement->IsFloating()){
     118                if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()){
    119119                        if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;};
    120120                        continue;
     
    166166                if(!element->IsOnBase()) continue;
    167167                Element* basalelement = element->SpawnBasalElement();
    168                 if(!basalelement->IsIceInElement() || !basalelement->IsFloating()){
     168                if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()){
    169169                        if(basalelement->IsSpawnedElement()){basalelement->DeleteMaterials(); delete basalelement;};
    170170                        continue;
     
    209209                        if(!element->IsOnBase()) continue;
    210210                        Element* basalelement = element->SpawnBasalElement();
    211                         if(!basalelement->IsIceInElement() || !basalelement->IsFloating()) continue;
     211                        if(!basalelement->IsIceInElement() || !basalelement->IsAllFloating()) continue;
    212212                        int el_boxid;
    213213                        basalelement->GetInputValue(&el_boxid,BasalforcingsPicoBoxIdEnum);
  • issm/trunk-jpl/src/c/modules/FloatingiceMeltingRatex/FloatingiceMeltingRatex.cpp

    r26090 r26329  
    101101
    102102                /*Set melt to 0 if non floating*/
    103                 if(!element->IsIceInElement() || !element->IsFloating() || !element->IsOnBase()){
     103                if(!element->IsIceInElement() || !element->IsAllFloating() || !element->IsOnBase()){
    104104                        IssmDouble* values = xNewZeroInit<IssmDouble>(numvertices);
    105105                        element->AddInput(BasalforcingsFloatingiceMeltingRateEnum,values,P1DGEnum);
     
    159159                for(Object* & object : femmodel->elements->objects){
    160160                        Element* element = xDynamicCast<Element*>(object);
    161                         if(!element->IsOnBase() || !element->IsIceInElement() || !element->IsFloating()) continue;
     161                        if(!element->IsOnBase() || !element->IsIceInElement() || !element->IsAllFloating()) continue;
    162162                        /*Spawn basal element if on base to compute element area*/
    163163                        Element* basalelement = element->SpawnBasalElement();
Note: See TracChangeset for help on using the changeset viewer.