Changeset 15423


Ignore:
Timestamp:
07/03/13 16:46:48 (12 years ago)
Author:
Mathieu Morlighem
Message:

CHG: dim can now be retrieved directly in iomodel

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp

    r15401 r15423  
    4343        int numnodes;
    4444        int numvertices;
    45         int dim;
    4645        int numberofelements;
    4746
     
    5453
    5554        /*find parameters: */
    56         iomodel->Constant(&dim,MeshDimensionEnum);
    5755        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    5856
    5957        /*First, retrieve element index and element type: */
    60         if (dim==2){
     58        if(iomodel->dim==2){
    6159                segment_width=4;
    6260        }
     
    132130        int numnodes;
    133131        int numvertices;
    134         int dim;
    135132        int numberofelements;
    136133
  • issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp

    r15417 r15423  
    670670
    671671                                case TriaEnum: {
    672                                         IssmDouble values[3];
    673                                         for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->vertices[i]->Sid()]; //use sid list, to index into serial oriented vector
    674                                         this->inputs->AddInput(new TriaInput(name,values,P1Enum));
    675                                         /*Special case for rheology B in 2D: Pourave land for this solution{{{*/
    676                                         if(name==MaterialsRheologyBEnum){
    677                                                 /*Are we in 2D?:*/
    678                                                 if(element->ObjectEnum()==TriaEnum){
    679                                                         parameters=((Tria*)(element))->parameters;
    680                                                 }
    681                                                 else{
    682                                                         parameters=((Penta*)(element))->parameters;
    683                                                 }
    684                                                 parameters->FindParam(&dim,MeshDimensionEnum);
    685                                                 if(dim==2){
    686                                                         /*Dupliacte rheology input: */
    687                                                         this->inputs->AddInput(new TriaInput(MaterialsRheologyBbarEnum,values,P1Enum));
    688                                                 }
    689                                         }
    690                                         /*}}}*/
    691                                         return;
    692                                 }
     672                                                                                IssmDouble values[3];
     673                                                                                for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->vertices[i]->Sid()]; //use sid list, to index into serial oriented vector
     674                                                                                this->inputs->AddInput(new TriaInput(name,values,P1Enum));
     675                                                                                /*Special case for rheology B in 2D: Pourave land for this solution{{{*/
     676                                                                                if(name==MaterialsRheologyBEnum){
     677                                                                                        /*Are we in 2D?:*/
     678                                                                                        if(element->ObjectEnum()==TriaEnum){
     679                                                                                                parameters=((Tria*)(element))->parameters;
     680                                                                                        }
     681                                                                                        else{
     682                                                                                                parameters=((Penta*)(element))->parameters;
     683                                                                                        }
     684                                                                                        parameters->FindParam(&dim,MeshDimensionEnum);
     685                                                                                        if(dim==2){
     686                                                                                                /*Dupliacte rheology input: */
     687                                                                                                this->inputs->AddInput(new TriaInput(MaterialsRheologyBbarEnum,values,P1Enum));
     688                                                                                        }
     689                                                                                }
     690                                                                                /*}}}*/
     691                                                                                return;
     692                                                                        }
    693693                                default: _error_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet");
    694694                        }
     
    737737
    738738        int i,j;
    739 
    740         int    dim;
    741739        bool   control_analysis;
    742740        int    num_control_type;
    743741
    744742        /*Fetch parameters: */
    745         iomodel->Constant(&dim,MeshDimensionEnum);
    746743        iomodel->Constant(&control_analysis,InversionIscontrolEnum);
    747744        if(control_analysis) iomodel->Constant(&num_control_type,InversionNumControlParametersEnum);
    748745
    749         /*if 2d*/
    750         if(dim==2){
     746        if(iomodel->dim==2){
    751747
    752748                /*Intermediaries*/
     
    806802        /*if 3d*/
    807803        #ifdef _HAVE_3D_
    808         else if(dim==3){
     804        else if(iomodel->dim==3){
    809805
    810806                /*Intermediaries*/
  • issm/trunk-jpl/src/c/classes/Materials/Matice.cpp

    r15417 r15423  
    687687
    688688        int i,j;
    689 
    690         int    dim;
    691689        bool   control_analysis;
    692690        int    num_control_type;
    693691
    694692        /*Fetch parameters: */
    695         iomodel->Constant(&dim,MeshDimensionEnum);
    696693        iomodel->Constant(&control_analysis,InversionIscontrolEnum);
    697694        if(control_analysis) iomodel->Constant(&num_control_type,InversionNumControlParametersEnum);
    698695
    699         /*if 2d*/
    700         if(dim==2){
     696        if(iomodel->dim==2){
    701697
    702698                /*Intermediaries*/
     
    740736        /*if 3d*/
    741737        #ifdef _HAVE_3D_
    742         else if(dim==3){
     738        else if(iomodel->dim==3){
    743739
    744740                /*Intermediaries*/
  • issm/trunk-jpl/src/c/classes/Node.cpp

    r15377 r15423  
    2929        int k,l;
    3030        int gsize;
    31         int dim;
    32 
    33         /*Fetch parameters: */
    34         iomodel->Constant(&dim,MeshDimensionEnum);
    3531
    3632        /*id: */
     
    7975                XZvectorsToCoordinateSystem(&this->coord_system[0][0],iomodel->Data(DiagnosticReferentialEnum)+io_index*6);
    8076
    81                 if (dim==3){
     77                if(iomodel->dim==3){
    8278                        /*We have a  3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */
    8379                        _assert_(iomodel->Data(MeshVertexonbedEnum));
     
    126122                                analysis_type==HydrologyDCEfficientAnalysisEnum
    127123                                ){
    128                 if (dim==3){
     124                if(iomodel->dim==3){
    129125                        /*On a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */
    130126                        _assert_(iomodel->Data(MeshVertexonbedEnum));
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp

    r15000 r15423  
    1717        int  io_index;
    1818        bool continuous_galerkin=true;
    19         int    dim;
    2019        int    numberofelements;
    2120        int    numberofvertices;
     
    2322
    2423        /*Fetch parameters: */
    25         iomodel->Constant(&dim,MeshDimensionEnum);
    2624        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    2725        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    3937
    4038        /*Check in 3d*/
    41         if(stabilization==3 && dim==3) _error_("DG 3d not implemented yet");
     39        if(stabilization==3 && iomodel->dim==3) _error_("DG 3d not implemented yet");
    4240
    4341        /*First fetch data: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp

    r15000 r15423  
    1111void    UpdateElementsBalancethickness(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514
    1615        /*Fetch data needed: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1816        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    1917        iomodel->FetchData(1,MeshElementsEnum);
     
    4038        iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum);
    4139
    42         if (dim==3){
     40        if(iomodel->dim==3){
    4341                iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
    4442                iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp

    r15000 r15423  
    1111void    UpdateElementsBedSlope(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514
    1615        /*Fetch data needed: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1816        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    1917        iomodel->FetchData(1,MeshElementsEnum);
     
    3331        iomodel->FetchDataToInput(elements,MaskElementonwaterEnum);
    3432
    35         if (dim==3){
     33        if(iomodel->dim==3){
    3634                iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
    3735                iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp

    r15421 r15423  
    1212        /*Intermediary*/
    1313        int i;
    14         int dim,materials_type;
     14        int materials_type;
    1515        int numberofelements;
    1616        int numberofvertices;
     
    2424
    2525        /*Fetch parameters: */
    26         iomodel->Constant(&dim,MeshDimensionEnum);
    2726        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    2827        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    4140        iomodel->FetchData(2,MeshElementsEnum,MeshElementconnectivityEnum);
    4241        #ifdef _HAVE_3D_
    43         if(dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);
     42        if(iomodel->dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);
    4443        #endif
    4544        if(control_analysis)iomodel->FetchData(3,InversionControlParametersEnum,InversionMinParametersEnum,InversionMaxParametersEnum);
     
    5049
    5150                        /*Create and add tria element to elements dataset: */
    52                         if(dim==2) elements->AddObject(new Tria(i+1,i,i,iomodel,nummodels));
     51                        if(iomodel->dim==2) elements->AddObject(new Tria(i+1,i,i,iomodel,nummodels));
    5352                #ifdef _HAVE_3D_
    5453                        else       elements->AddObject(new Penta(i+1,i,i,iomodel,nummodels));
     
    6362                        for (i=0;i<numberofelements;i++) if(iomodel->my_elements[i]) materials->AddObject(new Matice(i+1,i,iomodel));
    6463                        if(dakota_analysis){
    65                                 if(dim==2) materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum);
     64                                if(iomodel->dim==2) materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum);
    6665           #ifdef _HAVE_3D_
    6766                                else       materials->InputDuplicate(MaterialsRheologyBEnum,QmuMaterialsRheologyBEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp

    r14951 r15423  
    2020        int vertexid;
    2121        int elementswidth;
    22         int    dim;
    23         int    numberofelements;
    24         int    numberofvertices;
     22        int numberofelements;
     23        int numberofvertices;
    2524        IssmDouble* elements=NULL;
    2625
     
    3231
    3332        /*Fetch parameters: */
    34         iomodel->Constant(&dim,MeshDimensionEnum);
    3533        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    3634        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    4644
    4745        /*Get element width (3 or 6)*/
    48         if (dim==2){
     46        if (iomodel->dim==2){
    4947                elementswidth=3;
    5048        }
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp

    r14951 r15423  
    2020        int vertexid;
    2121        int elementswidth;
    22         int    dim;
    2322        int    numberofelements;
    2423        int    numberofvertices;
     
    3231
    3332        /*Fetch parameters: */
    34         iomodel->Constant(&dim,MeshDimensionEnum);
    3533        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    3634        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    4745
    4846        /*Get element width (3 or 6)*/
    49         if (dim==2){
     47        if(iomodel->dim==2){
    5048                elementswidth=3;
    5149        }
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp

    r15128 r15423  
    4141        Constraints *constraints      = NULL;
    4242        SpcStatic   *spcstatic        = NULL;
    43         int          dim;
    4443        int          numberofvertices;
    4544
    4645        /*Fetch parameters: */
    47         iomodel->Constant(&dim,MeshDimensionEnum);
    4846        iomodel->Constant(&yts,ConstantsYtsEnum);
    4947        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    7270        iomodel->FetchData(&spcvz,&Mz,&Nz,DiagnosticSpcvzEnum);
    7371        iomodel->FetchData(&nodeonmacayeal,NULL,NULL,FlowequationBordermacayealEnum);
    74         if(dim==3)iomodel->FetchData(&nodeonpattyn,NULL,NULL,FlowequationBorderpattynEnum);
    75         if(dim==3)iomodel->FetchData(&nodeonstokes,NULL,NULL,FlowequationBorderstokesEnum);
    76         if(dim==3)iomodel->FetchData(&nodeonbed,NULL,NULL,MeshVertexonbedEnum);
    77         if(dim==3)iomodel->FetchData(&nodeonicesheet,NULL,NULL,MaskVertexongroundediceEnum);
     72        if(iomodel->dim==3)iomodel->FetchData(&nodeonpattyn,NULL,NULL,FlowequationBorderpattynEnum);
     73        if(iomodel->dim==3)iomodel->FetchData(&nodeonstokes,NULL,NULL,FlowequationBorderstokesEnum);
     74        if(iomodel->dim==3)iomodel->FetchData(&nodeonbed,NULL,NULL,MeshVertexonbedEnum);
     75        if(iomodel->dim==3)iomodel->FetchData(&nodeonicesheet,NULL,NULL,MaskVertexongroundediceEnum);
    7876        iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum);
    7977        iomodel->FetchData(&surface,NULL,NULL,SurfaceEnum);
     
    295293
    296294                        /*Constraint at the bedrock interface (v.n = vz = 0) (Coordinates will be updated according to the bed slope)*/
    297                         if (dim==3) if(reCast<int,IssmDouble>(nodeonbed[i]) && reCast<int,IssmDouble>(nodeonicesheet[i]) && reCast<int,IssmDouble>(nodeonstokes[i])){
     295                        if (iomodel->dim==3) if(reCast<int,IssmDouble>(nodeonbed[i]) && reCast<int,IssmDouble>(nodeonicesheet[i]) && reCast<int,IssmDouble>(nodeonstokes[i])){
    298296                                 switch(reCast<int,IssmDouble>(vertices_type[i])){
    299297                                        case MacAyealStokesApproximationEnum:
     
    320318        iomodel->DeleteData(spcvz,DiagnosticSpcvzEnum);
    321319        iomodel->DeleteData(nodeonmacayeal,FlowequationBordermacayealEnum);
    322         if(dim==3)iomodel->DeleteData(nodeonpattyn,FlowequationBorderpattynEnum);
    323         if(dim==3)iomodel->DeleteData(nodeonstokes,FlowequationBorderstokesEnum);
    324         if(dim==3)iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum);
    325         if(dim==3)iomodel->DeleteData(nodeonicesheet,MaskVertexongroundediceEnum);
     320        if(iomodel->dim==3)iomodel->DeleteData(nodeonpattyn,FlowequationBorderpattynEnum);
     321        if(iomodel->dim==3)iomodel->DeleteData(nodeonstokes,FlowequationBorderstokesEnum);
     322        if(iomodel->dim==3)iomodel->DeleteData(nodeonbed,MeshVertexonbedEnum);
     323        if(iomodel->dim==3)iomodel->DeleteData(nodeonicesheet,MaskVertexongroundediceEnum);
    326324        iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum);
    327325        iomodel->DeleteData(surface,SurfaceEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp

    r15000 r15423  
    1919        int count=0;
    2020        int penpair_ids[2];
    21         int dim;
    2221        int numberofvertices;
    2322        bool ismacayealpattyn,isstokes,isl1l2;
     
    3433
    3534        /*Fetch parameters: */
    36         iomodel->Constant(&dim,MeshDimensionEnum);
    3735        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
    3836        iomodel->Constant(&isl1l2,FlowequationIsl1l2Enum);
     
    6664
    6765                /*Retrieve element to which this icefront belongs: */
    68                 if (dim==2) segment_width=4;
     66                if(iomodel->dim==2) segment_width=4;
    6967                else segment_width=6;
    7068                element=reCast<int,IssmDouble>(*(pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill)
     
    7775
    7876                /*Create and  add load: */
    79                 if (reCast<int,IssmDouble>(*(elements_type+element))==(MacAyealApproximationEnum) && dim==2){
     77                if (reCast<int,IssmDouble>(*(elements_type+element))==(MacAyealApproximationEnum) && iomodel->dim==2){
    8078                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal2dIceFrontEnum,DiagnosticHorizAnalysisEnum));
    8179                        count++;
    8280                }
    83                 else if (reCast<int,IssmDouble>(*(elements_type+element))==(MacAyealApproximationEnum) && dim==3){
     81                else if (reCast<int,IssmDouble>(*(elements_type+element))==(MacAyealApproximationEnum) && iomodel->dim==3){
    8482                        loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal3dIceFrontEnum,DiagnosticHorizAnalysisEnum));
    8583                        count++;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp

    r15000 r15423  
    1616void    UpdateElementsDiagnosticHoriz(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1717
    18         int    dim,materials_type;
     18        int    materials_type;
    1919        int    numberofelements;
    2020        bool   ismacayealpattyn;
     
    2828        iomodel->Constant(&isl1l2,FlowequationIsl1l2Enum);
    2929        iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum);
    30         iomodel->Constant(&dim,MeshDimensionEnum);
    3130        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    3231        iomodel->Constant(&control_analysis,InversionIscontrolEnum);
     
    6968                iomodel->FetchDataToInput(elements,MaterialsRheologyZEnum);
    7069        }
    71         if (dim==3){
     70        if(iomodel->dim==3){
    7271                iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
    7372                iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
     
    9796        if(dakota_analysis)elements->InputDuplicate(VyEnum,QmuVyEnum);
    9897
    99         if(dim==3){
     98        if(iomodel->dim==3){
    10099                elements->InputDuplicate(VzEnum,VzPicardEnum);
    101100                elements->InputDuplicate(VzEnum,InversionVzObsEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp

    r15000 r15423  
    1212        /*Intermediary*/
    1313        int i;
    14         int dim;
    1514        int count;
    1615        IssmDouble yts;
     
    1817
    1918        /*Fetch parameters: */
    20         iomodel->Constant(&dim,MeshDimensionEnum);
    2119        iomodel->Constant(&yts,ConstantsYtsEnum);
    2220        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    2927
    3028        /*return if 2d mesh*/
    31         if(dim==2){
     29        if(iomodel->dim==2){
    3230                *pconstraints=constraints;
    3331                return;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp

    r15000 r15423  
    1414        int i;
    1515        bool continuous_galerkin=true;
    16         int    dim;
    1716        int    numberofvertices;
    1817
    1918        /*Fetch parameters: */
    20         iomodel->Constant(&dim,MeshDimensionEnum);
    2119        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
    2220
     
    2826
    2927        /*Now, is the flag macayaealpattyn on? otherwise, do nothing: */
    30         if (dim==2){
     28        if(iomodel->dim==2){
    3129                *pnodes=nodes;
    3230                return;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp

    r15000 r15423  
    1111void    UpdateElementsDiagnosticVert(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
     13        /*Now, is the model 3d? otherwise, do nothing: */
     14        if (iomodel->dim==2)return;
     15
    1416        int    numberofelements;
    1517
    1618        /*Fetch parameters: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1819        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    19 
    20         /*Now, is the model 3d? otherwise, do nothing: */
    21         if (dim==2)return;
    2220
    2321        /*Fetch data needed: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp

    r15000 r15423  
    3838        int  elements_width; //number of columns in elements (2d->3, 3d->6)
    3939        int  el1,el2;
    40         int    dim;
    4140        IssmDouble* elements=NULL;
    4241        IssmDouble* elements2d=NULL;
     
    4948
    5049        /*Fetch parameters: */
    51         iomodel->Constant(&dim,MeshDimensionEnum);
    5250        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    5351        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    6159
    6260        /*Number of vertices per elements, needed to correctly retrieve data: */
    63         if(dim==2) elements_width=3; //tria elements
    64         else elements_width=6; //penta elements
    65 
    6661        /*Determine parallel partitioning of elements: we use Metis for now. First load the data, then partition*/
    67         if(dim==2){
    68                 /*load elements: */
     62        if(iomodel->dim==2){
     63                elements_width=3; //tria elements
    6964                iomodel->FetchData(&elements,NULL,NULL,MeshElementsEnum);
    7065        }
    7166        else{
    72                 /*load elements2d: */
     67                elements_width=6; //penta elements
    7368                iomodel->FetchData(&elements2d,NULL,NULL,MeshElements2dEnum);
    7469        }
    7570
    76         MeshPartitionx(&epart, &npart,numberofelements,numberofvertices,elements, numberofelements2d,numberofvertices2d,elements2d,numlayers,elements_width, dim,num_procs);
     71        MeshPartitionx(&epart, &npart,numberofelements,numberofvertices,elements, numberofelements2d,numberofvertices2d,elements2d,numlayers,elements_width,iomodel->dim,num_procs);
    7772
    7873        /*Free elements and elements2d: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp

    r15128 r15423  
    1313        int    i,j;
    1414        int    count;
    15         int    dim;
    1615        int    M,N;
    1716        int    numberofvertices;
     
    2625
    2726        /*Fetch parameters: */
    28         iomodel->Constant(&dim,MeshDimensionEnum);
    2927        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
    3028        iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum);
     
    3836
    3937        /*return if 2d mesh*/
    40         if (dim==2){
     38        if (iomodel->dim==2){
    4139                *pconstraints=constraints;
    4240                return;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp

    r15000 r15423  
    1111void    UpdateElementsEnthalpy(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514
    1615        /*Fetch parameters: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1816        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    1917
    2018        /*Now, is the model 3d? otherwise, do nothing: */
    21         if(dim==2)return;
     19        if(iomodel->dim==2)return;
    2220
    2321        /*Fetch data needed: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Gia/UpdateElementsGia.cpp

    r15000 r15423  
    1111void    UpdateElementsGia(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514
    1615        /*Fetch parameters: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1816        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    1917
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp

    r15000 r15423  
    1010
    1111        /*Intermediary*/
    12         int dim;
    1312        int numberofvertices;
    14         iomodel->Constant(&dim,MeshDimensionEnum);
    1513        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
    1614
    1715        /*if 2d: Error*/
    18         if (dim==2) _error_("2d meshes not supported yet");
     16        if(iomodel->dim==2) _error_("2d meshes not supported yet");
    1917
    2018        /*Recover pointer: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp

    r15000 r15423  
    1111void    UpdateElementsMelting(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514
    1615        /*Fetch parameters: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1816        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    1917
    2018        /*Now, is the model 3d? otherwise, do nothing: */
    21         if (dim==2)return;
     19        if(iomodel->dim==2)return;
    2220
    2321        /*Fetch data needed: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp

    r15104 r15423  
    1515void ModelProcessorx(Elements** pelements, Nodes** pnodes, Vertices** pvertices, Materials** pmaterials, Constraints** pconstraints, Loads** ploads, Parameters** pparameters, FILE* IOMODEL,char* rootpath,const int solution_type,const int nummodels,const int* analysis_type_list){
    1616
    17         int   i,analysis_type,dim,verbose;
     17        int   i,analysis_type,verbose;
    1818        bool  isthermal,isprognostic,isdiagnostic,isgroundingline,isenthalpy;
    1919
     
    3131
    3232        /*Fetch parameters: */
    33         iomodel->Constant(&dim,MeshDimensionEnum);
    3433        iomodel->Constant(&verbose,VerboseEnum);
    3534        iomodel->Constant(&isthermal,TransientIsthermalEnum);
     
    4847
    4948                /*Hack for trasient runs (FIXME: to be improved)*/
    50                 if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && dim==2) continue;
    51                 if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && dim==2) continue;
    52                 if(solution_type==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && dim==2) continue;
     49                if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum  && iomodel->dim==2) continue;
     50                if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum  && iomodel->dim==2) continue;
     51                if(solution_type==TransientSolutionEnum && analysis_type==EnthalpyAnalysisEnum && iomodel->dim==2) continue;
    5352                if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isthermal==false) continue;
    5453                if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isthermal==false) continue;
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp

    r15000 r15423  
    5959         * ids. */
    6060
    61         int i,j;
    62         int    dim;
    63 
    6461        /*output: */
    6562        bool*   my_nodes=NULL;
    6663
    67         int  i1,i2;
     64        int  i,i1,i2;
    6865        int  cols;
    6966        int  e1,e2;
     
    7269        int *edges         = NULL;
    7370        int *elements      = NULL;
    74 
    75         /*Fetch parameters: */
    76         iomodel->Constant(&dim,MeshDimensionEnum);
    7771
    7872        /*Build discontinuous node partitioning
     
    8983
    9084        /*First: add all the nodes of all the elements belonging to this cpu*/
    91         if (dim==2){
     85        if (iomodel->dim==2){
    9286                for (i=0;i<numberofelements;i++){
    9387                        if (my_elements[i]){
     
    129123                        /*2: Get the column where these ids are located in the index*/
    130124                        pos=UNDEF;
    131                         for(j=0;j<3;j++){
     125                        for(int j=0;j<3;j++){
    132126                                if (elements[3*e2+j]==i1) pos=j;
    133127                        }
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp

    r15000 r15423  
    1717        int  io_index;
    1818        bool continuous_galerkin=true;
    19         int  dim;
    2019        int    numberofelements;
    2120        int    numberofvertices;
     
    2322
    2423        /*Fetch parameters: */
    25         iomodel->Constant(&dim,MeshDimensionEnum);
    2624        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    2725        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
     
    3937
    4038        /*Check in 3d*/
    41         if(stabilization==3 && dim==3) _error_("DG 3d not implemented yet");
     39        if(stabilization==3 && iomodel->dim==3) _error_("DG 3d not implemented yet");
    4240
    4341        /*First fetch data: */
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp

    r15375 r15423  
    1111void    UpdateElementsPrognostic(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514        int    stabilization;
     
    2019
    2120        /*Fetch data needed: */
    22         iomodel->Constant(&dim,MeshDimensionEnum);
    2321        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    2422        iomodel->Constant(&stabilization,PrognosticStabilizationEnum);
     
    6361        }
    6462
    65         if (dim==3){
     63        if(iomodel->dim==3){
    6664                iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
    6765                iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp

    r15000 r15423  
    1111void    UpdateElementsSurfaceSlope(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514
    1615        /*Fetch data needed: */
    17         iomodel->Constant(&dim,MeshDimensionEnum);
    1816        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    1917        iomodel->FetchData(1,MeshElementsEnum);
     
    3331        iomodel->FetchDataToInput(elements,MaskElementonwaterEnum);
    3432
    35         if (dim==3){
     33        if(iomodel->dim==3){
    3634                iomodel->FetchDataToInput(elements,MeshElementonbedEnum);
    3735                iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum);
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp

    r15000 r15423  
    1111void    CreateConstraintsThermal(Constraints** pconstraints, IoModel* iomodel){
    1212
    13         /*Fetch parameters: */
    14         int    dim;
    15         iomodel->Constant(&dim,MeshDimensionEnum);
    16 
    1713        /*Recover pointer: */
    1814        Constraints* constraints=*pconstraints;
     
    2218
    2319        /*Only 3d mesh supported*/
    24         if (dim==3){
     20        if(iomodel->dim==3){
    2521                IoModelToConstraintsx(constraints,iomodel,ThermalSpctemperatureEnum,ThermalAnalysisEnum);
    2622        }
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp

    r15000 r15423  
    1010
    1111        /*Intermediary*/
    12         int      dim;
    1312        int      numberofvertices;
    1413        Pengrid *pengrid          = NULL;
     
    1716        Loads* loads=*ploads;
    1817
     18        if(iomodel->dim==2) _error_("2d meshes not supported yet");
     19
    1920        /*Fetch parameters: */
    20         iomodel->Constant(&dim,MeshDimensionEnum);
    2121        iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum);
    2222
    2323        /*Create loads if they do not exist yet*/
    2424        if(!loads) loads = new Loads();
    25 
    26         /*return if 2d mesh*/
    27         if (dim==2) _error_("2d meshes not supported yet");
    2825
    2926        //create penalties for nodes: no node can have a temperature over the melting point
  • issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/UpdateElementsThermal.cpp

    r15375 r15423  
    1111void    UpdateElementsThermal(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){
    1212
    13         int    dim;
    1413        int    numberofelements;
    1514        bool   dakota_analysis;
    1615
     16        /*Now, is the model 3d? otherwise, do nothing: */
     17        if(iomodel->dim==2)return;
     18
    1719        /*Fetch parameters: */
    18         iomodel->Constant(&dim,MeshDimensionEnum);
    1920        iomodel->Constant(&numberofelements,MeshNumberofelementsEnum);
    2021        iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum);
    21 
    22         /*Now, is the model 3d? otherwise, do nothing: */
    23         if (dim==2)return;
    2422
    2523        /*Fetch data needed: */
Note: See TracChangeset for help on using the changeset viewer.