Changeset 16024
- Timestamp:
- 08/29/13 20:18:10 (12 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/c/classes/Node.cpp ¶
r15976 r16024 21 21 } 22 22 /*}}}*/ 23 /*FUNCTION Node::Node(int node_id,int node_sid,int io_index, IoModel* iomodel,int analysis_type,int approximation) {{{*/24 Node::Node(int node_id,int node_sid,int io_index, IoModel* iomodel,int analysis_type,int in_approximation){23 /*FUNCTION Node::Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_type,int approximation) {{{*/ 24 Node::Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_type,int in_approximation){ 25 25 26 26 /*Intermediary*/ … … 31 31 this->id = node_id; 32 32 this->sid = node_sid; 33 this->lid = node_lid; 33 34 this->analysis_type = analysis_type; 34 35 -
TabularUnified issm/trunk-jpl/src/c/classes/Node.h ¶
r15976 r16024 30 30 public: 31 31 32 int id; //unique arbitrary id. 33 int sid; //"serial" id (rank of this node if the dataset was serial on 1 cpu) 32 int id; // unique arbitrary id. 33 int sid; // "serial" id (rank of this node if the dataset was serial on 1 cpu) 34 int lid; // "local" id (rank of this node in current partition) 34 35 35 36 bool indexingupdate; … … 40 41 /*Node constructors, destructors*/ 41 42 Node(); 42 Node(int node_id,int node_sid,int io_index, IoModel* iomodel,int analysis_type,int approximation_in);43 Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_type,int approximation_in); 43 44 ~Node(); 44 45 -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp ¶
r15689 r16024 12 12 13 13 /*Intermediaries*/ 14 int i,j,counter ;14 int i,j,counter,lid=0; 15 15 bool *my_edges = NULL; 16 16 bool *my_nodes = NULL; … … 27 27 for(i=0;i<iomodel->numberofvertices;i++){ 28 28 if(iomodel->my_vertices[i]){ 29 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,approximation));29 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 30 30 } 31 31 } … … 37 37 for(j=0;j<3;j++){ 38 38 if(my_nodes[3*i+j]){ 39 nodes->AddObject(new Node(iomodel->nodecounter+3*i+j+1,iomodel->nodecounter+3*i+j, iomodel->elements[+3*i+j]-1,iomodel,analysis,approximation));39 nodes->AddObject(new Node(iomodel->nodecounter+3*i+j+1,iomodel->nodecounter+3*i+j,lid++,iomodel->elements[+3*i+j]-1,iomodel,analysis,approximation)); 40 40 41 41 } … … 47 47 for(i=0;i<iomodel->numberofvertices;i++){ 48 48 if(iomodel->my_vertices[i]){ 49 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,approximation));50 } 51 } 52 for(i=0;i<iomodel->numberofelements;i++){ 53 if(iomodel->my_elements[i]){ 54 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,analysis,approximation));49 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 50 } 51 } 52 for(i=0;i<iomodel->numberofelements;i++){ 53 if(iomodel->my_elements[i]){ 54 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation)); 55 55 } 56 56 } … … 60 60 for(i=0;i<iomodel->numberofvertices;i++){ 61 61 if(iomodel->my_vertices[i]){ 62 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,approximation));63 } 64 } 65 for(i=0;i<iomodel->numberofelements;i++){ 66 if(iomodel->my_elements[i]){ 67 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,analysis,approximation);62 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 63 } 64 } 65 for(i=0;i<iomodel->numberofelements;i++){ 66 if(iomodel->my_elements[i]){ 67 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation); 68 68 node->Deactivate(); 69 69 nodes->AddObject(node); … … 76 76 for(i=0;i<iomodel->numberofvertices;i++){ 77 77 if(iomodel->my_vertices[i]){ 78 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,approximation));78 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 79 79 } 80 80 } … … 84 84 if(iomodel->edges[i*3+2]==2){ 85 85 if(my_edges[i]){ 86 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,counter+1, 0,iomodel,analysis,approximation);86 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,counter+1,lid++,0,iomodel,analysis,approximation); 87 87 nodes->AddObject(node); 88 88 } … … 95 95 for(i=0;i<iomodel->numberofvertices;i++){ 96 96 if(iomodel->my_vertices[i]){ 97 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,approximation));97 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 98 98 } 99 99 } … … 103 103 if(iomodel->edges[i*3+2]!=2){ 104 104 if(my_edges[i]){ 105 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,counter+1, 0,iomodel,analysis,approximation);105 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,counter+1,lid++,0,iomodel,analysis,approximation); 106 106 nodes->AddObject(node); 107 107 } … … 115 115 for(i=0;i<iomodel->numberofvertices;i++){ 116 116 if(iomodel->my_vertices[i]){ 117 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,approximation));117 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,approximation)); 118 118 } 119 119 } 120 120 for(i=0;i<iomodel->numberofedges;i++){ 121 121 if(my_edges[i]){ 122 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,analysis,approximation));122 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation)); 123 123 } 124 124 } … … 131 131 for(i=0;i<iomodel->numberofvertices;i++){ 132 132 if(iomodel->my_vertices[i]){ 133 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,FSvelocityEnum));134 } 135 } 136 /*P1 pressure*/ 137 for(i=0;i<iomodel->numberofvertices;i++){ 138 if(iomodel->my_vertices[i]){ 139 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, i,iomodel,analysis,FSpressureEnum));133 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum)); 134 } 135 } 136 /*P1 pressure*/ 137 for(i=0;i<iomodel->numberofvertices;i++){ 138 if(iomodel->my_vertices[i]){ 139 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,i,iomodel,analysis,FSpressureEnum)); 140 140 } 141 141 } … … 146 146 for(i=0;i<iomodel->numberofvertices;i++){ 147 147 if(iomodel->my_vertices[i]){ 148 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,FSvelocityEnum));149 } 150 } 151 /*P1 pressure*/ 152 for(i=0;i<iomodel->numberofvertices;i++){ 153 if(iomodel->my_vertices[i]){ 154 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, i,iomodel,analysis,FSpressureEnum));148 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum)); 149 } 150 } 151 /*P1 pressure*/ 152 for(i=0;i<iomodel->numberofvertices;i++){ 153 if(iomodel->my_vertices[i]){ 154 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,i,iomodel,analysis,FSpressureEnum)); 155 155 } 156 156 } … … 161 161 for(i=0;i<iomodel->numberofvertices;i++){ 162 162 if(iomodel->my_vertices[i]){ 163 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,FSvelocityEnum));164 } 165 } 166 for(i=0;i<iomodel->numberofelements;i++){ 167 if(iomodel->my_elements[i]){ 168 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,analysis,FSvelocityEnum);163 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum)); 164 } 165 } 166 for(i=0;i<iomodel->numberofelements;i++){ 167 if(iomodel->my_elements[i]){ 168 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum); 169 169 node->Deactivate(); 170 170 nodes->AddObject(node); … … 174 174 for(i=0;i<iomodel->numberofvertices;i++){ 175 175 if(iomodel->my_vertices[i]){ 176 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i, i,iomodel,analysis,FSpressureEnum));176 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,i,iomodel,analysis,FSpressureEnum)); 177 177 } 178 178 } … … 183 183 for(i=0;i<iomodel->numberofvertices;i++){ 184 184 if(iomodel->my_vertices[i]){ 185 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,FSvelocityEnum));186 } 187 } 188 for(i=0;i<iomodel->numberofelements;i++){ 189 if(iomodel->my_elements[i]){ 190 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,analysis,FSvelocityEnum));191 } 192 } 193 /*P1 pressure*/ 194 for(i=0;i<iomodel->numberofvertices;i++){ 195 if(iomodel->my_vertices[i]){ 196 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i, i,iomodel,analysis,FSpressureEnum));185 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum)); 186 } 187 } 188 for(i=0;i<iomodel->numberofelements;i++){ 189 if(iomodel->my_elements[i]){ 190 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum)); 191 } 192 } 193 /*P1 pressure*/ 194 for(i=0;i<iomodel->numberofvertices;i++){ 195 if(iomodel->my_vertices[i]){ 196 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,i,iomodel,analysis,FSpressureEnum)); 197 197 } 198 198 } … … 204 204 for(i=0;i<iomodel->numberofvertices;i++){ 205 205 if(iomodel->my_vertices[i]){ 206 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,analysis,FSvelocityEnum));206 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum)); 207 207 } 208 208 } 209 209 for(i=0;i<iomodel->numberofedges;i++){ 210 210 if(my_edges[i]){ 211 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,analysis,FSvelocityEnum));212 } 213 } 214 215 /*P1 pressure*/ 216 for(i=0;i<iomodel->numberofvertices;i++){ 217 if(iomodel->my_vertices[i]){ 218 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,iomodel->numberofvertices+iomodel->numberofedges+i, i,iomodel,analysis,FSpressureEnum));211 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum)); 212 } 213 } 214 215 /*P1 pressure*/ 216 for(i=0;i<iomodel->numberofvertices;i++){ 217 if(iomodel->my_vertices[i]){ 218 nodes->AddObject(new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofedges+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,i,iomodel,analysis,FSpressureEnum)); 219 219 } 220 220 } -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/Stressbalance/CreateNodesStressbalance.cpp ¶
r15986 r16024 62 62 Nodes* nodes = *pnodes; 63 63 Node* node = NULL; 64 int lid=0; 64 65 if(!nodes) nodes = new Nodes(); 65 66 … … 72 73 approximation=reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[i]); 73 74 if(approximation==FSApproximationEnum) approximation=FSvelocityEnum; 74 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,StressbalanceAnalysisEnum,approximation));75 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,StressbalanceAnalysisEnum,approximation)); 75 76 } 76 77 } 77 78 for(int i=0;i<iomodel->numberofelements;i++){ 78 79 if(iomodel->my_elements[i]){ 79 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i, 0,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);80 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum); 80 81 node->Deactivate(); 81 82 nodes->AddObject(node); … … 86 87 if(iomodel->my_vertices[i]){ 87 88 approximation=reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[i]); 88 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i, i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum);89 node = new Node(iomodel->nodecounter+iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum); 89 90 if(approximation==HOApproximationEnum || approximation==SSAApproximationEnum){ 90 91 node->Deactivate(); … … 97 98 for(int i=0;i<iomodel->numberofvertices;i++){ 98 99 if(iomodel->my_vertices[i]){ 99 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i, i,iomodel,StressbalanceAnalysisEnum,reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[i])));100 nodes->AddObject(new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,StressbalanceAnalysisEnum,reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[i]))); 100 101 } 101 102 } -
TabularUnified issm/trunk-jpl/src/c/modules/ModelProcessorx/StressbalanceSIA/CreateNodesStressbalanceSIA.cpp ¶
r15986 r16024 23 23 /*First create nodes*/ 24 24 Nodes* nodes=*pnodes; 25 int lid=0; 25 26 if(!nodes) nodes = new Nodes(); 26 27 … … 32 33 33 34 /*Create new node if is in this processor's partition*/ 34 node = new Node(iomodel->nodecounter+i+1,i, i,iomodel,StressbalanceSIAAnalysisEnum,reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[i]));35 node = new Node(iomodel->nodecounter+i+1,i,lid++,i,iomodel,StressbalanceSIAAnalysisEnum,reCast<int>(iomodel->Data(FlowequationVertexEquationEnum)[i])); 35 36 36 37 /*Deactivate node if not SIA*/
Note:
See TracChangeset
for help on using the changeset viewer.