[24307] | 1 | Index: ../trunk-jpl/src/c/classes/Node.cpp
|
---|
| 2 | ===================================================================
|
---|
| 3 | --- ../trunk-jpl/src/c/classes/Node.cpp (revision 23558)
|
---|
| 4 | +++ ../trunk-jpl/src/c/classes/Node.cpp (revision 23559)
|
---|
| 5 | @@ -20,7 +20,7 @@
|
---|
| 6 | this->approximation=0;
|
---|
| 7 | }
|
---|
| 8 | /*}}}*/
|
---|
| 9 | -Node::Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/
|
---|
| 10 | +Node::Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/
|
---|
| 11 |
|
---|
| 12 | /*Intermediary*/
|
---|
| 13 | int k,l;
|
---|
| 14 | @@ -30,6 +30,7 @@
|
---|
| 15 | this->id = node_id;
|
---|
| 16 | this->sid = node_sid;
|
---|
| 17 | this->lid = node_lid;
|
---|
| 18 | + this->pid = node_pid;
|
---|
| 19 | this->analysis_enum = analysis_enum;
|
---|
| 20 |
|
---|
| 21 | /*Initialize coord_system: Identity matrix by default*/
|
---|
| 22 | @@ -136,6 +137,7 @@
|
---|
| 23 | output->id = this->id;
|
---|
| 24 | output->sid = this->sid;
|
---|
| 25 | output->lid = this->lid;
|
---|
| 26 | + output->pid = this->pid;
|
---|
| 27 | output->analysis_enum = this->analysis_enum;
|
---|
| 28 | output->approximation = this->approximation;
|
---|
| 29 |
|
---|
| 30 | @@ -155,6 +157,7 @@
|
---|
| 31 | MARSHALLING(id);
|
---|
| 32 | MARSHALLING(sid);
|
---|
| 33 | MARSHALLING(lid);
|
---|
| 34 | + MARSHALLING(pid);
|
---|
| 35 | MARSHALLING(indexingupdate);
|
---|
| 36 | indexing.Marshall(pmarshalled_data,pmarshalled_data_size,marshall_direction);
|
---|
| 37 | MARSHALLING(analysis_enum);
|
---|
| 38 | @@ -181,6 +184,8 @@
|
---|
| 39 | _printf_("Node:\n");
|
---|
| 40 | _printf_(" id : " << id << "\n");
|
---|
| 41 | _printf_(" sid: " << sid << "\n");
|
---|
| 42 | + _printf_(" lid: " << lid << "\n");
|
---|
| 43 | + _printf_(" pid: " << pid << "\n");
|
---|
| 44 | _printf_(" analysis_enum: " << EnumToStringx(analysis_enum) << "\n");
|
---|
| 45 | _printf_(" approximation: " << EnumToStringx(approximation) << "\n");
|
---|
| 46 | _printf_(" indexingupdate: " << indexingupdate << "\n");
|
---|
| 47 | Index: ../trunk-jpl/src/c/classes/Node.h
|
---|
| 48 | ===================================================================
|
---|
| 49 | --- ../trunk-jpl/src/c/classes/Node.h (revision 23558)
|
---|
| 50 | +++ ../trunk-jpl/src/c/classes/Node.h (revision 23559)
|
---|
| 51 | @@ -31,6 +31,7 @@
|
---|
| 52 | int id; // unique arbitrary id.
|
---|
| 53 | int sid; // "serial" id (rank of this node if the dataset was serial on 1 cpu)
|
---|
| 54 | int lid; // "local" id (rank of this node in current partition)
|
---|
| 55 | + int pid; // parallel id (specific to this partition)
|
---|
| 56 |
|
---|
| 57 | int analysis_enum;
|
---|
| 58 | IssmDouble coord_system[3][3];
|
---|
| 59 | @@ -39,7 +40,7 @@
|
---|
| 60 |
|
---|
| 61 | /*Node constructors, destructors*/
|
---|
| 62 | Node();
|
---|
| 63 | - Node(int node_id,int node_sid,int node_lid,int io_index, IoModel* iomodel,int analysis_enum,int approximation_in);
|
---|
| 64 | + Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, IoModel* iomodel,int analysis_enum,int approximation_in);
|
---|
| 65 | ~Node();
|
---|
| 66 |
|
---|
| 67 | /*Object virtual functions definitions:*/
|
---|
| 68 | Index: ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
|
---|
| 69 | ===================================================================
|
---|
| 70 | --- ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 23558)
|
---|
| 71 | +++ ../trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp (revision 23559)
|
---|
| 72 | @@ -98,7 +98,7 @@
|
---|
| 73 | if(iomodel->my_vertices[i]){
|
---|
| 74 |
|
---|
| 75 | /*Create new node if is in this processor's partition*/
|
---|
| 76 | - node = new Node(i+1,i,lid++,i,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])));
|
---|
| 77 | + node = new Node(i+1,i,lid++,0,i,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])));
|
---|
| 78 |
|
---|
| 79 | /*Deactivate node if not SIA*/
|
---|
| 80 | if(IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))!=SIAApproximationEnum){
|
---|
| 81 | Index: ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
|
---|
| 82 | ===================================================================
|
---|
| 83 | --- ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 23558)
|
---|
| 84 | +++ ../trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp (revision 23559)
|
---|
| 85 | @@ -557,12 +557,12 @@
|
---|
| 86 | if(iomodel->my_vertices[i]){
|
---|
| 87 | approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]));
|
---|
| 88 | if(approximation==FSApproximationEnum) approximation=FSvelocityEnum;
|
---|
| 89 | - nodes->AddObject(new Node(i+1,i,lid++,i,iomodel,StressbalanceAnalysisEnum,approximation));
|
---|
| 90 | + nodes->AddObject(new Node(i+1,i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,approximation));
|
---|
| 91 | }
|
---|
| 92 | }
|
---|
| 93 | for(int i=0;i<iomodel->numberofelements;i++){
|
---|
| 94 | if(iomodel->my_elements[i]){
|
---|
| 95 | - node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);
|
---|
| 96 | + node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);
|
---|
| 97 | node->Deactivate();
|
---|
| 98 | nodes->AddObject(node);
|
---|
| 99 | }
|
---|
| 100 | @@ -571,7 +571,7 @@
|
---|
| 101 | for(int i=0;i<iomodel->numberofvertices;i++){
|
---|
| 102 | if(iomodel->my_vertices[i]){
|
---|
| 103 | approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]));
|
---|
| 104 | - node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum);
|
---|
| 105 | + node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,FSpressureEnum);
|
---|
| 106 | if(approximation==HOApproximationEnum || approximation==SSAApproximationEnum){
|
---|
| 107 | node->Deactivate();
|
---|
| 108 | }
|
---|
| 109 | @@ -582,7 +582,7 @@
|
---|
| 110 | else{
|
---|
| 111 | for(int i=0;i<iomodel->numberofvertices;i++){
|
---|
| 112 | if(iomodel->my_vertices[i]){
|
---|
| 113 | - nodes->AddObject(new Node(i+1,i,lid++,i,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))));
|
---|
| 114 | + nodes->AddObject(new Node(i+1,i,lid++,0,i,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))));
|
---|
| 115 | }
|
---|
| 116 | }
|
---|
| 117 | }
|
---|
| 118 | Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp
|
---|
| 119 | ===================================================================
|
---|
| 120 | --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp (revision 23558)
|
---|
| 121 | +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateElementsVerticesAndMaterials.cpp (revision 23559)
|
---|
| 122 | @@ -267,7 +267,7 @@
|
---|
| 123 | int* vertices_ranks = xNew<int>(MAXCONNECTIVITY*iomodel->numberofvertices);
|
---|
| 124 | for(int i=0;i<MAXCONNECTIVITY*iomodel->numberofvertices;i++) vertices_ranks[i] = -1;
|
---|
| 125 |
|
---|
| 126 | - /*For all vertices, cound how many cpus hold vertex i (initialize with 0)*/
|
---|
| 127 | + /*For all vertices, count how many cpus hold vertex i (initialize with 0)*/
|
---|
| 128 | int* vertices_proc_count = xNewZeroInit<int>(iomodel->numberofvertices);
|
---|
| 129 |
|
---|
| 130 | /*Create vector of size total nbv, initialized with -1, that will keep track of local ids*/
|
---|
| 131 | Index: ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
|
---|
| 132 | ===================================================================
|
---|
| 133 | --- ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp (revision 23558)
|
---|
| 134 | +++ ../trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp (revision 23559)
|
---|
| 135 | @@ -21,7 +21,7 @@
|
---|
| 136 | case P1Enum:
|
---|
| 137 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 138 | if(iomodel->my_vertices[i]){
|
---|
| 139 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 140 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 141 | }
|
---|
| 142 | }
|
---|
| 143 | break;
|
---|
| 144 | @@ -31,7 +31,7 @@
|
---|
| 145 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 146 | for(j=0;j<3;j++){
|
---|
| 147 | if(my_nodes[3*i+j]){
|
---|
| 148 | - nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,iomodel->elements[3*i+j]-1,iomodel,analysis,approximation));
|
---|
| 149 | + nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,0,iomodel->elements[3*i+j]-1,iomodel,analysis,approximation));
|
---|
| 150 |
|
---|
| 151 | }
|
---|
| 152 | }
|
---|
| 153 | @@ -41,12 +41,12 @@
|
---|
| 154 | case P1bubbleEnum:
|
---|
| 155 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 156 | if(iomodel->my_vertices[i]){
|
---|
| 157 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 158 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 159 | }
|
---|
| 160 | }
|
---|
| 161 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 162 | if(iomodel->my_elements[i]){
|
---|
| 163 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation));
|
---|
| 164 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation));
|
---|
| 165 | }
|
---|
| 166 | }
|
---|
| 167 | break;
|
---|
| 168 | @@ -54,12 +54,12 @@
|
---|
| 169 | case P1bubblecondensedEnum:
|
---|
| 170 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 171 | if(iomodel->my_vertices[i]){
|
---|
| 172 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 173 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 174 | }
|
---|
| 175 | }
|
---|
| 176 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 177 | if(iomodel->my_elements[i]){
|
---|
| 178 | - node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation);
|
---|
| 179 | + node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 180 | node->HardDeactivate();
|
---|
| 181 | nodes->AddObject(node);
|
---|
| 182 | }
|
---|
| 183 | @@ -70,7 +70,7 @@
|
---|
| 184 | EdgesPartitioning(iomodel);
|
---|
| 185 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 186 | if(iomodel->my_vertices[i]){
|
---|
| 187 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 188 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 189 | }
|
---|
| 190 | }
|
---|
| 191 |
|
---|
| 192 | @@ -78,7 +78,7 @@
|
---|
| 193 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 194 | if(iomodel->edges[i*3+2]==2){
|
---|
| 195 | if(iomodel->my_edges[i]){
|
---|
| 196 | - node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 197 | + node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 198 | nodes->AddObject(node);
|
---|
| 199 | }
|
---|
| 200 | counter++;
|
---|
| 201 | @@ -90,7 +90,7 @@
|
---|
| 202 | EdgesPartitioning(iomodel);
|
---|
| 203 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 204 | if(iomodel->my_vertices[i]){
|
---|
| 205 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 206 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 207 | }
|
---|
| 208 | }
|
---|
| 209 |
|
---|
| 210 | @@ -98,9 +98,9 @@
|
---|
| 211 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 212 | if(iomodel->edges[i*3+2]==2){
|
---|
| 213 | if(iomodel->my_edges[i]){
|
---|
| 214 | - node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 215 | + node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 216 | nodes->AddObject(node);
|
---|
| 217 | - node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 218 | + node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 219 | nodes->AddObject(node);
|
---|
| 220 | }
|
---|
| 221 | counter=counter+2;
|
---|
| 222 | @@ -111,7 +111,7 @@
|
---|
| 223 | EdgesPartitioning(iomodel);
|
---|
| 224 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 225 | if(iomodel->my_vertices[i]){
|
---|
| 226 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 227 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 228 | }
|
---|
| 229 | }
|
---|
| 230 | counter = iomodel->numberofvertices;
|
---|
| 231 | @@ -118,11 +118,11 @@
|
---|
| 232 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 233 | if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
|
---|
| 234 | if(iomodel->my_edges[i]){
|
---|
| 235 | - node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 236 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 237 | nodes->AddObject(node);
|
---|
| 238 | - node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 239 | + node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 240 | nodes->AddObject(node);
|
---|
| 241 | - node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 242 | + node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 243 | nodes->AddObject(node);
|
---|
| 244 | }
|
---|
| 245 | counter=counter+3;
|
---|
| 246 | @@ -134,7 +134,7 @@
|
---|
| 247 | EdgesPartitioning(iomodel);
|
---|
| 248 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 249 | if(iomodel->my_vertices[i]){
|
---|
| 250 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 251 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 252 | }
|
---|
| 253 | }
|
---|
| 254 |
|
---|
| 255 | @@ -142,7 +142,7 @@
|
---|
| 256 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 257 | if(iomodel->edges[i*3+2]!=2){
|
---|
| 258 | if(iomodel->my_edges[i]){
|
---|
| 259 | - node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 260 | + node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 261 | nodes->AddObject(node);
|
---|
| 262 | }
|
---|
| 263 | counter++;
|
---|
| 264 | @@ -154,12 +154,12 @@
|
---|
| 265 | EdgesPartitioning(iomodel);
|
---|
| 266 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 267 | if(iomodel->my_vertices[i]){
|
---|
| 268 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 269 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 270 | }
|
---|
| 271 | }
|
---|
| 272 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 273 | if(iomodel->my_edges[i]){
|
---|
| 274 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation));
|
---|
| 275 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation));
|
---|
| 276 | }
|
---|
| 277 | }
|
---|
| 278 | id0 = id0+iomodel->numberofvertices+iomodel->numberofedges;
|
---|
| 279 | @@ -168,7 +168,7 @@
|
---|
| 280 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 281 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 282 | if(iomodel->my_faces[i]){
|
---|
| 283 | - node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,iomodel,analysis,approximation);
|
---|
| 284 | + node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 285 | nodes->AddObject(node);
|
---|
| 286 | }
|
---|
| 287 | }
|
---|
| 288 | @@ -185,12 +185,12 @@
|
---|
| 289 | EdgesPartitioning(iomodel);
|
---|
| 290 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 291 | if(iomodel->my_vertices[i]){
|
---|
| 292 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 293 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 294 | }
|
---|
| 295 | }
|
---|
| 296 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 297 | if(iomodel->my_edges[i]){
|
---|
| 298 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,approximation));
|
---|
| 299 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,approximation));
|
---|
| 300 | }
|
---|
| 301 | }
|
---|
| 302 | id0 = id0+iomodel->numberofvertices+iomodel->numberofedges;
|
---|
| 303 | @@ -199,7 +199,7 @@
|
---|
| 304 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 305 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 306 | if(iomodel->my_faces[i]){
|
---|
| 307 | - node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,iomodel,analysis,approximation);
|
---|
| 308 | + node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 309 | nodes->AddObject(node);
|
---|
| 310 | }
|
---|
| 311 | }
|
---|
| 312 | @@ -214,7 +214,7 @@
|
---|
| 313 | }
|
---|
| 314 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 315 | if(iomodel->my_elements[i]){
|
---|
| 316 | - nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,iomodel,analysis,approximation));
|
---|
| 317 | + nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,approximation));
|
---|
| 318 | }
|
---|
| 319 | }
|
---|
| 320 | break;
|
---|
| 321 | @@ -223,7 +223,7 @@
|
---|
| 322 | FacesPartitioning(iomodel);
|
---|
| 323 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 324 | if(iomodel->my_vertices[i]){
|
---|
| 325 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,approximation));
|
---|
| 326 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,approximation));
|
---|
| 327 | }
|
---|
| 328 | }
|
---|
| 329 | counter = iomodel->numberofvertices;
|
---|
| 330 | @@ -230,11 +230,11 @@
|
---|
| 331 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 332 | if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
|
---|
| 333 | if(iomodel->my_edges[i]){
|
---|
| 334 | - node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 335 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 336 | nodes->AddObject(node);
|
---|
| 337 | - node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 338 | + node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 339 | nodes->AddObject(node);
|
---|
| 340 | - node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 341 | + node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 342 | nodes->AddObject(node);
|
---|
| 343 | }
|
---|
| 344 | counter=counter+3;
|
---|
| 345 | @@ -241,7 +241,7 @@
|
---|
| 346 | }
|
---|
| 347 | else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/
|
---|
| 348 | if(iomodel->my_edges[i]){
|
---|
| 349 | - node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 350 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 351 | nodes->AddObject(node);
|
---|
| 352 | }
|
---|
| 353 | counter=counter+1;
|
---|
| 354 | @@ -254,11 +254,11 @@
|
---|
| 355 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 356 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 357 | if(iomodel->my_faces[i]){
|
---|
| 358 | - node = new Node(id0+3*i+1,counter+1,lid++,0,iomodel,analysis,approximation);
|
---|
| 359 | + node = new Node(id0+3*i+1,counter+1,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 360 | nodes->AddObject(node);
|
---|
| 361 | - node = new Node(id0+3*i+2,counter+2,lid++,0,iomodel,analysis,approximation);
|
---|
| 362 | + node = new Node(id0+3*i+2,counter+2,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 363 | nodes->AddObject(node);
|
---|
| 364 | - node = new Node(id0+3*i+3,counter+3,lid++,0,iomodel,analysis,approximation);
|
---|
| 365 | + node = new Node(id0+3*i+3,counter+3,lid++,0,0,iomodel,analysis,approximation);
|
---|
| 366 | nodes->AddObject(node);
|
---|
| 367 | }
|
---|
| 368 | counter=counter+3;
|
---|
| 369 | @@ -278,7 +278,7 @@
|
---|
| 370 | /*P1 velocity*/
|
---|
| 371 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 372 | if(iomodel->my_vertices[i]){
|
---|
| 373 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 374 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 375 | }
|
---|
| 376 | }
|
---|
| 377 | /*P1 pressure*/
|
---|
| 378 | @@ -285,7 +285,7 @@
|
---|
| 379 | vnodes = id0+iomodel->numberofvertices;
|
---|
| 380 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 381 | if(iomodel->my_vertices[i]){
|
---|
| 382 | - nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,i,iomodel,analysis,FSpressureEnum));
|
---|
| 383 | + nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
|
---|
| 384 | }
|
---|
| 385 | }
|
---|
| 386 | break;
|
---|
| 387 | @@ -294,7 +294,7 @@
|
---|
| 388 | /*P1 velocity*/
|
---|
| 389 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 390 | if(iomodel->my_vertices[i]){
|
---|
| 391 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 392 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 393 | }
|
---|
| 394 | }
|
---|
| 395 | /*P1 pressure*/
|
---|
| 396 | @@ -301,7 +301,7 @@
|
---|
| 397 | vnodes = id0+iomodel->numberofvertices;
|
---|
| 398 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 399 | if(iomodel->my_vertices[i]){
|
---|
| 400 | - nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,i,iomodel,analysis,FSpressureEnum));
|
---|
| 401 | + nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
|
---|
| 402 | }
|
---|
| 403 | }
|
---|
| 404 | break;
|
---|
| 405 | @@ -310,12 +310,12 @@
|
---|
| 406 | /*P1+ velocity (bubble statically condensed)*/
|
---|
| 407 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 408 | if(iomodel->my_vertices[i]){
|
---|
| 409 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 410 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 411 | }
|
---|
| 412 | }
|
---|
| 413 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 414 | if(iomodel->my_elements[i]){
|
---|
| 415 | - node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 416 | + node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 417 | node->HardDeactivate();
|
---|
| 418 | nodes->AddObject(node);
|
---|
| 419 | }
|
---|
| 420 | @@ -324,7 +324,7 @@
|
---|
| 421 | vnodes = id0+iomodel->numberofvertices+iomodel->numberofelements;
|
---|
| 422 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 423 | if(iomodel->my_vertices[i]){
|
---|
| 424 | - nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,i,iomodel,analysis,FSpressureEnum));
|
---|
| 425 | + nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
|
---|
| 426 | }
|
---|
| 427 | }
|
---|
| 428 | break;
|
---|
| 429 | @@ -333,12 +333,12 @@
|
---|
| 430 | /*P1+ velocity*/
|
---|
| 431 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 432 | if(iomodel->my_vertices[i]){
|
---|
| 433 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 434 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 435 | }
|
---|
| 436 | }
|
---|
| 437 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 438 | if(iomodel->my_elements[i]){
|
---|
| 439 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 440 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 441 | }
|
---|
| 442 | }
|
---|
| 443 | /*P1 pressure*/
|
---|
| 444 | @@ -345,7 +345,7 @@
|
---|
| 445 | vnodes = id0+iomodel->numberofvertices+iomodel->numberofelements;
|
---|
| 446 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 447 | if(iomodel->my_vertices[i]){
|
---|
| 448 | - nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,i,iomodel,analysis,FSpressureEnum));
|
---|
| 449 | + nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
|
---|
| 450 | }
|
---|
| 451 | }
|
---|
| 452 | break;
|
---|
| 453 | @@ -356,12 +356,12 @@
|
---|
| 454 | EdgesPartitioning(iomodel);
|
---|
| 455 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 456 | if(iomodel->my_vertices[i]){
|
---|
| 457 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 458 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 459 | }
|
---|
| 460 | }
|
---|
| 461 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 462 | if(iomodel->my_edges[i]){
|
---|
| 463 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 464 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 465 | }
|
---|
| 466 | }
|
---|
| 467 | id0 = id0+iomodel->numberofvertices+iomodel->numberofedges;
|
---|
| 468 | @@ -370,7 +370,7 @@
|
---|
| 469 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 470 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 471 | if(iomodel->my_faces[i]){
|
---|
| 472 | - node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 473 | + node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 474 | nodes->AddObject(node);
|
---|
| 475 | }
|
---|
| 476 | }
|
---|
| 477 | @@ -393,7 +393,7 @@
|
---|
| 478 | vnodes = id0+numberoffaces;
|
---|
| 479 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 480 | if(iomodel->my_vertices[i]){
|
---|
| 481 | - nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,i,iomodel,analysis,FSpressureEnum));
|
---|
| 482 | + nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,0,i,iomodel,analysis,FSpressureEnum));
|
---|
| 483 | }
|
---|
| 484 | }
|
---|
| 485 | break;
|
---|
| 486 | @@ -403,12 +403,12 @@
|
---|
| 487 | EdgesPartitioning(iomodel);
|
---|
| 488 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 489 | if(iomodel->my_vertices[i]){
|
---|
| 490 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 491 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 492 | }
|
---|
| 493 | }
|
---|
| 494 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 495 | if(iomodel->my_edges[i]){
|
---|
| 496 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 497 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 498 | }
|
---|
| 499 | }
|
---|
| 500 | id0 = id0+iomodel->numberofvertices+iomodel->numberofedges;
|
---|
| 501 | @@ -417,7 +417,7 @@
|
---|
| 502 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 503 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 504 | if(iomodel->my_faces[i]){
|
---|
| 505 | - node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 506 | + node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 507 | nodes->AddObject(node);
|
---|
| 508 | }
|
---|
| 509 | }
|
---|
| 510 | @@ -439,7 +439,7 @@
|
---|
| 511 | /*P2xP4 velocity*/
|
---|
| 512 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 513 | if(iomodel->my_vertices[i]){
|
---|
| 514 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 515 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 516 | }
|
---|
| 517 | }
|
---|
| 518 | counter = iomodel->numberofvertices;
|
---|
| 519 | @@ -446,11 +446,11 @@
|
---|
| 520 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 521 | if(iomodel->edges[i*3+2]==2){/*Vertical edges*/
|
---|
| 522 | if(iomodel->my_edges[i]){
|
---|
| 523 | - node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 524 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 525 | nodes->AddObject(node);
|
---|
| 526 | - node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 527 | + node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 528 | nodes->AddObject(node);
|
---|
| 529 | - node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 530 | + node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 531 | nodes->AddObject(node);
|
---|
| 532 | }
|
---|
| 533 | counter=counter+3;
|
---|
| 534 | @@ -457,7 +457,7 @@
|
---|
| 535 | }
|
---|
| 536 | else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/
|
---|
| 537 | if(iomodel->my_edges[i]){
|
---|
| 538 | - node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 539 | + node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 540 | nodes->AddObject(node);
|
---|
| 541 | }
|
---|
| 542 | counter=counter+1;
|
---|
| 543 | @@ -470,11 +470,11 @@
|
---|
| 544 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 545 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 546 | if(iomodel->my_faces[i]){
|
---|
| 547 | - node = new Node(id0+3*i+1,counter+1,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 548 | + node = new Node(id0+3*i+1,counter+1,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 549 | nodes->AddObject(node);
|
---|
| 550 | - node = new Node(id0+3*i+2,counter+2,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 551 | + node = new Node(id0+3*i+2,counter+2,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 552 | nodes->AddObject(node);
|
---|
| 553 | - node = new Node(id0+3*i+3,counter+3,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 554 | + node = new Node(id0+3*i+3,counter+3,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 555 | nodes->AddObject(node);
|
---|
| 556 | }
|
---|
| 557 | counter=counter+3;
|
---|
| 558 | @@ -491,7 +491,7 @@
|
---|
| 559 | vnodes = id0+3*iomodel->numberoffaces;
|
---|
| 560 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 561 | if(iomodel->my_vertices[i]){
|
---|
| 562 | - nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,i,iomodel,analysis,FSpressureEnum));
|
---|
| 563 | + nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,0,i,iomodel,analysis,FSpressureEnum));
|
---|
| 564 | }
|
---|
| 565 | counter++;
|
---|
| 566 | }
|
---|
| 567 | @@ -502,12 +502,12 @@
|
---|
| 568 | EdgesPartitioning(iomodel);
|
---|
| 569 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 570 | if(iomodel->my_vertices[i]){
|
---|
| 571 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 572 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 573 | }
|
---|
| 574 | }
|
---|
| 575 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 576 | if(iomodel->my_edges[i]){
|
---|
| 577 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 578 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 579 | }
|
---|
| 580 | }
|
---|
| 581 | id0 = id0+iomodel->numberofvertices+iomodel->numberofedges;
|
---|
| 582 | @@ -516,7 +516,7 @@
|
---|
| 583 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 584 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 585 | if(iomodel->my_faces[i]){
|
---|
| 586 | - node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 587 | + node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 588 | nodes->AddObject(node);
|
---|
| 589 | }
|
---|
| 590 | }
|
---|
| 591 | @@ -531,7 +531,7 @@
|
---|
| 592 | }
|
---|
| 593 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 594 | if(iomodel->my_elements[i]){
|
---|
| 595 | - nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 596 | + nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 597 | }
|
---|
| 598 | }
|
---|
| 599 |
|
---|
| 600 | @@ -546,7 +546,7 @@
|
---|
| 601 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 602 | if(iomodel->my_elements[i]){
|
---|
| 603 | for(j=0;j<elementnbv;j++){
|
---|
| 604 | - nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,iomodel->elements[+elementnbv*i+j]-1,iomodel,analysis,FSpressureEnum));
|
---|
| 605 | + nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,0,iomodel->elements[+elementnbv*i+j]-1,iomodel,analysis,FSpressureEnum));
|
---|
| 606 |
|
---|
| 607 | }
|
---|
| 608 | }
|
---|
| 609 | @@ -558,12 +558,12 @@
|
---|
| 610 | EdgesPartitioning(iomodel);
|
---|
| 611 | for(i=0;i<iomodel->numberofvertices;i++){
|
---|
| 612 | if(iomodel->my_vertices[i]){
|
---|
| 613 | - nodes->AddObject(new Node(id0+i+1,i,lid++,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 614 | + nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,iomodel,analysis,FSvelocityEnum));
|
---|
| 615 | }
|
---|
| 616 | }
|
---|
| 617 | for(i=0;i<iomodel->numberofedges;i++){
|
---|
| 618 | if(iomodel->my_edges[i]){
|
---|
| 619 | - nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 620 | + nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 621 | }
|
---|
| 622 | }
|
---|
| 623 | id0 = id0+iomodel->numberofvertices+iomodel->numberofedges;
|
---|
| 624 | @@ -572,7 +572,7 @@
|
---|
| 625 | for(i=0;i<iomodel->numberoffaces;i++){
|
---|
| 626 | if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/
|
---|
| 627 | if(iomodel->my_faces[i]){
|
---|
| 628 | - node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 629 | + node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,iomodel,analysis,FSvelocityEnum);
|
---|
| 630 | nodes->AddObject(node);
|
---|
| 631 | }
|
---|
| 632 | }
|
---|
| 633 | @@ -587,7 +587,7 @@
|
---|
| 634 | }
|
---|
| 635 | for(i=0;i<iomodel->numberofelements;i++){
|
---|
| 636 | if(iomodel->my_elements[i]){
|
---|
| 637 | - nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 638 | + nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,iomodel,analysis,FSvelocityEnum));
|
---|
| 639 | }
|
---|
| 640 | }
|
---|
| 641 |
|
---|