Changeset 14378


Ignore:
Timestamp:
02/23/13 11:37:39 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: some renaming (no more sheet and shelf, but grounded floating)

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/objects/Elements/Element.h

    r14159 r14378  
    7373                virtual IssmDouble TimeAdapt()=0;
    7474                virtual void   MigrateGroundingLine(IssmDouble* old_floating_ice,IssmDouble* sheet_ungrounding)=0;
    75                 virtual void   PotentialSheetUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding)=0;
     75                virtual void   PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding)=0;
    7676                virtual void   PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm)=0;
    7777                virtual void   Delta18oParameterization(void)=0;
    7878                virtual void   SmbGradients()=0;
    79                 virtual int    UpdatePotentialSheetUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf)=0;
     79                virtual int    UpdatePotentialUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf)=0;
    8080                virtual void   ResetCoordinateSystem()=0;
    8181                virtual void   SmearFunction(Vector<IssmDouble>* smearedvector,IssmDouble (*WeightFunction)(IssmDouble distance,IssmDouble radius),IssmDouble radius)=0;
  • issm/trunk-jpl/src/c/classes/objects/Elements/Penta.cpp

    r14175 r14378  
    21592159
    21602160        int     i,migration_style,unground;
    2161         bool    elementonshelf = false;
     2161        bool    floatingelement = false;
    21622162        IssmDouble  bed_hydro,yts,gl_melting_rate;
    21632163        IssmDouble  rho_water,rho_ice,density;
     
    22152215        for(i=0;i<NUMVERTICES;i++){
    22162216                if(nodes[i]->IsFloating()){
    2217                         elementonshelf=true;
     2217                        floatingelement=true;
    22182218                        break;
    22192219                }
     
    22212221
    22222222   /*Add basal melting rate if element just ungrounded*/
    2223         if(!this->IsFloating() && elementonshelf==true){
     2223        if(!this->IsFloating() && floatingelement==true){
    22242224                for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts;
    22252225                this->inputs->AddInput(new PentaP1Input(BasalforcingsMeltingRateEnum,&melting[0]));
     
    22292229        this->inputs->AddInput(new PentaP1Input(SurfaceEnum,&s[0]));
    22302230        this->inputs->AddInput(new PentaP1Input(BedEnum,&b[0]));
    2231    this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,elementonshelf));
     2231   this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,floatingelement));
    22322232
    22332233        /*Extrude inputs*/
     
    23912391}
    23922392/*}}}*/
    2393 /*FUNCTION Penta::PotentialSheetUngrounding{{{*/
    2394 void  Penta::PotentialSheetUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding){
     2393/*FUNCTION Penta::PotentialUngrounding{{{*/
     2394void  Penta::PotentialUngrounding(Vector<IssmDouble>* potential_ungrounding){
    23952395
    23962396        int     i;
     
    23982398        IssmDouble  bed_hydro;
    23992399        IssmDouble  rho_water,rho_ice,density;
    2400         bool    elementonshelf = false;
    24012400
    24022401        /*material parameters: */
     
    24142413                        if (bed_hydro>ba[i]){
    24152414                                /*Vertex that could potentially unground, flag it*/
    2416                                 potential_sheet_ungrounding->SetValue(nodes[i]->Sid(),1,INS_VAL);
     2415                                potential_ungrounding->SetValue(nodes[i]->Sid(),1,INS_VAL);
    24172416                        }
    24182417                }
     
    30133012}
    30143013/*}}}*/
    3015 /*FUNCTION Penta::UpdatePotentialSheetUngrounding{{{*/
    3016 int Penta::UpdatePotentialSheetUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){
     3014/*FUNCTION Penta::UpdatePotentialUngrounding{{{*/
     3015int Penta::UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){
    30173016
    30183017        int i;
    30193018        int nflipped=0;
    30203019
    3021         /*Go through nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
     3020        /*Go through nodes, and whoever is on the potential_ungrounding, ends up in nodes_on_iceshelf: */
    30223021        for(i=0;i<NUMVERTICES;i++){
    30233022                if (reCast<bool,IssmDouble>(vertices_potentially_ungrounding[nodes[i]->Sid()])){
  • issm/trunk-jpl/src/c/classes/objects/Elements/Penta.h

    r14159 r14378  
    105105                void   InputToResult(int enum_type,int step,IssmDouble time);
    106106                void   MigrateGroundingLine(IssmDouble* old_floating_ice,IssmDouble* sheet_ungrounding);
    107                 void   PotentialSheetUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
     107                void   PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
    108108                void   RequestedOutput(int output_enum,int step,IssmDouble time);
    109109                void   ListResultsInfo(int** results_enums,int** results_size,IssmDouble** results_times,int** results_steps,int* num_results);
     
    116116                IssmDouble SurfaceArea(void);
    117117                void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
    118                 int    UpdatePotentialSheetUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
     118                int    UpdatePotentialUngrounding(IssmDouble* potential_sheet_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
    119119                int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units);
    120120                IssmDouble TimeAdapt();
  • issm/trunk-jpl/src/c/classes/objects/Elements/Tria.cpp

    r14373 r14378  
    21392139
    21402140        int     i,migration_style;
    2141         bool    elementonshelf = false;
    2142         bool    elementonsheet = false;
     2141        bool    floatingelement = false;
     2142        bool    groundedelement = false;
    21432143        IssmDouble  bed_hydro,yts,gl_melting_rate;
    21442144        IssmDouble  rho_water,rho_ice,density;
     
    21992199                for(i=0;i<NUMVERTICES;i++){
    22002200                        if(nodes[i]->IsGrounded()){
    2201                                 elementonsheet=true;
     2201                                groundedelement=true;
    22022202                                break;
    22032203                        }
    22042204                }
    2205                 elementonshelf=!elementonsheet;
     2205                floatingelement=!groundedelement;
    22062206        }
    22072207        else{
     
    22092209                for(i=0;i<NUMVERTICES;i++){
    22102210                        if(nodes[i]->IsFloating()){
    2211                                 elementonshelf=true;
     2211                                floatingelement=true;
    22122212                                break;
    22132213                        }
     
    22162216
    22172217   /*Add basal melting rate if element just ungrounded*/
    2218         if(!this->IsFloating() && elementonshelf==true){
     2218        if(!this->IsFloating() && floatingelement==true){
    22192219                for(i=0;i<NUMVERTICES;i++)melting[i]=gl_melting_rate/yts;
    22202220                this->inputs->AddInput(new TriaP1Input(BasalforcingsMeltingRateEnum,&melting[0]));
     
    22222222
    22232223        /*Update inputs*/
    2224    this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,elementonshelf));
     2224   this->inputs->AddInput(new BoolInput(MaskElementonfloatingiceEnum,floatingelement));
    22252225        this->inputs->AddInput(new TriaP1Input(SurfaceEnum,&s[0]));
    22262226        this->inputs->AddInput(new TriaP1Input(BedEnum,&b[0]));
     
    23172317}
    23182318/*}}}*/
    2319 /*FUNCTION Tria::PotentialSheetUngrounding{{{*/
    2320 void  Tria::PotentialSheetUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding){
     2319/*FUNCTION Tria::PotentialUngrounding{{{*/
     2320void  Tria::PotentialUngrounding(Vector<IssmDouble>* potential_ungrounding){
    23212321
    23222322        int     i;
     
    23242324        IssmDouble  bed_hydro;
    23252325        IssmDouble  rho_water,rho_ice,density;
    2326         bool    elementonshelf = false;
    23272326
    23282327        /*material parameters: */
     
    23332332        GetInputListOnVertices(&ba[0],BathymetryEnum);
    23342333
    2335         /*go through vertices, and figure out which ones are on the ice sheet, and want to unground: */
     2334        /*go through vertices, and figure out which ones are grounded and want to unground: */
    23362335        for(i=0;i<NUMVERTICES;i++){
    23372336                /*Find if grounded vertices want to start floating*/
     
    23402339                        if (bed_hydro>ba[i]){
    23412340                                /*Vertex that could potentially unground, flag it*/
    2342                                 potential_sheet_ungrounding->SetValue(nodes[i]->Sid(),1,INS_VAL);
     2341                                potential_ungrounding->SetValue(nodes[i]->Sid(),1,INS_VAL);
    23432342                        }
    23442343                }
     
    27022701}
    27032702/*}}}*/
    2704 /*FUNCTION Tria::UpdatePotentialSheetUngrounding{{{*/
    2705 int Tria::UpdatePotentialSheetUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){
     2703/*FUNCTION Tria::UpdatePotentialUngrounding{{{*/
     2704int Tria::UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf){
    27062705
    27072706        int i;
    27082707        int nflipped=0;
    27092708
    2710         /*Go through nodes, and whoever is on the potential_sheet_ungrounding, ends up in nodes_on_iceshelf: */
     2709        /*Go through nodes, and whoever is on the potential_ungrounding, ends up in nodes_on_iceshelf: */
    27112710        for(i=0;i<3;i++){
    27122711                if (reCast<bool>(vertices_potentially_ungrounding[nodes[i]->Sid()])){
  • issm/trunk-jpl/src/c/classes/objects/Elements/Tria.h

    r14359 r14378  
    105105                void   MigrateGroundingLine(IssmDouble* oldfloating,IssmDouble* sheet_ungrounding);
    106106                int    NodalValue(IssmDouble* pvalue, int index, int natureofdataenum,bool process_units);
    107                 void   PotentialSheetUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
     107                void   PotentialUngrounding(Vector<IssmDouble>* potential_sheet_ungrounding);
    108108                void   PositiveDegreeDay(IssmDouble* pdds,IssmDouble* pds,IssmDouble signorm);
    109109                void   RequestedOutput(int output_enum,int step,IssmDouble time);
     
    116116                IssmDouble SurfaceArea(void);
    117117                void   Update(int index, IoModel* iomodel,int analysis_counter,int analysis_type);
    118                 int    UpdatePotentialSheetUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
     118                int    UpdatePotentialUngrounding(IssmDouble* vertices_potentially_ungrounding,Vector<IssmDouble>* vec_nodes_on_iceshelf,IssmDouble* nodes_on_iceshelf);
    119119                IssmDouble TimeAdapt();
    120120                int*   GetHorizontalNeighboorSids(void);
  • issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp

    r14357 r14378  
    3131        if(migration_style==SoftMigrationEnum){
    3232                /*Create flag for grounded vertices above the hydrostatic equilibrium: */
    33                 vertices_potentially_ungrounding=PotentialSheetUngrounding(elements,vertices,parameters);
     33                vertices_potentially_ungrounding=PotentialUngrounding(elements,vertices,parameters);
    3434
    3535                /*propagate ice shelf into connex areas of the ice sheet that potentially want to unground: */
     
    8181}
    8282/*%}}}*/
    83 /*FUNCTION PotentialSheetUngrounding {{{*/
    84 IssmDouble*    PotentialSheetUngrounding(Elements* elements,Vertices* vertices,Parameters* parameters){
     83/*FUNCTION PotentialUngrounding {{{*/
     84IssmDouble*    PotentialUngrounding(Elements* elements,Vertices* vertices,Parameters* parameters){
    8585
    8686        int      i,numberofvertices;
     
    9696        for(i=0;i<elements->Size();i++){
    9797                element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
    98                 element->PotentialSheetUngrounding(vec_vertices_potentially_ungrounding);
     98                element->PotentialUngrounding(vec_vertices_potentially_ungrounding);
    9999        }
    100100
     
    150150                        element=dynamic_cast<Element*>(elements->GetObjectByOffset(i));
    151151                        if(reCast<int,IssmDouble>(elements_neighboring_floatingce[element->Sid()])){
    152                                 local_nflipped+=element->UpdatePotentialSheetUngrounding(vertices_potentially_ungrounding,vec_nodes_on_floatingice,nodes_on_floatingice);
     152                                local_nflipped+=element->UpdatePotentialUngrounding(vertices_potentially_ungrounding,vec_nodes_on_floatingice,nodes_on_floatingice);
    153153                        }
    154154                }
  • issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.h

    r13216 r14378  
    1414void       GroundinglineMigrationx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters);
    1515
    16 Vector<IssmDouble>*        CreateNodesOnFloatingIce(Nodes* nodes,int configuration_type);
    17 IssmDouble*    PotentialSheetUngrounding(Elements* elements,Vertices* vertices,Parameters* parameters);
     16Vector<IssmDouble>* CreateNodesOnFloatingIce(Nodes* nodes,int configuration_type);
     17IssmDouble*    PotentialUngrounding(Elements* elements,Vertices* vertices,Parameters* parameters);
    1818IssmDouble*    PropagateFloatingiceToGroundedNeighbors(Elements* elements,Nodes* nodes,Vertices* vertices,Parameters* parameters,IssmDouble* vertices_potentially_ungrounding);
    1919#endif  /* _GROUNDINGLINEMIGRATIONX_H */
Note: See TracChangeset for help on using the changeset viewer.