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

Method doMv

SRC/analysis/integrator/IncrementalIntegrator.cpp:629–657  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

627}
628
629int
630IncrementalIntegrator::doMv(const Vector &v, Vector &res) {
631
632 int n = v.Size();
633 if (isDiagonal == true) {
634 for (int i=0; i<n; i++)
635 res[i] = diagMass[i]*v[i];
636 return 0;
637 }
638
639 res.Zero();
640
641 // loop over the FE_Elements
642 FE_Element *elePtr;
643 FE_EleIter &theEles = theAnalysisModel->getFEs();
644 while((elePtr = theEles()) != 0) {
645 const Vector &b = elePtr->getM_Force(v, 1.0);
646 res.Assemble(b, elePtr->getID(), 1.0);
647 }
648
649 // loop over the DOF_Groups
650 DOF_Group *dofPtr;
651 DOF_GrpIter &theDofs = theAnalysisModel->getDOFs();
652 while ((dofPtr = theDofs()) != 0) {
653 const Vector &a = dofPtr->getM_Force(v, 1.0);
654 res.Assemble(a, dofPtr->getID(), 1.0);
655 }
656 return 0;
657}
658
659double IncrementalIntegrator::getCFactor(void)
660{

Callers 1

setupModalMethod · 0.95

Calls 4

getIDMethod · 0.80
SizeMethod · 0.45
ZeroMethod · 0.45
AssembleMethod · 0.45

Tested by

no test coverage detected