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

Method getd_hat

SRC/element/mixedBeamColumn/MixedBeamColumn3d.cpp:1709–1745  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1707}
1708
1709Vector MixedBeamColumn3d::getd_hat(int sec, const Vector &v, double L, bool geomLinear) {
1710 double xi[MAX_NUM_SECTIONS];
1711 beamIntegr->getSectionLocations(numSections, L, xi);
1712
1713 double x, C, E, F;
1714 Vector D_hat(NDM_SECTION);
1715 D_hat.Zero();
1716
1717 x = L*xi[sec];
1718 C = 1/L;
1719 E = -4/L + 6*x/(L*L);
1720 F = -2/L + 6*x/(L*L);
1721
1722 if (geomLinear) {
1723
1724 D_hat(0) = C*v(0);
1725 D_hat(1) = E*v(1) + F*v(3);
1726 D_hat(2) = E*v(2) + F*v(4);
1727
1728 } else {
1729
1730 double A,B;
1731 A = 1 - 4*(x/L) + 3*pow(x/L,2);
1732 B = - 2*(x/L) + 3*pow(x/L,2);
1733
1734 D_hat(0) = C * v(0) + 0.5 * ( C*C*v(0) ) * v(0) +
1735 0.5 * ( A*A*v(1) + A*B*v(3) ) * v(1) +
1736 0.5 * ( A*A*v(2) + A*B*v(4) ) * v(2) +
1737 0.5 * ( A*B*v(1) + B*B*v(3) ) * v(3) +
1738 0.5 * ( A*B*v(2) + B*B*v(4) ) * v(4);
1739 D_hat(1) = E*v(1) + F*v(3);
1740 D_hat(2) = E*v(2) + F*v(4);
1741
1742 }
1743
1744 return D_hat;
1745}
1746
1747Matrix MixedBeamColumn3d::getKg(int sec, double P, double L) {
1748 double xi[MAX_NUM_SECTIONS];

Callers 1

updateMethod · 0.95

Calls 2

getSectionLocationsMethod · 0.45
ZeroMethod · 0.45

Tested by

no test coverage detected