Changeset 5259
- Timestamp:
- 08/13/10 16:59:27 (15 years ago)
- Location:
- issm/trunk/src/c/objects
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Elements/Penta.cpp
r5258 r5259 4533 4533 /*First, figure out size of doflist: */ 4534 4534 for(i=0;i<6;i++){ 4535 numberofdofs+=nodes[i]->GetNumberOfDofs( );4535 numberofdofs+=nodes[i]->GetNumberOfDofs(approximation_enum); 4536 4536 } 4537 4537 … … 4543 4543 for(i=0;i<6;i++){ 4544 4544 nodes[i]->GetDofList(doflist+count,approximation_enum); 4545 count+=nodes[i]->GetNumberOfDofs( );4545 count+=nodes[i]->GetNumberOfDofs(approximation_enum); 4546 4546 } 4547 4547 -
issm/trunk/src/c/objects/Elements/Tria.cpp
r5258 r5259 5543 5543 /*First, figure out size of doflist: */ 5544 5544 for(i=0;i<3;i++){ 5545 numberofdofs+=nodes[i]->GetNumberOfDofs( );5545 numberofdofs+=nodes[i]->GetNumberOfDofs(approximation_enum); 5546 5546 } 5547 5547 … … 5552 5552 count=0; 5553 5553 for(i=0;i<3;i++){ 5554 nodes[i]->GetDofList(doflist+count );5555 count+=nodes[i]->GetNumberOfDofs( );5554 nodes[i]->GetDofList(doflist+count,approximation_enum); 5555 count+=nodes[i]->GetNumberOfDofs(approximation_enum); 5556 5556 } 5557 5557 -
issm/trunk/src/c/objects/Node.cpp
r5258 r5259 334 334 void Node::GetDofList(int* outdoflist,int approximation_enum){ 335 335 int i; 336 for(i=0;i<this->indexing.numberofdofs;i++){ 337 outdoflist[i]=indexing.doflist[i]; 336 int count=0; 337 338 if(approximation_enum && this->indexing.doftype){ //if an approximation is specified and this node has several approsimations 339 for(i=0;i<this->indexing.numberofdofs;i++){ 340 if(indexing.doftype[i]==approximation_enum){ 341 outdoflist[count]=indexing.doflist[i]; 342 count++; 343 } 344 } 345 ISSMASSERT(count); 346 } 347 else{ 348 for(i=0;i<this->indexing.numberofdofs;i++){ 349 outdoflist[i]=indexing.doflist[i]; 350 } 338 351 } 339 352 } … … 455 468 /*}}}*/ 456 469 /*FUNCTION Node::GetNumberOfDofs{{{1*/ 457 int Node::GetNumberOfDofs(){ 458 459 return this->indexing.numberofdofs; 470 int Node::GetNumberOfDofs(int approximation_enum){ 471 472 int i; 473 int numdofs=0; 474 475 /*Count the dofs if an approximation is specified and the node contains several dofs type*/ 476 if(approximation_enum && this->indexing.doftype){ 477 for(i=0;i<this->indexing.numberofdofs;i++){ 478 if(this->indexing.doftype[i]==approximation_enum) numdofs++; 479 } 480 } 481 else numdofs=this->indexing.numberofdofs; 482 483 ISSMASSERT(numdofs); 484 return numdofs; 460 485 461 486 } -
issm/trunk/src/c/objects/Node.h
r5258 r5259 68 68 void SetVertexDof(int in_dof); 69 69 bool InAnalysis(int analysis_type); 70 int GetNumberOfDofs( );70 int GetNumberOfDofs(int approximation_enum=0); 71 71 int IsClone(); 72 72 void ApplyConstraint(Vec yg,int dof,double value);
Note:
See TracChangeset
for help on using the changeset viewer.