Ignore:
Timestamp:
04/08/14 14:59:42 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: renamed meshtype->meshxdim (Extended Dimension) and added meshdim (2 or 3) and meshtype (Tria Penta Tetra)

File:
1 edited

Legend:

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

    r17610 r17674  
    66
    77/*Model processing*/
    8 int  HydrologyDCEfficientAnalysis::DofsPerNode(int** doflist,int meshtype,int approximation){/*{{{*/
     8int  HydrologyDCEfficientAnalysis::DofsPerNode(int** doflist,int meshxdim,int approximation){/*{{{*/
    99        return 1;
    1010}/*}}}*/
     
    5656        iomodel->FetchDataToInput(elements,HydrologydcSedimentTransmitivityEnum);
    5757        iomodel->FetchDataToInput(elements,HydrologydcEplThicknessEnum);
    58         if(iomodel->meshtype==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum);
     58        if(iomodel->meshxdim==Mesh3DEnum) iomodel->FetchDataToInput(elements,MeshElementonbaseEnum);
    5959       
    6060        //      elements->InputDuplicate(HydrologydcEplInitialThicknessEnum,HydrologydcEplThicknessEnum);
     
    7373        if(!isefficientlayer) return;
    7474
    75         if(iomodel->meshtype!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);
     75        if(iomodel->meshxdim!=Mesh2DhorizontalEnum) iomodel->FetchData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);
    7676        ::CreateNodes(nodes,iomodel,HydrologyDCEfficientAnalysisEnum,P1Enum);
    7777        iomodel->DeleteData(2,MeshVertexonbaseEnum,MeshVertexonsurfaceEnum);
     
    111111        /*Intermediaries*/
    112112        bool     active_element;
    113         int      meshtype;
     113        int      meshxdim;
    114114        Element* basalelement;
    115115
    116116        /*Get basal element*/
    117         element->FindParam(&meshtype,MeshTypeEnum);
    118         switch(meshtype){
     117        element->FindParam(&meshxdim,MeshXDimEnum);
     118        switch(meshxdim){
    119119                case Mesh2DhorizontalEnum:
    120120                        basalelement = element;
     
    124124                        basalelement = element->SpawnBasalElement();
    125125                        break;
    126                 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
     126                default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet");
    127127        }
    128128
     
    132132        /*Check that all nodes are active, else return empty matrix*/
    133133        if(!active_element) {
    134         if(meshtype!=Mesh2DhorizontalEnum){
     134        if(meshxdim!=Mesh2DhorizontalEnum){
    135135                        basalelement->DeleteMaterials();
    136136                        delete basalelement;
     
    207207        xDelete<IssmDouble>(B);
    208208        delete gauss;
    209         if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
     209        if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    210210        return Ke;
    211211
     
    215215        /*Intermediaries*/
    216216        bool     active_element;
    217         int      meshtype;
     217        int      meshxdim;
    218218        Element* basalelement;
    219219
    220220        /*Get basal element*/
    221         element->FindParam(&meshtype,MeshTypeEnum);
    222         switch(meshtype){
     221        element->FindParam(&meshxdim,MeshXDimEnum);
     222        switch(meshxdim){
    223223                case Mesh2DhorizontalEnum:
    224224                        basalelement = element;
     
    228228                        basalelement = element->SpawnBasalElement();
    229229                        break;
    230                 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
     230                default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet");
    231231        }
    232232
     
    236236        /*Check that all nodes are active, else return empty matrix*/
    237237        if(!active_element) {
    238         if(meshtype!=Mesh2DhorizontalEnum){
     238        if(meshxdim!=Mesh2DhorizontalEnum){
    239239                        basalelement->DeleteMaterials();
    240240                        delete basalelement;
     
    309309        xDelete<IssmDouble>(basis);
    310310        delete gauss;
    311         if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
     311        if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    312312        return pe;
    313313}/*}}}*/
     
    317317void HydrologyDCEfficientAnalysis::InputUpdateFromSolution(IssmDouble* solution,Element* element){/*{{{*/
    318318
    319         int meshtype,i;
     319        int meshxdim,i;
    320320        Element*   basalelement=NULL;
    321321
    322         element->FindParam(&meshtype,MeshTypeEnum);
    323 
    324         if(meshtype!=Mesh2DhorizontalEnum){
     322        element->FindParam(&meshxdim,MeshXDimEnum);
     323
     324        if(meshxdim!=Mesh2DhorizontalEnum){
    325325                if(!element->IsOnBase()) return;
    326326                basalelement=element->SpawnBasalElement();
     
    351351        xDelete<IssmDouble>(eplHeads);
    352352        xDelete<int>(doflist);
    353         if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
     353        if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    354354} /*}}}*/
    355355void HydrologyDCEfficientAnalysis::UpdateConstraints(FemModel* femmodel){/*{{{*/
     
    481481
    482482        bool        active_element;
    483         int         meshtype;
     483        int         meshxdim;
    484484        IssmDouble  dt,A,B;
    485485        IssmDouble  EPLgrad2;
    486486        IssmDouble  EPL_N;
    487487
    488         femmodel->parameters->FindParam(&meshtype,MeshTypeEnum);
     488        femmodel->parameters->FindParam(&meshxdim,MeshXDimEnum);
    489489
    490490        for(int j=0;j<femmodel->elements->Size();j++){
     
    492492                Element* element=(Element*)femmodel->elements->GetObjectByOffset(j);
    493493               
    494                 switch(meshtype){
     494                switch(meshxdim){
    495495                case Mesh2DhorizontalEnum:
    496496                        if(!element->IsOnBase()) return;                       
     
    602602        bool        active_element;
    603603        int         i,j;
    604         int         meshtype;
     604        int         meshxdim;
    605605        IssmDouble  h_max;
    606606        IssmDouble  sedheadmin;
     
    608608
    609609        /*Get basal element*/
    610         element->FindParam(&meshtype,MeshTypeEnum);
    611         switch(meshtype){
     610        element->FindParam(&meshxdim,MeshXDimEnum);
     611        switch(meshxdim){
    612612                case Mesh2DhorizontalEnum:
    613613                        basalelement = element;
     
    617617                        basalelement = element->SpawnBasalElement();
    618618                        break;
    619                 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
     619                default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet");
    620620        }
    621621
     
    673673                }
    674674        }
    675         if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
     675        if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    676676        xDelete<IssmDouble>(epl_thickness);
    677677        xDelete<IssmDouble>(old_active);
     
    684684        /*Constants*/
    685685
    686         int      meshtype;
     686        int      meshxdim;
    687687        Element*   basalelement=NULL;
    688688
    689689        /*Get basal element*/
    690         element->FindParam(&meshtype,MeshTypeEnum);
    691         switch(meshtype){
     690        element->FindParam(&meshxdim,MeshXDimEnum);
     691        switch(meshxdim){
    692692                case Mesh2DhorizontalEnum:
    693693                        basalelement = element;
     
    697697                        basalelement = element->SpawnBasalElement();
    698698                        break;
    699                 default: _error_("mesh "<<EnumToStringx(meshtype)<<" not supported yet");
     699                default: _error_("mesh "<<EnumToStringx(meshxdim)<<" not supported yet");
    700700        }
    701701       
     
    716716                /*Do not do anything: at least one node is active for this element but this element is not solved for*/
    717717        }
    718         if(meshtype!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
     718        if(meshxdim!=Mesh2DhorizontalEnum){basalelement->DeleteMaterials(); delete basalelement;};
    719719        xDelete<IssmDouble>(active);
    720720}
Note: See TracChangeset for help on using the changeset viewer.