Changeset 15423
- Timestamp:
- 07/03/13 16:46:48 (12 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 30 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Loads/Icefront.cpp
r15401 r15423 43 43 int numnodes; 44 44 int numvertices; 45 int dim;46 45 int numberofelements; 47 46 … … 54 53 55 54 /*find parameters: */ 56 iomodel->Constant(&dim,MeshDimensionEnum);57 55 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 58 56 59 57 /*First, retrieve element index and element type: */ 60 if (dim==2){58 if(iomodel->dim==2){ 61 59 segment_width=4; 62 60 } … … 132 130 int numnodes; 133 131 int numvertices; 134 int dim;135 132 int numberofelements; 136 133 -
issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp
r15417 r15423 670 670 671 671 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 vector674 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 } 693 693 default: _error_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet"); 694 694 } … … 737 737 738 738 int i,j; 739 740 int dim;741 739 bool control_analysis; 742 740 int num_control_type; 743 741 744 742 /*Fetch parameters: */ 745 iomodel->Constant(&dim,MeshDimensionEnum);746 743 iomodel->Constant(&control_analysis,InversionIscontrolEnum); 747 744 if(control_analysis) iomodel->Constant(&num_control_type,InversionNumControlParametersEnum); 748 745 749 /*if 2d*/ 750 if(dim==2){ 746 if(iomodel->dim==2){ 751 747 752 748 /*Intermediaries*/ … … 806 802 /*if 3d*/ 807 803 #ifdef _HAVE_3D_ 808 else if( dim==3){804 else if(iomodel->dim==3){ 809 805 810 806 /*Intermediaries*/ -
issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
r15417 r15423 687 687 688 688 int i,j; 689 690 int dim;691 689 bool control_analysis; 692 690 int num_control_type; 693 691 694 692 /*Fetch parameters: */ 695 iomodel->Constant(&dim,MeshDimensionEnum);696 693 iomodel->Constant(&control_analysis,InversionIscontrolEnum); 697 694 if(control_analysis) iomodel->Constant(&num_control_type,InversionNumControlParametersEnum); 698 695 699 /*if 2d*/ 700 if(dim==2){ 696 if(iomodel->dim==2){ 701 697 702 698 /*Intermediaries*/ … … 740 736 /*if 3d*/ 741 737 #ifdef _HAVE_3D_ 742 else if( dim==3){738 else if(iomodel->dim==3){ 743 739 744 740 /*Intermediaries*/ -
issm/trunk-jpl/src/c/classes/Node.cpp
r15377 r15423 29 29 int k,l; 30 30 int gsize; 31 int dim;32 33 /*Fetch parameters: */34 iomodel->Constant(&dim,MeshDimensionEnum);35 31 36 32 /*id: */ … … 79 75 XZvectorsToCoordinateSystem(&this->coord_system[0][0],iomodel->Data(DiagnosticReferentialEnum)+io_index*6); 80 76 81 if (dim==3){77 if(iomodel->dim==3){ 82 78 /*We have a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 83 79 _assert_(iomodel->Data(MeshVertexonbedEnum)); … … 126 122 analysis_type==HydrologyDCEfficientAnalysisEnum 127 123 ){ 128 if (dim==3){124 if(iomodel->dim==3){ 129 125 /*On a 3d mesh, we may have collapsed elements, hence dead nodes. Freeze them out: */ 130 126 _assert_(iomodel->Data(MeshVertexonbedEnum)); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
r15000 r15423 17 17 int io_index; 18 18 bool continuous_galerkin=true; 19 int dim;20 19 int numberofelements; 21 20 int numberofvertices; … … 23 22 24 23 /*Fetch parameters: */ 25 iomodel->Constant(&dim,MeshDimensionEnum);26 24 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 27 25 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 39 37 40 38 /*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"); 42 40 43 41 /*First fetch data: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
r15000 r15423 11 11 void UpdateElementsBalancethickness(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 16 15 /*Fetch data needed: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 17 iomodel->FetchData(1,MeshElementsEnum); … … 40 38 iomodel->FetchDataToInput(elements,BalancethicknessThickeningRateEnum); 41 39 42 if (dim==3){40 if(iomodel->dim==3){ 43 41 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 44 42 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/BedSlope/UpdateElementsBedSlope.cpp
r15000 r15423 11 11 void UpdateElementsBedSlope(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 16 15 /*Fetch data needed: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 17 iomodel->FetchData(1,MeshElementsEnum); … … 33 31 iomodel->FetchDataToInput(elements,MaskElementonwaterEnum); 34 32 35 if (dim==3){33 if(iomodel->dim==3){ 36 34 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 37 35 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
r15421 r15423 12 12 /*Intermediary*/ 13 13 int i; 14 int dim,materials_type;14 int materials_type; 15 15 int numberofelements; 16 16 int numberofvertices; … … 24 24 25 25 /*Fetch parameters: */ 26 iomodel->Constant(&dim,MeshDimensionEnum);27 26 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 28 27 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 41 40 iomodel->FetchData(2,MeshElementsEnum,MeshElementconnectivityEnum); 42 41 #ifdef _HAVE_3D_ 43 if( dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum);42 if(iomodel->dim==3)iomodel->FetchData(2,MeshUpperelementsEnum,MeshLowerelementsEnum); 44 43 #endif 45 44 if(control_analysis)iomodel->FetchData(3,InversionControlParametersEnum,InversionMinParametersEnum,InversionMaxParametersEnum); … … 50 49 51 50 /*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)); 53 52 #ifdef _HAVE_3D_ 54 53 else elements->AddObject(new Penta(i+1,i,i,iomodel,nummodels)); … … 63 62 for (i=0;i<numberofelements;i++) if(iomodel->my_elements[i]) materials->AddObject(new Matice(i+1,i,iomodel)); 64 63 if(dakota_analysis){ 65 if( dim==2) materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum);64 if(iomodel->dim==2) materials->InputDuplicate(MaterialsRheologyBbarEnum,QmuMaterialsRheologyBEnum); 66 65 #ifdef _HAVE_3D_ 67 66 else materials->InputDuplicate(MaterialsRheologyBEnum,QmuMaterialsRheologyBEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNumberNodeToElementConnectivity.cpp
r14951 r15423 20 20 int vertexid; 21 21 int elementswidth; 22 int dim; 23 int numberofelements; 24 int numberofvertices; 22 int numberofelements; 23 int numberofvertices; 25 24 IssmDouble* elements=NULL; 26 25 … … 32 31 33 32 /*Fetch parameters: */ 34 iomodel->Constant(&dim,MeshDimensionEnum);35 33 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 36 34 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 46 44 47 45 /*Get element width (3 or 6)*/ 48 if ( dim==2){46 if (iomodel->dim==2){ 49 47 elementswidth=3; 50 48 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
r14951 r15423 20 20 int vertexid; 21 21 int elementswidth; 22 int dim;23 22 int numberofelements; 24 23 int numberofvertices; … … 32 31 33 32 /*Fetch parameters: */ 34 iomodel->Constant(&dim,MeshDimensionEnum);35 33 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 36 34 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 47 45 48 46 /*Get element width (3 or 6)*/ 49 if (dim==2){47 if(iomodel->dim==2){ 50 48 elementswidth=3; 51 49 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateConstraintsDiagnosticHoriz.cpp
r15128 r15423 41 41 Constraints *constraints = NULL; 42 42 SpcStatic *spcstatic = NULL; 43 int dim;44 43 int numberofvertices; 45 44 46 45 /*Fetch parameters: */ 47 iomodel->Constant(&dim,MeshDimensionEnum);48 46 iomodel->Constant(&yts,ConstantsYtsEnum); 49 47 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 72 70 iomodel->FetchData(&spcvz,&Mz,&Nz,DiagnosticSpcvzEnum); 73 71 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); 78 76 iomodel->FetchData(&vertices_type,NULL,NULL,FlowequationVertexEquationEnum); 79 77 iomodel->FetchData(&surface,NULL,NULL,SurfaceEnum); … … 295 293 296 294 /*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])){ 298 296 switch(reCast<int,IssmDouble>(vertices_type[i])){ 299 297 case MacAyealStokesApproximationEnum: … … 320 318 iomodel->DeleteData(spcvz,DiagnosticSpcvzEnum); 321 319 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); 326 324 iomodel->DeleteData(vertices_type,FlowequationVertexEquationEnum); 327 325 iomodel->DeleteData(surface,SurfaceEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/CreateLoadsDiagnosticHoriz.cpp
r15000 r15423 19 19 int count=0; 20 20 int penpair_ids[2]; 21 int dim;22 21 int numberofvertices; 23 22 bool ismacayealpattyn,isstokes,isl1l2; … … 34 33 35 34 /*Fetch parameters: */ 36 iomodel->Constant(&dim,MeshDimensionEnum);37 35 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 38 36 iomodel->Constant(&isl1l2,FlowequationIsl1l2Enum); … … 66 64 67 65 /*Retrieve element to which this icefront belongs: */ 68 if (dim==2) segment_width=4;66 if(iomodel->dim==2) segment_width=4; 69 67 else segment_width=6; 70 68 element=reCast<int,IssmDouble>(*(pressureload+segment_width*i+segment_width-2)-1); //element is in the penultimate column (node1 node2 ... elem fill) … … 77 75 78 76 /*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){ 80 78 loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal2dIceFrontEnum,DiagnosticHorizAnalysisEnum)); 81 79 count++; 82 80 } 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){ 84 82 loads->AddObject(new Icefront(iomodel->loadcounter+count+1,i,iomodel,MacAyeal3dIceFrontEnum,DiagnosticHorizAnalysisEnum)); 85 83 count++; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticHoriz/UpdateElementsDiagnosticHoriz.cpp
r15000 r15423 16 16 void UpdateElementsDiagnosticHoriz(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 17 17 18 int dim,materials_type;18 int materials_type; 19 19 int numberofelements; 20 20 bool ismacayealpattyn; … … 28 28 iomodel->Constant(&isl1l2,FlowequationIsl1l2Enum); 29 29 iomodel->Constant(&ismacayealpattyn,FlowequationIsmacayealpattynEnum); 30 iomodel->Constant(&dim,MeshDimensionEnum);31 30 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 32 31 iomodel->Constant(&control_analysis,InversionIscontrolEnum); … … 69 68 iomodel->FetchDataToInput(elements,MaterialsRheologyZEnum); 70 69 } 71 if (dim==3){70 if(iomodel->dim==3){ 72 71 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 73 72 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); … … 97 96 if(dakota_analysis)elements->InputDuplicate(VyEnum,QmuVyEnum); 98 97 99 if( dim==3){98 if(iomodel->dim==3){ 100 99 elements->InputDuplicate(VzEnum,VzPicardEnum); 101 100 elements->InputDuplicate(VzEnum,InversionVzObsEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticVert/CreateConstraintsDiagnosticVert.cpp
r15000 r15423 12 12 /*Intermediary*/ 13 13 int i; 14 int dim;15 14 int count; 16 15 IssmDouble yts; … … 18 17 19 18 /*Fetch parameters: */ 20 iomodel->Constant(&dim,MeshDimensionEnum);21 19 iomodel->Constant(&yts,ConstantsYtsEnum); 22 20 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 29 27 30 28 /*return if 2d mesh*/ 31 if( dim==2){29 if(iomodel->dim==2){ 32 30 *pconstraints=constraints; 33 31 return; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticVert/CreateNodesDiagnosticVert.cpp
r15000 r15423 14 14 int i; 15 15 bool continuous_galerkin=true; 16 int dim;17 16 int numberofvertices; 18 17 19 18 /*Fetch parameters: */ 20 iomodel->Constant(&dim,MeshDimensionEnum);21 19 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 22 20 … … 28 26 29 27 /*Now, is the flag macayaealpattyn on? otherwise, do nothing: */ 30 if (dim==2){28 if(iomodel->dim==2){ 31 29 *pnodes=nodes; 32 30 return; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/DiagnosticVert/UpdateElementsDiagnosticVert.cpp
r15000 r15423 11 11 void UpdateElementsDiagnosticVert(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim; 13 /*Now, is the model 3d? otherwise, do nothing: */ 14 if (iomodel->dim==2)return; 15 14 16 int numberofelements; 15 17 16 18 /*Fetch parameters: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 19 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 20 /*Now, is the model 3d? otherwise, do nothing: */21 if (dim==2)return;22 20 23 21 /*Fetch data needed: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ElementsAndVerticesPartitioning.cpp
r15000 r15423 38 38 int elements_width; //number of columns in elements (2d->3, 3d->6) 39 39 int el1,el2; 40 int dim;41 40 IssmDouble* elements=NULL; 42 41 IssmDouble* elements2d=NULL; … … 49 48 50 49 /*Fetch parameters: */ 51 iomodel->Constant(&dim,MeshDimensionEnum);52 50 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 53 51 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 61 59 62 60 /*Number of vertices per elements, needed to correctly retrieve data: */ 63 if(dim==2) elements_width=3; //tria elements64 else elements_width=6; //penta elements65 66 61 /*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 69 64 iomodel->FetchData(&elements,NULL,NULL,MeshElementsEnum); 70 65 } 71 66 else{ 72 /*load elements2d: */67 elements_width=6; //penta elements 73 68 iomodel->FetchData(&elements2d,NULL,NULL,MeshElements2dEnum); 74 69 } 75 70 76 MeshPartitionx(&epart, &npart,numberofelements,numberofvertices,elements, numberofelements2d,numberofvertices2d,elements2d,numlayers,elements_width, 71 MeshPartitionx(&epart, &npart,numberofelements,numberofvertices,elements, numberofelements2d,numberofvertices2d,elements2d,numlayers,elements_width,iomodel->dim,num_procs); 77 72 78 73 /*Free elements and elements2d: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
r15128 r15423 13 13 int i,j; 14 14 int count; 15 int dim;16 15 int M,N; 17 16 int numberofvertices; … … 26 25 27 26 /*Fetch parameters: */ 28 iomodel->Constant(&dim,MeshDimensionEnum);29 27 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 30 28 iomodel->Constant(&heatcapacity,MaterialsHeatcapacityEnum); … … 38 36 39 37 /*return if 2d mesh*/ 40 if ( dim==2){38 if (iomodel->dim==2){ 41 39 *pconstraints=constraints; 42 40 return; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r15000 r15423 11 11 void UpdateElementsEnthalpy(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 16 15 /*Fetch parameters: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 17 20 18 /*Now, is the model 3d? otherwise, do nothing: */ 21 if( dim==2)return;19 if(iomodel->dim==2)return; 22 20 23 21 /*Fetch data needed: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Gia/UpdateElementsGia.cpp
r15000 r15423 11 11 void UpdateElementsGia(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 16 15 /*Fetch parameters: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 17 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
r15000 r15423 10 10 11 11 /*Intermediary*/ 12 int dim;13 12 int numberofvertices; 14 iomodel->Constant(&dim,MeshDimensionEnum);15 13 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 16 14 17 15 /*if 2d: Error*/ 18 if (dim==2) _error_("2d meshes not supported yet");16 if(iomodel->dim==2) _error_("2d meshes not supported yet"); 19 17 20 18 /*Recover pointer: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r15000 r15423 11 11 void UpdateElementsMelting(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 16 15 /*Fetch parameters: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 17 20 18 /*Now, is the model 3d? otherwise, do nothing: */ 21 if (dim==2)return;19 if(iomodel->dim==2)return; 22 20 23 21 /*Fetch data needed: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/ModelProcessorx.cpp
r15104 r15423 15 15 void 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){ 16 16 17 int i,analysis_type, dim,verbose;17 int i,analysis_type,verbose; 18 18 bool isthermal,isprognostic,isdiagnostic,isgroundingline,isenthalpy; 19 19 … … 31 31 32 32 /*Fetch parameters: */ 33 iomodel->Constant(&dim,MeshDimensionEnum);34 33 iomodel->Constant(&verbose,VerboseEnum); 35 34 iomodel->Constant(&isthermal,TransientIsthermalEnum); … … 48 47 49 48 /*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; 53 52 if(solution_type==TransientSolutionEnum && analysis_type==ThermalAnalysisEnum && isthermal==false) continue; 54 53 if(solution_type==TransientSolutionEnum && analysis_type==MeltingAnalysisEnum && isthermal==false) continue; -
issm/trunk-jpl/src/c/modules/ModelProcessorx/NodesPartitioning.cpp
r15000 r15423 59 59 * ids. */ 60 60 61 int i,j;62 int dim;63 64 61 /*output: */ 65 62 bool* my_nodes=NULL; 66 63 67 int i 1,i2;64 int i,i1,i2; 68 65 int cols; 69 66 int e1,e2; … … 72 69 int *edges = NULL; 73 70 int *elements = NULL; 74 75 /*Fetch parameters: */76 iomodel->Constant(&dim,MeshDimensionEnum);77 71 78 72 /*Build discontinuous node partitioning … … 89 83 90 84 /*First: add all the nodes of all the elements belonging to this cpu*/ 91 if ( dim==2){85 if (iomodel->dim==2){ 92 86 for (i=0;i<numberofelements;i++){ 93 87 if (my_elements[i]){ … … 129 123 /*2: Get the column where these ids are located in the index*/ 130 124 pos=UNDEF; 131 for( j=0;j<3;j++){125 for(int j=0;j<3;j++){ 132 126 if (elements[3*e2+j]==i1) pos=j; 133 127 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
r15000 r15423 17 17 int io_index; 18 18 bool continuous_galerkin=true; 19 int dim;20 19 int numberofelements; 21 20 int numberofvertices; … … 23 22 24 23 /*Fetch parameters: */ 25 iomodel->Constant(&dim,MeshDimensionEnum);26 24 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 27 25 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); … … 39 37 40 38 /*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"); 42 40 43 41 /*First fetch data: */ -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r15375 r15423 11 11 void UpdateElementsPrognostic(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 int stabilization; … … 20 19 21 20 /*Fetch data needed: */ 22 iomodel->Constant(&dim,MeshDimensionEnum);23 21 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 24 22 iomodel->Constant(&stabilization,PrognosticStabilizationEnum); … … 63 61 } 64 62 65 if (dim==3){63 if(iomodel->dim==3){ 66 64 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 67 65 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/SurfaceSlope/UpdateElementsSurfaceSlope.cpp
r15000 r15423 11 11 void UpdateElementsSurfaceSlope(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 16 15 /*Fetch data needed: */ 17 iomodel->Constant(&dim,MeshDimensionEnum);18 16 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 19 17 iomodel->FetchData(1,MeshElementsEnum); … … 33 31 iomodel->FetchDataToInput(elements,MaskElementonwaterEnum); 34 32 35 if (dim==3){33 if(iomodel->dim==3){ 36 34 iomodel->FetchDataToInput(elements,MeshElementonbedEnum); 37 35 iomodel->FetchDataToInput(elements,MeshElementonsurfaceEnum); -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateConstraintsThermal.cpp
r15000 r15423 11 11 void CreateConstraintsThermal(Constraints** pconstraints, IoModel* iomodel){ 12 12 13 /*Fetch parameters: */14 int dim;15 iomodel->Constant(&dim,MeshDimensionEnum);16 17 13 /*Recover pointer: */ 18 14 Constraints* constraints=*pconstraints; … … 22 18 23 19 /*Only 3d mesh supported*/ 24 if (dim==3){20 if(iomodel->dim==3){ 25 21 IoModelToConstraintsx(constraints,iomodel,ThermalSpctemperatureEnum,ThermalAnalysisEnum); 26 22 } -
issm/trunk-jpl/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
r15000 r15423 10 10 11 11 /*Intermediary*/ 12 int dim;13 12 int numberofvertices; 14 13 Pengrid *pengrid = NULL; … … 17 16 Loads* loads=*ploads; 18 17 18 if(iomodel->dim==2) _error_("2d meshes not supported yet"); 19 19 20 /*Fetch parameters: */ 20 iomodel->Constant(&dim,MeshDimensionEnum);21 21 iomodel->Constant(&numberofvertices,MeshNumberofverticesEnum); 22 22 23 23 /*Create loads if they do not exist yet*/ 24 24 if(!loads) loads = new Loads(); 25 26 /*return if 2d mesh*/27 if (dim==2) _error_("2d meshes not supported yet");28 25 29 26 //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 11 11 void UpdateElementsThermal(Elements* elements, IoModel* iomodel,int analysis_counter,int analysis_type){ 12 12 13 int dim;14 13 int numberofelements; 15 14 bool dakota_analysis; 16 15 16 /*Now, is the model 3d? otherwise, do nothing: */ 17 if(iomodel->dim==2)return; 18 17 19 /*Fetch parameters: */ 18 iomodel->Constant(&dim,MeshDimensionEnum);19 20 iomodel->Constant(&numberofelements,MeshNumberofelementsEnum); 20 21 iomodel->Constant(&dakota_analysis,QmuIsdakotaEnum); 21 22 /*Now, is the model 3d? otherwise, do nothing: */23 if (dim==2)return;24 22 25 23 /*Fetch data needed: */
Note:
See TracChangeset
for help on using the changeset viewer.