Changeset 21719


Ignore:
Timestamp:
05/17/17 13:43:39 (8 years ago)
Author:
Mathieu Morlighem
Message:

CHG: more elegant way to depth average

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

Legend:

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

    r21074 r21719  
    267267        element->FindParam(&domaintype,DomainTypeEnum);
    268268        element->FindParam(&stabilization,MasstransportStabilizationEnum);
    269         Input* vxaverage_input=NULL;
     269        Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
    270270        Input* vyaverage_input=NULL;
    271         if(domaintype==Domain2DhorizontalEnum){
    272                 vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
    273                 vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
    274         }
    275         else{
    276                 if(dim==1){
    277                         vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
    278                 }
    279                 if(dim==2){
    280                         vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
    281                         vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
    282                 }
    283 
    284         }
     271        if(dim==2) vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
     272
    285273        h = element->CharacteristicLength();
    286274
     
    406394        element->FindParam(&dt,TimesteppingTimeStepEnum);
    407395        element->FindParam(&domaintype,DomainTypeEnum);
    408         Input* vxaverage_input=NULL;
    409         Input* vyaverage_input=NULL;
    410         if(domaintype==Domain2DhorizontalEnum){
    411                 vxaverage_input=element->GetInput(VxEnum); _assert_(vxaverage_input);
    412                 vyaverage_input=element->GetInput(VyEnum); _assert_(vyaverage_input);
    413         }
    414         else{
    415                 vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
    416                 vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
    417         }
     396        Input* vxaverage_input=element->GetInput(VxAverageEnum); _assert_(vxaverage_input);
     397        Input* vyaverage_input=element->GetInput(VyAverageEnum); _assert_(vyaverage_input);
    418398
    419399        /* Start  looping on the number of gaussian points: */
  • issm/trunk-jpl/src/c/cores/depthaverage_core.cpp

    r21073 r21719  
    1414        /*Intermediaries*/
    1515        int domaintype,elementtype;
     16        int inputenum,input_average_enum;
    1617
    1718        if(VerboseSolution()) _printf0_("depth averaging solution...\n");
     
    2021        femmodel->parameters->FindParam(&domaintype,DomainTypeEnum);
    2122        femmodel->parameters->FindParam(&elementtype,MeshElementtypeEnum);
     23        femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum);
     24        femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum);
    2225
    23         /*If this is a 2D horizontal domain, return (no need to extrude)*/
    24         if(domaintype==Domain2DhorizontalEnum) return;
     26        /*If this is a 2D horizontal domain: no need to do anything, just copy input*/
     27        if(domaintype==Domain2DhorizontalEnum){
     28                InputDuplicatex(femmodel,inputenum,input_average_enum);
     29                return;
     30        }
    2531
    2632        /*Special method for Penta, otherwise call solution sequence*/
    2733        if(elementtype==PentaEnum){
    28                 int inputenum,input_average_enum;
    29                 femmodel->parameters->FindParam(&inputenum,InputToDepthaverageInEnum);
    30                 femmodel->parameters->FindParam(&input_average_enum,InputToDepthaverageOutEnum);
    3134                InputDepthAverageAtBasex(femmodel,inputenum,input_average_enum);
    3235        }
Note: See TracChangeset for help on using the changeset viewer.