Changeset 15040
- Timestamp:
- 05/16/13 15:18:24 (12 years ago)
- Location:
- issm/trunk-jpl/src/c/classes
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/Elements/Penta.cpp
r15037 r15040 933 933 void Penta::GetVertexPidList(int* doflist){ 934 934 935 int i; 936 for(i=0;i<6;i++) doflist[i]=nodes[i]->GetVertexPid(); 935 for(int i=0;i<6;i++) doflist[i]=vertices[i]->Pid(); 937 936 938 937 } … … 941 940 void Penta::GetVertexSidList(int* sidlist){ 942 941 943 int i; 944 for(i=0;i<NUMVERTICES;i++) sidlist[i]=nodes[i]->GetVertexSid(); 942 for(int i=0;i<NUMVERTICES;i++) sidlist[i]=vertices[i]->Sid(); 945 943 946 944 } … … 2090 2088 /*Get values on the 6 vertices*/ 2091 2089 for (int i=0;i<6;i++){ 2092 values[i]=vector[this-> nodes[i]->GetVertexPid()];2090 values[i]=vector[this->vertices[i]->Pid()]; 2093 2091 } 2094 2092 … … 2426 2424 found=0; 2427 2425 for(i=0;i<NUMVERTICES;i++){ 2428 if(index== nodes[i]->GetVertexId()){2426 if(index==vertices[i]->Id()){ 2429 2427 /*Do we have natureofdataenum in our inputs? :*/ 2430 2428 if(data){ … … 2453 2451 2454 2452 /*will be needed later: */ 2455 for(i=0;i<6;i++) vertices_ids[i]= nodes[i]->GetVertexId(); //vertices id start at column 3 of the patch.2453 for(i=0;i<6;i++) vertices_ids[i]=vertices[i]->Id(); //vertices id start at column 3 of the patch. 2456 2454 2457 2455 for(i=0;i<this->results->Size();i++){ … … 5001 4999 /*get gradient indices*/ 5002 5000 for(int i=0;i<NUMVERTICES;i++){ 5003 indexing[i]=num_controls*this-> nodes[i]->GetVertexPid() + control_index;5001 indexing[i]=num_controls*this->vertices[i]->Pid() + control_index; 5004 5002 } 5005 5003 … … 5767 5765 /*Get values on the 6 vertices*/ 5768 5766 for (i=0;i<6;i++){ 5769 values[i]=vector[this-> nodes[i]->GetVertexSid()]; //careful, vector of values here is not parallel distributed, but serial distributed (from a serial Dakota core!)5767 values[i]=vector[this->vertices[i]->Sid()]; //careful, vector of values here is not parallel distributed, but serial distributed (from a serial Dakota core!) 5770 5768 } 5771 5769 … … 5887 5885 /*create input values: */ 5888 5886 for(i=0;i<6;i++){ 5889 row=this-> nodes[i]->GetVertexSid();5887 row=this->vertices[i]->Sid(); 5890 5888 values[i]=(IssmDouble)matrix[ncols*row+t]; 5891 5889 } -
issm/trunk-jpl/src/c/classes/Elements/Tria.cpp
r15037 r15040 1360 1360 void Tria::GetVertexPidList(int* doflist){ 1361 1361 1362 int i; 1363 for(i=0;i<3;i++) doflist[i]=nodes[i]->GetVertexPid(); 1362 for(int i=0;i<3;i++) doflist[i]=vertices[i]->Pid(); 1364 1363 1365 1364 } … … 1367 1366 /*FUNCTION Tria::GetVertexSidList {{{*/ 1368 1367 void Tria::GetVertexSidList(int* sidlist){ 1369 for(int i=0;i<NUMVERTICES;i++) sidlist[i]= nodes[i]->GetVertexSid();1368 for(int i=0;i<NUMVERTICES;i++) sidlist[i]=vertices[i]->Sid(); 1370 1369 } 1371 1370 /*}}}*/ … … 1886 1885 /*Get values on the 3 vertices*/ 1887 1886 for (int i=0;i<3;i++){ 1888 values[i]=vector[this-> nodes[i]->GetVertexPid()];1887 values[i]=vector[this->vertices[i]->Pid()]; 1889 1888 } 1890 1889 /*update input*/ … … 1900 1899 /*Get values on the 3 vertices*/ 1901 1900 for (int i=0;i<3;i++){ 1902 values[i]=vector[this-> nodes[i]->GetVertexSid()];1901 values[i]=vector[this->vertices[i]->Sid()]; 1903 1902 } 1904 1903 /*update input*/ … … 2313 2312 found=0; 2314 2313 for(int i=0;i<NUMVERTICES;i++){ 2315 if(index== nodes[i]->GetVertexId()){2314 if(index==vertices[i]->Id()){ 2316 2315 /*Do we have natureofdataenum in our inputs? :*/ 2317 2316 if(data){ … … 2341 2340 row=*prow; 2342 2341 2343 for(i=0;i<3;i++) vertices_ids[i]= nodes[i]->GetVertexId(); //vertices id start at column 3 of the patch.2342 for(i=0;i<3;i++) vertices_ids[i]=vertices[i]->Id(); //vertices id start at column 3 of the patch. 2344 2343 2345 2344 for(i=0;i<this->results->Size();i++){ … … 4555 4554 /*get gradient indices*/ 4556 4555 for(int i=0;i<NUMVERTICES;i++){ 4557 indexing[i]=num_controls*this-> nodes[i]->GetVertexPid() + control_index;4556 indexing[i]=num_controls*this->vertices[i]->Pid() + control_index; 4558 4557 } 4559 4558 … … 6551 6550 /*Get values on the 3 vertices*/ 6552 6551 for (i=0;i<3;i++){ 6553 values[i]=vector[this-> nodes[i]->GetVertexSid()]; //careful, vector of values here is not parallel distributed, but serial distributed (from a serial Dakota core!)6552 values[i]=vector[this->vertices[i]->Sid()]; //careful, vector of values here is not parallel distributed, but serial distributed (from a serial Dakota core!) 6554 6553 } 6555 6554 … … 6657 6656 /*create input values: */ 6658 6657 for(i=0;i<3;i++){ 6659 row=this-> nodes[i]->GetVertexSid();6658 row=this->vertices[i]->Sid(); 6660 6659 values[i]=(IssmDouble)matrix[ncols*row+t]; 6661 6660 } -
issm/trunk-jpl/src/c/classes/Materials/Matdamageice.cpp
r15012 r15040 198 198 199 199 /*Prepare index list*/ 200 int doflist1[3];201 for(int i=0;i<3;i++) doflist1[i]=((Tria*)element)->nodes[i]->GetVertexPid();200 int vertexpidlist[3]; 201 ((Tria*)element)->GetVertexPidList(&vertexpidlist[0]); 202 202 203 203 /*Get input (either in element or material)*/ … … 206 206 207 207 /*We found the enum. Use its values to fill into the vector, using the vertices ids: */ 208 input->GetVectorFromInputs(vector,& doflist1[0]);}208 input->GetVectorFromInputs(vector,&vertexpidlist[0]);} 209 209 break; 210 210 … … 629 629 case TriaEnum: { 630 630 IssmDouble values[3]; 631 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)-> nodes[i]->GetVertexPid()];631 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->vertices[i]->Pid()]; 632 632 this->inputs->AddInput(new TriaP1Input(name,values)); 633 633 return; … … 671 671 case TriaEnum: { 672 672 IssmDouble values[3]; 673 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)-> nodes[i]->GetVertexSid()]; //use sid list, to index into serial oriented vector673 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->vertices[i]->Sid()]; //use sid list, to index into serial oriented vector 674 674 this->inputs->AddInput(new TriaP1Input(name,values)); 675 675 /*Special case for rheology B in 2D: Pourave land for this solution{{{*/ -
issm/trunk-jpl/src/c/classes/Materials/Matice.cpp
r15012 r15040 20 20 #include "../Elements/Penta.h" 21 21 #include "../Params/Parameters.h" 22 #include "../Vertex.h" 22 23 #include "../Hook.h" 23 24 #include "../Node.h" … … 190 191 case TriaEnum:{ 191 192 192 /*Prepare index list*/193 int doflist1[3];194 for(int i=0;i<3;i++) doflist1[i]=((Tria*)element)->nodes[i]->GetVertexPid();195 196 /*Get input (either in element or material)*/197 Input* input=inputs->GetInput(input_enum);198 if(!input) _error_("Input " << EnumToStringx(input_enum) << " not found in material");199 200 /*We found the enum. Use its values to fill into the vector, using the vertices ids: */201 input->GetVectorFromInputs(vector,&doflist1[0]);}202 break;193 /*Prepare index list*/ 194 int vertexpidlist[3]; 195 ((Tria*)element)->GetVertexPidList(&vertexpidlist[0]); 196 197 /*Get input (either in element or material)*/ 198 Input* input=inputs->GetInput(input_enum); 199 if(!input) _error_("Input " << EnumToStringx(input_enum) << " not found in material"); 200 201 /*We found the enum. Use its values to fill into the vector, using the vertices ids: */ 202 input->GetVectorFromInputs(vector,&vertexpidlist[0]);} 203 break; 203 204 204 205 default: _error_("element " << EnumToStringx(element->ObjectEnum()) << " not implemented yet"); … … 562 563 case TriaEnum: { 563 564 IssmDouble values[3]; 564 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)-> nodes[i]->GetVertexPid()];565 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->vertices[i]->Pid()]; 565 566 this->inputs->AddInput(new TriaP1Input(name,values)); 566 567 return; … … 604 605 case TriaEnum: { 605 606 IssmDouble values[3]; 606 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)-> nodes[i]->GetVertexSid()]; //index into serial oriented vector607 for (int i=0;i<3;i++) values[i]=vector[((Tria*)element)->vertices[i]->Sid()]; //index into serial oriented vector 607 608 this->inputs->AddInput(new TriaP1Input(name,values)); 608 609 /*Special case for rheology B in 2D: Pourave land for this solution{{{*/ -
issm/trunk-jpl/src/c/classes/Node.cpp
r15038 r15040 384 384 /*FUNCTION Node::Sid{{{*/ 385 385 int Node::Sid(void){ return sid; } 386 /*}}}*/387 /*FUNCTION Node::GetVertexId {{{*/388 int Node::GetVertexId(void){389 390 Vertex* vertex=NULL;391 392 vertex=(Vertex*)hvertex->delivers();393 return vertex->id;394 }395 /*}}}*/396 /*FUNCTION Node::GetVertexPid{{{*/397 int Node::GetVertexPid(void){398 399 Vertex* vertex=NULL;400 401 vertex=(Vertex*)hvertex->delivers();402 return vertex->pid;403 }404 /*}}}*/405 /*FUNCTION Node::GetVertexSid{{{*/406 int Node::GetVertexSid(void){407 408 Vertex* vertex=NULL;409 410 vertex=(Vertex*)this->hvertex->delivers();411 412 return vertex->sid;413 }414 386 /*}}}*/ 415 387 #ifdef _HAVE_DIAGNOSTIC_ -
issm/trunk-jpl/src/c/classes/Node.h
r15038 r15040 86 86 void GetDofList(int* poutdoflist,int approximation_enum,int setenum); 87 87 void GetLocalDofList(int* poutdoflist,int approximation_enum,int setenum); 88 int GetVertexId(void);89 int GetVertexPid(void);90 int GetVertexSid(void);91 88 void FreezeDof(int dof); 92 89 int IsFloating(); -
issm/trunk-jpl/src/c/classes/Vertex.cpp
r15012 r15040 121 121 int Vertex::Sid(void){ return sid; } 122 122 /*}}}*/ 123 /*FUNCTION Vertex::Pid{{{*/ 124 int Vertex::Pid(void){ return pid; } 125 /*}}}*/ 123 126 /*FUNCTION Vertex::UpdateVertexPosition {{{*/ 124 127 void Vertex::UpdatePosition(Vector<IssmDouble>* vz,Parameters* parameters,IssmDouble* thickness,IssmDouble* bed){ -
issm/trunk-jpl/src/c/classes/Vertex.h
r15012 r15040 45 45 /*}}}*/ 46 46 /*Vertex management:*/ 47 int Pid(void); 47 48 int Sid(void); 48 49 int Connectivity(void);
Note:
See TracChangeset
for help on using the changeset viewer.