Changeset 25465


Ignore:
Timestamp:
08/25/20 11:27:09 (5 years ago)
Author:
Mathieu Morlighem
Message:

CHG: making transient_core more homogeneous

Location:
issm/trunk-jpl/src/c
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/Makefile.am

    r25454 r25465  
    312312        ./cores/levelsetfunctionslope_core.cpp \
    313313        ./cores/movingfront_core.cpp \
     314        ./cores/groundingline_core.cpp \
    314315        ./modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp \
    315316        ./classes/Loads/Riftfront.cpp \
  • issm/trunk-jpl/src/c/cores/cores.h

    r25304 r25465  
    2626void levelsetfunctionslope_core(FemModel* femmodel);
    2727void movingfront_core(FemModel* femmodel);
     28void groundingline_core(FemModel* femmodel);
    2829void bedslope_core(FemModel* femmodel);
    2930void meshdeformation_core(FemModel* femmodel);
  • issm/trunk-jpl/src/c/cores/esa_core.cpp

    r24950 r25465  
    6464
    6565        /*early return: */
    66         if( !iscoupler & !isesa) return;  //we are not interested in being here :)
     66        if(!iscoupler & !isesa) return;  //we are not interested in being here :)
    6767
    6868        /*In what follows we assume we are all running esa, either in coupled, or uncoupled mode:*/
  • issm/trunk-jpl/src/c/cores/sealevelchange_core.cpp

    r25379 r25465  
    3939        /*Should we be here?:*/
    4040        if(!isslr)return;
    41 
    42         /*Verbose: */
    43         if(VerboseSolution()) _printf0_("   computing sea level rise\n");
    4441
    4542        /*Run gia core: */
  • issm/trunk-jpl/src/c/cores/transient_core.cpp

    r25464 r25465  
    221221                thermal_core(femmodel);
    222222        }
     223
    223224        /* Using Hydrology dc  coupled we need to compute smb in the hydrology inner time loop*/
    224225        if(issmb) {
     
    232233                hydrology_core(femmodel);
    233234                femmodel->parameters->FindParam(&hydrology_model,HydrologyModelEnum);
    234                 if(hydrology_model!=HydrologydcEnum && issmb)smb_core(femmodel);
     235                if(hydrology_model!=HydrologydcEnum && issmb) smb_core(femmodel);
    235236        }
    236237
     
    260261
    261262        if(isgroundingline){
    262 
    263                 /*Start profiler*/
    264                 femmodel->profiler->Start(GROUNDINGLINECORE);
    265 
    266263                if(VerboseSolution()) _printf0_("   computing new grounding line position\n");
    267                 GroundinglineMigrationx(femmodel->elements,femmodel->nodes,femmodel->vertices,femmodel->loads,femmodel->materials,femmodel->parameters);
    268 
    269                 femmodel->parameters->SetParam(MaskOceanLevelsetEnum,InputToExtrudeEnum);
    270                 extrudefrombase_core(femmodel);
    271                 femmodel->parameters->SetParam(BaseEnum,InputToExtrudeEnum);
    272                 extrudefrombase_core(femmodel);
    273                 femmodel->parameters->SetParam(SurfaceEnum,InputToExtrudeEnum);
    274                 extrudefrombase_core(femmodel);
    275 
    276                 /*Stop profiler*/
    277                 femmodel->profiler->Stop(GROUNDINGLINECORE);
    278 
    279                 if(save_results){
    280                         int outputs[3] = {SurfaceEnum,BaseEnum,MaskOceanLevelsetEnum};
    281                         femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],3);
    282                 }
     264                groundingline_core(femmodel);
    283265        }
    284266
     
    296278
    297279        /*Sea level rise: */
    298         if(isslr) sealevelchange_core(femmodel);
     280        if(isslr){
     281                if(VerboseSolution()) _printf0_("   computing sea level rise\n");
     282                sealevelchange_core(femmodel);
     283        }
    299284
    300285}/*}}}*/
  • issm/trunk-jpl/src/c/modules/GroundinglineMigrationx/GroundinglineMigrationx.cpp

    r24861 r25465  
    1010void GroundinglineMigrationx(Elements* elements,Nodes* nodes, Vertices* vertices,Loads* loads,Materials* materials, Parameters* parameters){
    1111
    12         int                 migration_style,analysis_type;
    13         IssmDouble         *vertices_potentially_ungrounding = NULL;
    14         IssmDouble         *phi_ungrounding                  = NULL;
    15         Element            *element                          = NULL;
     12   int         migration_style;
     13        IssmDouble *vertices_potentially_ungrounding = NULL;
     14        IssmDouble *phi_ungrounding                  = NULL;
    1615
    1716        /*retrieve parameters: */
    1817        parameters->FindParam(&migration_style,GroundinglineMigrationEnum);
    19         parameters->FindParam(&analysis_type,AnalysisTypeEnum);
    20 
    2118        if(migration_style==NoneEnum) return;
    2219
    23         if(VerboseModule()) _printf0_("   Migrating grounding line\n");
     20        if(VerboseModule()) _printf0_("   Migrating grounding line based on "<<EnumToStringx(migration_style)<<"\n");
    2421
    2522        /*Set toolkit to default*/
     
    4744        /*Migrate grounding line : */
    4845        for(int i=0;i<elements->Size();i++){
    49                 element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
     46                Element* element=xDynamicCast<Element*>(elements->GetObjectByOffset(i));
    5047                element->MigrateGroundingLine(phi_ungrounding);
    5148        }
Note: See TracChangeset for help on using the changeset viewer.