MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / incrNodeDisp

Method incrNodeDisp

SRC/analysis/dof_grp/TransformationDOF_Group.cpp:662–695  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

660// values in u, components identified by myID;
661
662void
663TransformationDOF_Group::incrNodeDisp(const Vector &u)
664{
665 // call base class method and return if no MP_Constraint
666 if (theMP == 0) {
667 this->DOF_Group::incrNodeDisp(u);
668 return;
669 }
670
671 const ID &theID = this->getID();
672
673 for (int i=0; i<modNumDOF; i++) {
674 int loc = theID(i);
675 if (loc >= 0)
676 (*modUnbalance)(i) = u(loc);
677 else
678 (*modUnbalance)(i) = 0.0;
679 }
680
681#ifdef TRANSF_INCREMENTAL_MP
682 modTotalDisp.addVector(1.0, *modUnbalance, 1.0); // accumulate it for next iteration
683#endif // TRANSF_INCREMENTAL_MP
684
685 Matrix *T = this->getT();
686 // *unbalance = (*T) * (*modUnbalance);
687 unbalance->addMatrixVector(0.0, *T, *modUnbalance, 1.0);
688
689 int numDOF = myNode->getNumberDOF();
690 for (int i=0; i<numDOF; i++) {
691 if (theSPs[i] != 0)
692 (*unbalance)(i) = 0.0;
693 }
694 myNode->incrTrialDisp(*unbalance);
695}
696
697
698void

Callers

nothing calls this directly

Calls 6

getTMethod · 0.95
getIDMethod · 0.80
addVectorMethod · 0.45
addMatrixVectorMethod · 0.45
getNumberDOFMethod · 0.45
incrTrialDispMethod · 0.45

Tested by

no test coverage detected