Changeset 9372
- Timestamp:
- 08/22/11 15:38:20 (14 years ago)
- Location:
- issm/trunk/src/c/modules/ModelProcessorx
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateLoadsBalancethickness.cpp
r9362 r9372 35 35 36 36 /*Get edges and elements*/ 37 iomodel->FetchData(&iomodel->edges,&numberofedges,NULL,EdgesEnum); 38 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum); 39 iomodel->FetchData(&iomodel->thickness,NULL,NULL,ThicknessEnum); 37 iomodel->FetchData(3,EdgesEnum,ElementsEnum,ThicknessEnum); 40 38 41 39 /*First load data:*/ … … 43 41 44 42 /*Get left and right elements*/ 45 element=(int)iomodel-> edges[4*i+2]-1; //edges are [node1 node2 elem1 elem2]43 element=(int)iomodel->f(EdgesEnum)[4*i+2]-1; //edges are [node1 node2 elem1 elem2] 46 44 47 45 /*Now, if this element is not in the partition, pass: */ … … 53 51 54 52 /*Free data: */ 55 xfree((void**)&iomodel->edges); 56 xfree((void**)&iomodel->elements); 57 xfree((void**)&iomodel->thickness); 53 iomodel->DeleteData(3,EdgesEnum,ElementsEnum,ThicknessEnum); 58 54 } 59 55 -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/CreateNodesBalancethickness.cpp
r9362 r9372 49 49 50 50 /*First fetch data: */ 51 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum); 52 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 53 iomodel->FetchData(&iomodel->nodeonsurface,NULL,NULL,NodeOnSurfaceEnum); 54 iomodel->FetchData(&iomodel->nodeonicesheet,NULL,NULL,NodeOnIceSheetEnum); 55 iomodel->FetchData(&iomodel->nodeoniceshelf,NULL,NULL,NodeOnIceShelfEnum); 56 iomodel->FetchData(&iomodel->vertices_type,NULL,NULL,VerticesTypeEnum); 57 iomodel->FetchData(&iomodel->nodeonwater,NULL,NULL,NodeOnWaterEnum); 51 iomodel->FetchData(7,ElementsEnum,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 58 52 59 53 if(continuous_galerkin){ … … 61 55 /*Build Nodes dataset (Continuous Galerkin)*/ 62 56 for (i=0;i<numberofvertices;i++){ 63 64 57 if(iomodel->my_vertices[i]){ 65 58 … … 79 72 80 73 //Get index of the vertex on which the current node is located 81 vertex_id=(int)*(iomodel-> elements+3*i+j); //(Matlab indexing)74 vertex_id=(int)*(iomodel->f(ElementsEnum)+3*i+j); //(Matlab indexing) 82 75 io_index=vertex_id-1; //(C indexing) 83 76 _assert_(vertex_id>0 && vertex_id<=numberofvertices); … … 95 88 96 89 /*Clean fetched data: */ 97 xfree((void**)&iomodel->elements); 98 xfree((void**)&iomodel->nodeonbed); 99 xfree((void**)&iomodel->nodeonsurface); 100 xfree((void**)&iomodel->nodeonicesheet); 101 xfree((void**)&iomodel->nodeonwater); 102 xfree((void**)&iomodel->nodeoniceshelf); 103 xfree((void**)&iomodel->vertices_type); 90 iomodel->DeleteData(7,ElementsEnum,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 104 91 105 92 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Balancethickness/UpdateElementsBalancethickness.cpp
r9362 r9372 21 21 /*Fetch data needed: */ 22 22 iomodel->constants->FindParam(&dim,DimEnum); 23 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum);24 23 iomodel->constants->FindParam(&numberofelements,NumberOfElementsEnum); 24 iomodel->FetchData(1,ElementsEnum); 25 25 26 26 /*Update elements: */ … … 52 52 } 53 53 /*Free data: */ 54 xfree((void**)&iomodel->elements); 55 56 54 iomodel->DeleteData(1,ElementsEnum); 57 55 } -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateConstraintsEnthalpy.cpp
r9362 r9372 38 38 39 39 /*return if 2d mesh*/ 40 if (dim==2) goto cleanup_and_return; 40 if (dim==2){ 41 *pconstraints=constraints; 42 return; 43 } 41 44 42 45 /*Fetch data: */ 43 iomodel->FetchData(&iomodel->spctemperature,NULL,NULL,SpctemperatureEnum); 46 double *spctemperature=NULL; 47 iomodel->FetchData(&spctemperature,NULL,NULL,SpctemperatureEnum); 44 48 45 49 /*Initialize counter*/ … … 51 55 if((iomodel->my_vertices[i])){ 52 56 53 if ((int) iomodel->spctemperature[2*i]){57 if ((int)spctemperature[2*i]){ 54 58 55 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,heatcapacity*( iomodel->spctemperature[2*i+1]-referencetemperature),EnthalpyAnalysisEnum));59 constraints->AddObject(new SpcStatic(iomodel->constraintcounter+count+1,iomodel->nodecounter+i+1,1,heatcapacity*(spctemperature[2*i+1]-referencetemperature),EnthalpyAnalysisEnum)); 56 60 count++; 57 61 … … 61 65 62 66 /*Free data: */ 63 xfree((void**)&iomodel->spctemperature); 64 65 cleanup_and_return: 67 xfree((void**)&spctemperature); 66 68 67 69 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/CreateNodesEnthalpy.cpp
r9362 r9372 36 36 37 37 /*Create nodes and vertices: */ 38 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 39 iomodel->FetchData(&iomodel->nodeonsurface,NULL,NULL,NodeOnSurfaceEnum); 40 iomodel->FetchData(&iomodel->nodeonicesheet,NULL,NULL,NodeOnIceSheetEnum); 41 iomodel->FetchData(&iomodel->nodeoniceshelf,NULL,NULL,NodeOnIceShelfEnum); 42 iomodel->FetchData(&iomodel->vertices_type,NULL,NULL,VerticesTypeEnum); 43 iomodel->FetchData(&iomodel->nodeonwater,NULL,NULL,NodeOnWaterEnum); 38 iomodel->FetchData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 44 39 45 40 for (i=0;i<numberofvertices;i++){ 46 47 41 if(iomodel->my_vertices[i]){ 48 42 … … 54 48 55 49 /*Clean fetched data: */ 56 xfree((void**)&iomodel->nodeonbed); 57 xfree((void**)&iomodel->nodeonsurface); 58 xfree((void**)&iomodel->nodeonicesheet); 59 xfree((void**)&iomodel->nodeonwater); 60 xfree((void**)&iomodel->nodeoniceshelf); 61 xfree((void**)&iomodel->vertices_type); 50 iomodel->DeleteData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 62 51 63 52 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Enthalpy/UpdateElementsEnthalpy.cpp
r9362 r9372 24 24 25 25 /*Now, is the model 3d? otherwise, do nothing: */ 26 if 26 if(dim==2)return; 27 27 28 28 /*Fetch data needed: */ 29 iomodel->FetchData( &iomodel->elements,NULL,NULL,ElementsEnum);29 iomodel->FetchData(1,ElementsEnum); 30 30 31 31 /*Update elements: */ … … 61 61 62 62 /*Free data: */ 63 xfree((void**)&iomodel->elements); 64 63 iomodel->DeleteData(1,ElementsEnum); 65 64 } -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/CreateNodesHydrology.cpp
r9362 r9372 36 36 37 37 /*Create nodes and vertices: */ 38 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 39 iomodel->FetchData(&iomodel->nodeonsurface,NULL,NULL,NodeOnSurfaceEnum); 40 iomodel->FetchData(&iomodel->nodeonicesheet,NULL,NULL,NodeOnIceSheetEnum); 41 iomodel->FetchData(&iomodel->nodeoniceshelf,NULL,NULL,NodeOnIceShelfEnum); 42 iomodel->FetchData(&iomodel->vertices_type,NULL,NULL,VerticesTypeEnum); 43 iomodel->FetchData(&iomodel->nodeonwater,NULL,NULL,NodeOnWaterEnum); 44 38 iomodel->FetchData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 45 39 for (i=0;i<numberofvertices;i++){ 46 40 47 41 if(iomodel->my_vertices[i]){ 48 49 42 /*Add node to nodes dataset: */ 50 43 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,i+1,i,iomodel,HydrologyAnalysisEnum)); … … 52 45 } 53 46 } 54 55 /*Clean fetched data: */ 56 xfree((void**)&iomodel->nodeonbed); 57 xfree((void**)&iomodel->nodeonsurface); 58 xfree((void**)&iomodel->nodeonicesheet); 59 xfree((void**)&iomodel->nodeonwater); 60 xfree((void**)&iomodel->nodeoniceshelf); 61 xfree((void**)&iomodel->vertices_type); 47 iomodel->DeleteData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 62 48 63 49 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Hydrology/UpdateElementsHydrology.cpp
r9362 r9372 19 19 20 20 /*Fetch data needed: */ 21 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum);22 21 iomodel->constants->FindParam(&numberofelements,NumberOfElementsEnum); 22 iomodel->FetchData(1,ElementsEnum); 23 23 24 24 /*Update elements: */ … … 55 55 56 56 elements->InputDuplicate(WatercolumnEnum,WaterColumnOldEnum); 57 57 58 /*Free data: */ 58 xfree((void**)&iomodel->elements); 59 60 59 iomodel->DeleteData(1,ElementsEnum); 61 60 } -
issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateLoadsMelting.cpp
r9362 r9372 35 35 36 36 //create penalties for nodes: no node can have a temperature over the melting point 37 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 38 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum); 37 iomodel->FetchData(2,NodeOnBedEnum,ElementsEnum); 39 38 CreateSingleNodeToElementConnectivity(iomodel); 40 39 41 40 for (i=0;i<numberofvertices;i++){ 42 43 41 if((iomodel->my_vertices[i]==1)){ 44 45 if (iomodel->nodeonbed[i]){ 46 42 if (iomodel->f(NodeOnBedEnum)[i]){ 47 43 loads->AddObject(new Pengrid(iomodel->loadcounter+i+1,i,iomodel,MeltingAnalysisEnum)); 48 44 } 49 45 } 50 46 } 51 xfree((void**)&iomodel->nodeonbed); 52 xfree((void**)&iomodel->elements); 53 xfree((void**)&iomodel->singlenodetoelementconnectivity); 47 iomodel->DeleteData(2,NodeOnBedEnum,ElementsEnum); 54 48 55 49 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Melting/CreateNodesMelting.cpp
r9362 r9372 36 36 37 37 /*First fetch data: */ 38 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 39 iomodel->FetchData(&iomodel->nodeonsurface,NULL,NULL,NodeOnSurfaceEnum); 40 iomodel->FetchData(&iomodel->nodeonicesheet,NULL,NULL,NodeOnIceSheetEnum); 41 iomodel->FetchData(&iomodel->nodeoniceshelf,NULL,NULL,NodeOnIceShelfEnum); 42 iomodel->FetchData(&iomodel->vertices_type,NULL,NULL,VerticesTypeEnum); 43 iomodel->FetchData(&iomodel->nodeonwater,NULL,NULL,NodeOnWaterEnum); 44 38 iomodel->FetchData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 45 39 for (i=0;i<numberofvertices;i++){ 46 40 … … 52 46 } 53 47 } 54 55 /*Clean fetched data: */ 56 xfree((void**)&iomodel->nodeonbed); 57 xfree((void**)&iomodel->nodeonsurface); 58 xfree((void**)&iomodel->nodeonicesheet); 59 xfree((void**)&iomodel->nodeonwater); 60 xfree((void**)&iomodel->nodeoniceshelf); 61 xfree((void**)&iomodel->vertices_type); 48 iomodel->DeleteData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 62 49 63 50 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Melting/UpdateElementsMelting.cpp
r9362 r9372 27 27 28 28 /*Fetch data needed: */ 29 iomodel->FetchData( &iomodel->elements,NULL,NULL,ElementsEnum);29 iomodel->FetchData(1,ElementsEnum); 30 30 31 31 /*Update elements: */ … … 60 60 61 61 /*Free data: */ 62 xfree((void**)&iomodel->elements); 63 62 iomodel->DeleteData(1,ElementsEnum); 64 63 } -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateLoadsPrognostic.cpp
r9362 r9372 38 38 39 39 /*Get edges and elements*/ 40 iomodel->FetchData(&iomodel->edges,&numberofedges,NULL,EdgesEnum); 41 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum); 42 iomodel->FetchData(&iomodel->thickness,NULL,NULL,ThicknessEnum); 40 iomodel->FetchData(3,EdgesEnum,ElementsEnum,ThicknessEnum); 43 41 44 42 /*First load data:*/ … … 46 44 47 45 /*Get left and right elements*/ 48 element=(int)iomodel-> edges[4*i+2]-1; //edges are [node1 node2 elem1 elem2]46 element=(int)iomodel->f(EdgesEnum)[4*i+2]-1; //edges are [node1 node2 elem1 elem2] 49 47 50 48 /*Now, if this element is not in the partition, pass: */ … … 56 54 57 55 /*Free data: */ 58 xfree((void**)&iomodel->edges); 59 xfree((void**)&iomodel->elements); 60 xfree((void**)&iomodel->thickness); 61 56 iomodel->DeleteData(3,EdgesEnum,ElementsEnum,ThicknessEnum); 62 57 } 63 58 64 59 /*Create Penpair for penalties: */ 65 iomodel->FetchData(&iomodel->penalties,&numpenalties,NULL,PenaltiesEnum); 66 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 60 double *penalties=NULL; 61 double *nodeonbed=NULL; 62 iomodel->FetchData(&penalties,&numpenalties,NULL,PenaltiesEnum); 63 iomodel->FetchData(&nodeonbed,NULL,NULL,NodeOnBedEnum); 67 64 68 65 for(i=0;i<numpenalties;i++){ 69 66 70 if(iomodel->my_vertices[(int) iomodel->penalties[2*i+0]-1]){67 if(iomodel->my_vertices[(int)penalties[2*i+0]-1]){ 71 68 72 69 /*In debugging mode, check that the second node is in the same cpu*/ 73 _assert_(iomodel->my_vertices[(int)iomodel-> penalties[2*i+1]-1]);70 _assert_(iomodel->my_vertices[(int)iomodel->f(PenaltiesEnum)[2*i+1]-1]); 74 71 75 72 /*Skip if one of the two is not on the bed*/ 76 if(! iomodel->nodeonbed[(int)iomodel->penalties[2*i+0]-1] || !iomodel->nodeonbed[(int)iomodel->penalties[2*i+1]-1]) continue;73 if(!nodeonbed[(int)penalties[2*i+0]-1] || !nodeonbed[(int)penalties[2*i+1]-1]) continue; 77 74 78 75 /*Get node ids*/ 79 penpair_ids[0]=iomodel->nodecounter+(int) iomodel->penalties[2*i+0];80 penpair_ids[1]=iomodel->nodecounter+(int) iomodel->penalties[2*i+1];76 penpair_ids[0]=iomodel->nodecounter+(int)penalties[2*i+0]; 77 penpair_ids[1]=iomodel->nodecounter+(int)penalties[2*i+1]; 81 78 82 79 /*Create Load*/ … … 90 87 91 88 /*free ressources: */ 92 xfree((void**)& iomodel->penalties);93 xfree((void**)& iomodel->nodeonbed);89 xfree((void**)&penalties); 90 xfree((void**)&nodeonbed); 94 91 95 92 -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/CreateNodesPrognostic.cpp
r9362 r9372 49 49 50 50 /*First fetch data: */ 51 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum); 52 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 53 iomodel->FetchData(&iomodel->nodeonsurface,NULL,NULL,NodeOnSurfaceEnum); 54 iomodel->FetchData(&iomodel->nodeonicesheet,NULL,NULL,NodeOnIceSheetEnum); 55 iomodel->FetchData(&iomodel->nodeoniceshelf,NULL,NULL,NodeOnIceShelfEnum); 56 iomodel->FetchData(&iomodel->vertices_type,NULL,NULL,VerticesTypeEnum); 57 iomodel->FetchData(&iomodel->nodeonwater,NULL,NULL,NodeOnWaterEnum); 58 51 iomodel->FetchData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 59 52 if(continuous_galerkin){ 60 53 … … 79 72 80 73 //Get index of the vertex on which the current node is located 81 vertex_id=(int)*(iomodel-> elements+3*i+j); //(Matlab indexing)74 vertex_id=(int)*(iomodel->f(ElementsEnum)+3*i+j); //(Matlab indexing) 82 75 io_index=vertex_id-1; //(C indexing) 83 76 _assert_(vertex_id>0 && vertex_id<=numberofvertices); … … 95 88 96 89 /*Clean fetched data: */ 97 xfree((void**)&iomodel->nodeonbed); 98 xfree((void**)&iomodel->nodeonsurface); 99 xfree((void**)&iomodel->nodeonicesheet); 100 xfree((void**)&iomodel->nodeoniceshelf); 101 xfree((void**)&iomodel->nodeonwater); 102 xfree((void**)&iomodel->elements); 103 xfree((void**)&iomodel->vertices_type); 90 iomodel->DeleteData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 104 91 105 92 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Prognostic/UpdateElementsPrognostic.cpp
r9362 r9372 22 22 /*Fetch data needed: */ 23 23 iomodel->constants->FindParam(&dim,DimEnum); 24 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum);25 24 iomodel->constants->FindParam(&numberofelements,NumberOfElementsEnum); 26 25 iomodel->constants->FindParam(&prognostic_DG,PrognosticDGEnum); 26 iomodel->FetchData(1,ElementsEnum); 27 27 28 28 /*Update elements: */ … … 61 61 62 62 /*Free data: */ 63 xfree((void**)&iomodel->elements);63 iomodel->DeleteData(1,ElementsEnum); 64 64 } -
issm/trunk/src/c/modules/ModelProcessorx/Qmu/CreateParametersQmu.cpp
r9356 r9372 206 206 } 207 207 xfree((void**)&variabledescriptors); 208 209 xfree((void**)&iomodel->elements);210 xfree((void**)&iomodel->elements2d);211 208 xfree((void**)&part); 212 209 xfree((void**)&dpart); -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateLoadsThermal.cpp
r9362 r9372 36 36 37 37 //create penalties for nodes: no node can have a temperature over the melting point 38 iomodel->FetchData(&iomodel->spctemperature,NULL,NULL,SpctemperatureEnum); 39 iomodel->FetchData(&iomodel->elements,NULL,NULL,ElementsEnum); 38 iomodel->FetchData(2,SpctemperatureEnum,ElementsEnum); 40 39 CreateSingleNodeToElementConnectivity(iomodel); 41 40 … … 44 43 /*keep only this partition's nodes:*/ 45 44 if((iomodel->my_vertices[i]==1)){ 46 47 if (isnan(iomodel->spctemperature[i])){ //No penalty applied on spc nodes! 48 45 if (isnan(iomodel->f(SpctemperatureEnum)[i])){ //No penalty applied on spc nodes! 49 46 loads->AddObject(new Pengrid(iomodel->loadcounter+i+1,i,iomodel,ThermalAnalysisEnum)); 50 51 47 } 52 48 } 53 49 } 54 xfree((void**)&iomodel->spctemperature); 55 xfree((void**)&iomodel->elements); 56 xfree((void**)&iomodel->singlenodetoelementconnectivity); 50 iomodel->DeleteData(2,SpctemperatureEnum,ElementsEnum); 57 51 58 52 /*Assign output pointer: */ -
issm/trunk/src/c/modules/ModelProcessorx/Thermal/CreateNodesThermal.cpp
r9362 r9372 36 36 37 37 /*Create nodes and vertices: */ 38 iomodel->FetchData(&iomodel->nodeonbed,NULL,NULL,NodeOnBedEnum); 39 iomodel->FetchData(&iomodel->nodeonsurface,NULL,NULL,NodeOnSurfaceEnum); 40 iomodel->FetchData(&iomodel->nodeonicesheet,NULL,NULL,NodeOnIceSheetEnum); 41 iomodel->FetchData(&iomodel->nodeoniceshelf,NULL,NULL,NodeOnIceShelfEnum); 42 iomodel->FetchData(&iomodel->vertices_type,NULL,NULL,VerticesTypeEnum); 43 iomodel->FetchData(&iomodel->nodeonwater,NULL,NULL,NodeOnWaterEnum); 38 iomodel->FetchData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 44 39 45 40 for (i=0;i<numberofvertices;i++){ 46 41 47 42 if(iomodel->my_vertices[i]){ 48 49 43 /*Add node to nodes dataset: */ 50 44 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,i+1,i,iomodel,ThermalAnalysisEnum)); … … 54 48 55 49 /*Clean fetched data: */ 56 xfree((void**)&iomodel->nodeonbed); 57 xfree((void**)&iomodel->nodeonsurface); 58 xfree((void**)&iomodel->nodeonicesheet); 59 xfree((void**)&iomodel->nodeonwater); 60 xfree((void**)&iomodel->nodeoniceshelf); 61 xfree((void**)&iomodel->vertices_type); 50 iomodel->DeleteData(6,NodeOnBedEnum,NodeOnSurfaceEnum,NodeOnIceSheetEnum,NodeOnIceShelfEnum,VerticesTypeEnum,NodeOnWaterEnum); 62 51 63 52 /*Assign output pointer: */
Note:
See TracChangeset
for help on using the changeset viewer.