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

Method getResponse

SRC/element/componentElement/ComponentElement3d.cpp:1621–1695  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1619}
1620
1621int
1622ComponentElement3d::getResponse (int responseID, Information &eleInfo)
1623{
1624 double N, M1, M2, V;
1625 double L = theCoordTransf->getInitialLength();
1626 this->getResistingForce();
1627 static Vector vect4(4);
1628 static Vector vect2(2);
1629 static Matrix kb(6,6);
1630
1631 switch (responseID) {
1632 case 1: // stiffness
1633 return eleInfo.setMatrix(this->getTangentStiff());
1634
1635 case 2: // global forces
1636 return eleInfo.setVector(this->getResistingForce());
1637
1638 case 3: // local forces
1639 // Axial
1640 N = q(0);
1641 P(3) = N;
1642 P(0) = -N+p0[0];
1643 // Moment
1644 M1 = q(1);
1645 M2 = q(2);
1646 P(2) = M1;
1647 P(5) = M2;
1648 // Shear
1649 V = (M1+M2)/L;
1650 P(1) = V+p0[1];
1651 P(4) = -V+p0[2];
1652 return eleInfo.setVector(P);
1653
1654 case 4: // basic forces
1655 return eleInfo.setVector(q);
1656
1657 case 5: // basic forces
1658 vect4.Zero();
1659 if (end1zHinge != 0) {
1660 vect4(0) = end1zHinge->getStrain();
1661 vect4(1) = end1zHinge->getStress();
1662 }
1663 if (end2zHinge != 0) {
1664 vect4(2) = end2zHinge->getStrain();
1665 vect4(3) = end2zHinge->getStress();
1666 }
1667 return eleInfo.setVector(vect4);
1668
1669 case 6: // basic forces
1670 if (end1zHinge != 0) {
1671 vect2(0) = end1zHinge->getTangent();
1672 }
1673 if (end2zHinge != 0) {
1674 vect2(1) = end2zHinge->getTangent();
1675 }
1676 return eleInfo.setVector(vect2);
1677
1678 case 19:

Callers

nothing calls this directly

Calls 9

getResistingForceMethod · 0.80
getTangentStiffMethod · 0.80
getInitialLengthMethod · 0.45
setMatrixMethod · 0.45
setVectorMethod · 0.45
ZeroMethod · 0.45
getStrainMethod · 0.45
getStressMethod · 0.45
getTangentMethod · 0.45

Tested by

no test coverage detected