Changeset 23561
- Timestamp:
- 12/18/18 20:46:03 (6 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/analyses/StressbalanceAnalysis.cpp
r23559 r23561 558 558 approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])); 559 559 if(approximation==FSApproximationEnum) approximation=FSvelocityEnum; 560 nodes->AddObject(new Node(i+1,i,lid++,0,i, iomodel,StressbalanceAnalysisEnum,approximation));560 nodes->AddObject(new Node(i+1,i,lid++,0,i,false,iomodel,StressbalanceAnalysisEnum,approximation)); 561 561 } 562 562 } 563 563 for(int i=0;i<iomodel->numberofelements;i++){ 564 564 if(iomodel->my_elements[i]){ 565 node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,StressbalanceAnalysisEnum,FSvelocityEnum);565 node = new Node(iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,StressbalanceAnalysisEnum,FSvelocityEnum); 566 566 node->Deactivate(); 567 567 nodes->AddObject(node); … … 572 572 if(iomodel->my_vertices[i]){ 573 573 approximation=IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])); 574 node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i, iomodel,StressbalanceAnalysisEnum,FSpressureEnum);574 node = new Node(iomodel->numberofvertices+iomodel->numberofelements+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,false,iomodel,StressbalanceAnalysisEnum,FSpressureEnum); 575 575 if(approximation==HOApproximationEnum || approximation==SSAApproximationEnum){ 576 576 node->Deactivate(); … … 583 583 for(int i=0;i<iomodel->numberofvertices;i++){ 584 584 if(iomodel->my_vertices[i]){ 585 nodes->AddObject(new Node(i+1,i,lid++,0,i, iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))));585 nodes->AddObject(new Node(i+1,i,lid++,0,i,false,iomodel,StressbalanceAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])))); 586 586 } 587 587 } -
issm/trunk-jpl/src/c/analyses/StressbalanceSIAAnalysis.cpp
r23559 r23561 99 99 100 100 /*Create new node if is in this processor's partition*/ 101 node = new Node(i+1,i,lid++,0,i, iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i])));101 node = new Node(i+1,i,lid++,0,i,false,iomodel,StressbalanceSIAAnalysisEnum,IoCodeToEnumVertexEquation(reCast<int>(iomodel->Data("md.flowequation.vertex_equation")[i]))); 102 102 103 103 /*Deactivate node if not SIA*/ -
issm/trunk-jpl/src/c/classes/DofIndexing.cpp
r21471 r23561 39 39 } 40 40 /*}}}*/ 41 DofIndexing::DofIndexing(int in_gsize){/*{{{*/42 43 this->Init(in_gsize,NULL);44 45 }46 /*}}}*/47 41 DofIndexing::DofIndexing(DofIndexing* in){ //copy constructor/*{{{*/ 48 42 … … 100 94 } 101 95 /*}}}*/ 102 DofIndexing DofIndexing::operator=( const DofIndexing& in ){/*{{{*/103 104 this->copy(in);105 106 return this;107 }108 /*}}}*/109 96 void DofIndexing::copy(const DofIndexing& in ){/*{{{*/ 110 97 … … 151 138 } 152 139 /*}}}*/ 153 void DofIndexing::Init(int in_gsize, int* in_doftype){/*{{{*/140 void DofIndexing::Init(int in_gsize,bool isclone,int* in_doftype){/*{{{*/ 154 141 155 142 this->gsize = in_gsize; 156 143 157 144 /*At this point, assume this is not a clone (will be dealt with later)*/ 158 this->clone = false;145 this->clone = isclone; 159 146 160 147 /*memory allocation */ -
issm/trunk-jpl/src/c/classes/DofIndexing.h
r20810 r23561 35 35 int *sdoflist; //dof list in s_set 36 36 37 /*DofIndexing constructors, destructors {{{*/37 /*DofIndexing constructors, destructors*/ 38 38 DofIndexing(); 39 DofIndexing(int g_size); 40 void Init(int g_size,int* doftype); 39 void Init(int g_size,bool isclone,int* doftype); 41 40 void InitSet(int setenum); 42 41 DofIndexing(DofIndexing* properties); 43 42 ~DofIndexing(); 44 DofIndexing operator=(const DofIndexing& in); 45 /*}}}*/ 46 /*Object like functionality: {{{*/ 43 /*Object like functionality:*/ 47 44 void copy(const DofIndexing& in); 48 45 void DeepEcho(void); 49 46 void Echo(void); 50 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 51 /*}}}*/ 52 /*DofIndexing management: {{{*/ 47 void Marshall(char** pmarshalled_data,int* pmarshalled_data_size, int marshall_direction); 48 /*DofIndexing management:*/ 53 49 void Activate(void); 54 50 void Deactivate(void); 55 51 DofIndexing* Spawn(int* indices, int numindices); 56 /*}}}*/57 52 58 53 }; -
issm/trunk-jpl/src/c/classes/FemModel.cpp
r23557 r23561 3284 3284 int *doftypes=NULL; 3285 3285 int numdofs=analysis->DofsPerNode(&doftypes,Domain2DhorizontalEnum,SSAApproximationEnum); 3286 newnode->indexing.Init(numdofs, doftypes);3286 newnode->indexing.Init(numdofs,false,doftypes); 3287 3287 xDelete<int>(doftypes); 3288 3288 delete analysis; -
issm/trunk-jpl/src/c/classes/Node.cpp
r23559 r23561 21 21 } 22 22 /*}}}*/ 23 Node::Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, 23 Node::Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index,bool isclone,IoModel* iomodel,int analysis_enum,int in_approximation){/*{{{*/ 24 24 25 25 /*Intermediary*/ … … 43 43 Analysis* analysis = EnumToAnalysis(analysis_enum); 44 44 int numdofs = analysis->DofsPerNode(&doftypes,iomodel->domaintype,in_approximation); 45 indexing.Init(numdofs, doftypes);45 indexing.Init(numdofs,isclone,doftypes); 46 46 xDelete<int>(doftypes); 47 47 delete analysis; -
issm/trunk-jpl/src/c/classes/Node.h
r23559 r23561 41 41 /*Node constructors, destructors*/ 42 42 Node(); 43 Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index, 43 Node(int node_id,int node_sid,int node_lid,int node_pid,int io_index,bool isclone,IoModel* iomodel,int analysis_enum,int approximation_in); 44 44 ~Node(); 45 45 -
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateNodes.cpp
r23559 r23561 22 22 for(i=0;i<iomodel->numberofvertices;i++){ 23 23 if(iomodel->my_vertices[i]){ 24 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));24 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 25 25 } 26 26 } … … 32 32 for(j=0;j<3;j++){ 33 33 if(my_nodes[3*i+j]){ 34 nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,0,iomodel->elements[3*i+j]-1, iomodel,analysis,approximation));34 nodes->AddObject(new Node(id0+3*i+j+1,id0+3*i+j,lid++,0,iomodel->elements[3*i+j]-1,false,iomodel,analysis,approximation)); 35 35 36 36 } … … 42 42 for(i=0;i<iomodel->numberofvertices;i++){ 43 43 if(iomodel->my_vertices[i]){ 44 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));45 } 46 } 47 for(i=0;i<iomodel->numberofelements;i++){ 48 if(iomodel->my_elements[i]){ 49 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,approximation));44 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 45 } 46 } 47 for(i=0;i<iomodel->numberofelements;i++){ 48 if(iomodel->my_elements[i]){ 49 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation)); 50 50 } 51 51 } … … 55 55 for(i=0;i<iomodel->numberofvertices;i++){ 56 56 if(iomodel->my_vertices[i]){ 57 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));58 } 59 } 60 for(i=0;i<iomodel->numberofelements;i++){ 61 if(iomodel->my_elements[i]){ 62 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,approximation);57 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 58 } 59 } 60 for(i=0;i<iomodel->numberofelements;i++){ 61 if(iomodel->my_elements[i]){ 62 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation); 63 63 node->HardDeactivate(); 64 64 nodes->AddObject(node); … … 71 71 for(i=0;i<iomodel->numberofvertices;i++){ 72 72 if(iomodel->my_vertices[i]){ 73 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));73 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 74 74 } 75 75 } … … 79 79 if(iomodel->edges[i*3+2]==2){ 80 80 if(iomodel->my_edges[i]){ 81 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);81 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 82 82 nodes->AddObject(node); 83 83 } … … 91 91 for(i=0;i<iomodel->numberofvertices;i++){ 92 92 if(iomodel->my_vertices[i]){ 93 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));93 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 94 94 } 95 95 } … … 99 99 if(iomodel->edges[i*3+2]==2){ 100 100 if(iomodel->my_edges[i]){ 101 node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);102 nodes->AddObject(node); 103 node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,0, iomodel,analysis,approximation);101 node = new Node(id0+iomodel->numberofvertices+2*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 102 nodes->AddObject(node); 103 node = new Node(id0+iomodel->numberofvertices+2*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation); 104 104 nodes->AddObject(node); 105 105 } … … 112 112 for(i=0;i<iomodel->numberofvertices;i++){ 113 113 if(iomodel->my_vertices[i]){ 114 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));114 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 115 115 } 116 116 } … … 119 119 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 120 120 if(iomodel->my_edges[i]){ 121 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);122 nodes->AddObject(node); 123 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0, iomodel,analysis,approximation);124 nodes->AddObject(node); 125 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0, iomodel,analysis,approximation);121 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 122 nodes->AddObject(node); 123 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation); 124 nodes->AddObject(node); 125 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,approximation); 126 126 nodes->AddObject(node); 127 127 } … … 135 135 for(i=0;i<iomodel->numberofvertices;i++){ 136 136 if(iomodel->my_vertices[i]){ 137 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));137 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 138 138 } 139 139 } … … 143 143 if(iomodel->edges[i*3+2]!=2){ 144 144 if(iomodel->my_edges[i]){ 145 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);145 node = new Node(id0+iomodel->numberofvertices+i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 146 146 nodes->AddObject(node); 147 147 } … … 155 155 for(i=0;i<iomodel->numberofvertices;i++){ 156 156 if(iomodel->my_vertices[i]){ 157 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));157 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 158 158 } 159 159 } 160 160 for(i=0;i<iomodel->numberofedges;i++){ 161 161 if(iomodel->my_edges[i]){ 162 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,approximation));162 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation)); 163 163 } 164 164 } … … 169 169 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 170 170 if(iomodel->my_faces[i]){ 171 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0, iomodel,analysis,approximation);171 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,approximation); 172 172 nodes->AddObject(node); 173 173 } … … 186 186 for(i=0;i<iomodel->numberofvertices;i++){ 187 187 if(iomodel->my_vertices[i]){ 188 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));188 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 189 189 } 190 190 } 191 191 for(i=0;i<iomodel->numberofedges;i++){ 192 192 if(iomodel->my_edges[i]){ 193 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,approximation));193 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,approximation)); 194 194 } 195 195 } … … 200 200 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 201 201 if(iomodel->my_faces[i]){ 202 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0, iomodel,analysis,approximation);202 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,approximation); 203 203 nodes->AddObject(node); 204 204 } … … 215 215 for(i=0;i<iomodel->numberofelements;i++){ 216 216 if(iomodel->my_elements[i]){ 217 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0, iomodel,analysis,approximation));217 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,false,iomodel,analysis,approximation)); 218 218 } 219 219 } … … 224 224 for(i=0;i<iomodel->numberofvertices;i++){ 225 225 if(iomodel->my_vertices[i]){ 226 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,approximation));226 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,approximation)); 227 227 } 228 228 } … … 231 231 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 232 232 if(iomodel->my_edges[i]){ 233 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);234 nodes->AddObject(node); 235 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0, iomodel,analysis,approximation);236 nodes->AddObject(node); 237 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0, iomodel,analysis,approximation);233 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 234 nodes->AddObject(node); 235 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation); 236 nodes->AddObject(node); 237 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,approximation); 238 238 nodes->AddObject(node); 239 239 } … … 242 242 else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/ 243 243 if(iomodel->my_edges[i]){ 244 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);244 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 245 245 nodes->AddObject(node); 246 246 } … … 255 255 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 256 256 if(iomodel->my_faces[i]){ 257 node = new Node(id0+3*i+1,counter+1,lid++,0,0, iomodel,analysis,approximation);258 nodes->AddObject(node); 259 node = new Node(id0+3*i+2,counter+2,lid++,0,0, iomodel,analysis,approximation);260 nodes->AddObject(node); 261 node = new Node(id0+3*i+3,counter+3,lid++,0,0, iomodel,analysis,approximation);257 node = new Node(id0+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,approximation); 258 nodes->AddObject(node); 259 node = new Node(id0+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,approximation); 260 nodes->AddObject(node); 261 node = new Node(id0+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,approximation); 262 262 nodes->AddObject(node); 263 263 } … … 279 279 for(i=0;i<iomodel->numberofvertices;i++){ 280 280 if(iomodel->my_vertices[i]){ 281 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));281 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 282 282 } 283 283 } … … 286 286 for(i=0;i<iomodel->numberofvertices;i++){ 287 287 if(iomodel->my_vertices[i]){ 288 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i, iomodel,analysis,FSpressureEnum));288 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum)); 289 289 } 290 290 } … … 295 295 for(i=0;i<iomodel->numberofvertices;i++){ 296 296 if(iomodel->my_vertices[i]){ 297 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));297 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 298 298 } 299 299 } … … 302 302 for(i=0;i<iomodel->numberofvertices;i++){ 303 303 if(iomodel->my_vertices[i]){ 304 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i, iomodel,analysis,FSpressureEnum));304 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum)); 305 305 } 306 306 } … … 311 311 for(i=0;i<iomodel->numberofvertices;i++){ 312 312 if(iomodel->my_vertices[i]){ 313 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));314 } 315 } 316 for(i=0;i<iomodel->numberofelements;i++){ 317 if(iomodel->my_elements[i]){ 318 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,FSvelocityEnum);313 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 314 } 315 } 316 for(i=0;i<iomodel->numberofelements;i++){ 317 if(iomodel->my_elements[i]){ 318 node = new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 319 319 node->HardDeactivate(); 320 320 nodes->AddObject(node); … … 325 325 for(i=0;i<iomodel->numberofvertices;i++){ 326 326 if(iomodel->my_vertices[i]){ 327 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i, iomodel,analysis,FSpressureEnum));327 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum)); 328 328 } 329 329 } … … 334 334 for(i=0;i<iomodel->numberofvertices;i++){ 335 335 if(iomodel->my_vertices[i]){ 336 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));337 } 338 } 339 for(i=0;i<iomodel->numberofelements;i++){ 340 if(iomodel->my_elements[i]){ 341 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));336 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 337 } 338 } 339 for(i=0;i<iomodel->numberofelements;i++){ 340 if(iomodel->my_elements[i]){ 341 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 342 342 } 343 343 } … … 346 346 for(i=0;i<iomodel->numberofvertices;i++){ 347 347 if(iomodel->my_vertices[i]){ 348 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i, iomodel,analysis,FSpressureEnum));348 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofelements+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum)); 349 349 } 350 350 } … … 357 357 for(i=0;i<iomodel->numberofvertices;i++){ 358 358 if(iomodel->my_vertices[i]){ 359 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));359 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 360 360 } 361 361 } 362 362 for(i=0;i<iomodel->numberofedges;i++){ 363 363 if(iomodel->my_edges[i]){ 364 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));364 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 365 365 } 366 366 } … … 371 371 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 372 372 if(iomodel->my_faces[i]){ 373 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0, iomodel,analysis,FSvelocityEnum);373 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 374 374 nodes->AddObject(node); 375 375 } … … 394 394 for(i=0;i<iomodel->numberofvertices;i++){ 395 395 if(iomodel->my_vertices[i]){ 396 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,0,i, iomodel,analysis,FSpressureEnum));396 nodes->AddObject(new Node(vnodes+i+1,iomodel->numberofvertices+iomodel->numberofedges+numberoffaces+i,lid++,0,i,false,iomodel,analysis,FSpressureEnum)); 397 397 } 398 398 } … … 404 404 for(i=0;i<iomodel->numberofvertices;i++){ 405 405 if(iomodel->my_vertices[i]){ 406 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));406 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 407 407 } 408 408 } 409 409 for(i=0;i<iomodel->numberofedges;i++){ 410 410 if(iomodel->my_edges[i]){ 411 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));411 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 412 412 } 413 413 } … … 418 418 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 419 419 if(iomodel->my_faces[i]){ 420 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0, iomodel,analysis,FSvelocityEnum);420 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 421 421 nodes->AddObject(node); 422 422 } … … 440 440 for(i=0;i<iomodel->numberofvertices;i++){ 441 441 if(iomodel->my_vertices[i]){ 442 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));442 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 443 443 } 444 444 } … … 447 447 if(iomodel->edges[i*3+2]==2){/*Vertical edges*/ 448 448 if(iomodel->my_edges[i]){ 449 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0, iomodel,analysis,FSvelocityEnum);450 nodes->AddObject(node); 451 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0, iomodel,analysis,FSvelocityEnum);452 nodes->AddObject(node); 453 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0, iomodel,analysis,FSvelocityEnum);449 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 450 nodes->AddObject(node); 451 node = new Node(id0+iomodel->numberofvertices+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 452 nodes->AddObject(node); 453 node = new Node(id0+iomodel->numberofvertices+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 454 454 nodes->AddObject(node); 455 455 } … … 458 458 else if(iomodel->edges[i*3+2]==1){/*Horizontal edges*/ 459 459 if(iomodel->my_edges[i]){ 460 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0, iomodel,analysis,FSvelocityEnum);460 node = new Node(id0+iomodel->numberofvertices+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 461 461 nodes->AddObject(node); 462 462 } … … 471 471 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 472 472 if(iomodel->my_faces[i]){ 473 node = new Node(id0+3*i+1,counter+1,lid++,0,0, iomodel,analysis,FSvelocityEnum);474 nodes->AddObject(node); 475 node = new Node(id0+3*i+2,counter+2,lid++,0,0, iomodel,analysis,FSvelocityEnum);476 nodes->AddObject(node); 477 node = new Node(id0+3*i+3,counter+3,lid++,0,0, iomodel,analysis,FSvelocityEnum);473 node = new Node(id0+3*i+1,counter+1,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 474 nodes->AddObject(node); 475 node = new Node(id0+3*i+2,counter+2,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 476 nodes->AddObject(node); 477 node = new Node(id0+3*i+3,counter+3,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 478 478 nodes->AddObject(node); 479 479 } … … 492 492 for(i=0;i<iomodel->numberofvertices;i++){ 493 493 if(iomodel->my_vertices[i]){ 494 nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,0,i, iomodel,analysis,FSpressureEnum));494 nodes->AddObject(new Node(vnodes+i+1,counter+1,lid++,0,i,false,iomodel,analysis,FSpressureEnum)); 495 495 } 496 496 counter++; … … 503 503 for(i=0;i<iomodel->numberofvertices;i++){ 504 504 if(iomodel->my_vertices[i]){ 505 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));505 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 506 506 } 507 507 } 508 508 for(i=0;i<iomodel->numberofedges;i++){ 509 509 if(iomodel->my_edges[i]){ 510 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));510 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 511 511 } 512 512 } … … 517 517 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 518 518 if(iomodel->my_faces[i]){ 519 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0, iomodel,analysis,FSvelocityEnum);519 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 520 520 nodes->AddObject(node); 521 521 } … … 532 532 for(i=0;i<iomodel->numberofelements;i++){ 533 533 if(iomodel->my_elements[i]){ 534 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));534 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 535 535 } 536 536 } … … 547 547 if(iomodel->my_elements[i]){ 548 548 for(j=0;j<elementnbv;j++){ 549 nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,0,iomodel->elements[+elementnbv*i+j]-1, iomodel,analysis,FSpressureEnum));549 nodes->AddObject(new Node(vnodes+elementnbv*i+j+1,vnodes+elementnbv*i+j,lid++,0,iomodel->elements[+elementnbv*i+j]-1,false,iomodel,analysis,FSpressureEnum)); 550 550 551 551 } … … 559 559 for(i=0;i<iomodel->numberofvertices;i++){ 560 560 if(iomodel->my_vertices[i]){ 561 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i, iomodel,analysis,FSvelocityEnum));561 nodes->AddObject(new Node(id0+i+1,i,lid++,0,i,false,iomodel,analysis,FSvelocityEnum)); 562 562 } 563 563 } 564 564 for(i=0;i<iomodel->numberofedges;i++){ 565 565 if(iomodel->my_edges[i]){ 566 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));566 nodes->AddObject(new Node(id0+iomodel->numberofvertices+i+1,iomodel->numberofvertices+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 567 567 } 568 568 } … … 573 573 if(iomodel->faces[i*iomodel->facescols+2]==2){/*Vertical quads*/ 574 574 if(iomodel->my_faces[i]){ 575 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0, iomodel,analysis,FSvelocityEnum);575 node = new Node(id0+i+1,iomodel->numberofvertices+iomodel->numberofedges+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum); 576 576 nodes->AddObject(node); 577 577 } … … 588 588 for(i=0;i<iomodel->numberofelements;i++){ 589 589 if(iomodel->my_elements[i]){ 590 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0, iomodel,analysis,FSvelocityEnum));590 nodes->AddObject(new Node(id0+i+1,id0+i,lid++,0,0,false,iomodel,analysis,FSvelocityEnum)); 591 591 } 592 592 }
Note:
See TracChangeset
for help on using the changeset viewer.