- Timestamp:
- 07/25/13 19:36:45 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateEdges.cpp
r15621 r15630 19 19 int i,j,v1,v2,v3; 20 20 int maxnbe,nbe,elementnbe,elementnbv; 21 int *elementedges = NULL; 21 int *elementedges = NULL; 22 int *elementedges_markers = NULL; 22 23 23 24 /*Mesh dependent variables*/ … … 25 26 elementnbv = 3; 26 27 elementnbe = 3; 27 elementedges=xNew<int>(elementnbe*2); 28 elementedges[2*0+0] = 1; elementedges[2*0+1] = 2; 29 elementedges[2*1+0] = 2; elementedges[2*1+1] = 0; 30 elementedges[2*2+0] = 0; elementedges[2*2+1] = 1; 28 elementedges = xNew<int>(elementnbe*2); 29 elementedges_markers = xNew<int>(elementnbe); 30 elementedges[2*0+0] = 1; elementedges[2*0+1] = 2; elementedges_markers[0] = 1; 31 elementedges[2*1+0] = 2; elementedges[2*1+1] = 0; elementedges_markers[1] = 1; 32 elementedges[2*2+0] = 0; elementedges[2*2+1] = 1; elementedges_markers[2] = 1; 31 33 } 32 34 else if(iomodel->dim==3){ 33 35 elementnbv = 6; 34 36 elementnbe = 9; 35 elementedges=xNew<int>(elementnbe*2); 36 elementedges[2*0+0] = 0; elementedges[2*0+1] = 3; 37 elementedges[2*1+0] = 1; elementedges[2*1+1] = 4; 38 elementedges[2*2+0] = 2; elementedges[2*2+1] = 5; 39 elementedges[2*3+0] = 1; elementedges[2*3+1] = 2; 40 elementedges[2*4+0] = 2; elementedges[2*4+1] = 0; 41 elementedges[2*5+0] = 0; elementedges[2*5+1] = 1; 42 elementedges[2*6+0] = 4; elementedges[2*6+1] = 5; 43 elementedges[2*7+0] = 5; elementedges[2*7+1] = 3; 44 elementedges[2*8+0] = 3; elementedges[2*8+1] = 4; 37 elementedges = xNew<int>(elementnbe*2); 38 elementedges_markers = xNew<int>(elementnbe); 39 elementedges[2*0+0] = 0; elementedges[2*0+1] = 3; elementedges_markers[0] = 2; 40 elementedges[2*1+0] = 1; elementedges[2*1+1] = 4; elementedges_markers[1] = 2; 41 elementedges[2*2+0] = 2; elementedges[2*2+1] = 5; elementedges_markers[2] = 2; 42 elementedges[2*3+0] = 1; elementedges[2*3+1] = 2; elementedges_markers[3] = 1; 43 elementedges[2*4+0] = 2; elementedges[2*4+1] = 0; elementedges_markers[4] = 1; 44 elementedges[2*5+0] = 0; elementedges[2*5+1] = 1; elementedges_markers[5] = 1; 45 elementedges[2*6+0] = 4; elementedges[2*6+1] = 5; elementedges_markers[6] = 3; 46 elementedges[2*7+0] = 5; elementedges[2*7+1] = 3; elementedges_markers[7] = 3; 47 elementedges[2*8+0] = 3; elementedges[2*8+1] = 4; elementedges_markers[8] = 3; 45 48 } 46 49 else{ … … 52 55 53 56 /*Initialize intermediaries*/ 54 int *edgestemp = xNew<int>(maxnbe* 2); /*format: [vertex1 vertex2] */57 int *edgestemp = xNew<int>(maxnbe*3); /*format: [vertex1 vertex2 marker] */ 55 58 int *element_edge_connectivity = xNew<int>(iomodel->numberofelements*elementnbe); /*format: [edge1 edge2 ... edgen] */ 56 59 … … 80 83 /*Go through all processed edges connected to v1 and check whether we have seen this edge yet*/ 81 84 for(int e=head_minv[v1]; e!=-1; e=next_edge[e]){ 82 if(edgestemp[e* 2+1]==v2+1){85 if(edgestemp[e*3+1]==v2+1){ 83 86 exist = true; 84 87 element_edge_connectivity[i*elementnbe+j]=e; … … 92 95 93 96 /*Update edges*/ 94 edgestemp[nbe*2+0] = v1+1; 95 edgestemp[nbe*2+1] = v2+1; 97 edgestemp[nbe*3+0] = v1+1; 98 edgestemp[nbe*3+1] = v2+1; 99 edgestemp[nbe*3+2] = elementedges_markers[j]; 96 100 97 101 /*Update Connectivity*/ … … 113 117 114 118 /*Create final edges*/ 115 int* edges = xNew<int>(nbe*2); /* vertex1 vertex2*/116 for(int i=0;i< 2*nbe;i++) edges[i] = edgestemp[i];119 int* edges = xNew<int>(nbe*2); /*format: [vertex1 vertex2 marker]*/ 120 for(int i=0;i<3*nbe;i++) edges[i] = edgestemp[i]; 117 121 118 122 /*Clean up*/
Note:
See TracChangeset
for help on using the changeset viewer.