- Timestamp:
- 05/21/10 10:32:40 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/ModelProcessorx/CreateSingleNodeToElementConnectivity.cpp
r3812 r3872 19 19 int i,j; 20 20 int vertexid; 21 int elementswidth; 21 22 22 23 /*output*/ … … 26 27 ISSMASSERT(iomodel->numberofvertices); 27 28 ISSMASSERT(iomodel->numberofelements); 29 ISSMASSERT(iomodel->my_elements); 28 30 ISSMASSERT(iomodel->elements); 29 31 … … 31 33 connectivity=(int*)xcalloc(iomodel->numberofvertices,sizeof(int)); 32 34 35 /*Get element width (3 or 6)*/ 33 36 if (strcmp(iomodel->meshtype,"2d")==0){ 34 for (i=0;i<iomodel->numberofelements;i++){ 35 for (j=0;j<3;j++){ 36 vertexid=(int)iomodel->elements[3*i+j]; 37 ISSMASSERT(vertexid-1<iomodel->numberofvertices); 38 connectivity[vertexid-1]=i; 39 } 40 } 37 elementswidth=3; 41 38 } 42 39 else{ 43 for (i=0;i<iomodel->numberofelements;i++){ 44 for (j=0;j<6;j++){ 45 vertexid=(int)iomodel->elements[6*i+j]; 46 ISSMASSERT(vertexid-1<iomodel->numberofvertices); 47 connectivity[vertexid-1]=i; 40 elementswidth=6; 41 } 42 43 /*Create connectivity table*/ 44 for (i=0;i<iomodel->numberofelements;i++){ 45 /*!! in parallel we do not want the vertex to be connected to an element that is not in its partition!!*/ 46 if(iomodel->my_elements[i]){ 47 for (j=0;j<elementswidth;j++){ 48 vertexid=(int)iomodel->elements[elementswidth*i+j]; 49 ISSMASSERT(vertexid>0 && vertexid-1<iomodel->numberofvertices); 50 connectivity[vertexid-1]=i+1; 48 51 } 49 52 } 50 53 } 51 54 55 /*Assign to iomodel*/ 52 56 iomodel->singlenodetoelementconnectivity=connectivity; 53 57
Note:
See TracChangeset
for help on using the changeset viewer.