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

Method getNld_hat

SRC/element/mixedBeamColumn/MixedBeamColumn3d.cpp:1795–1835  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1793}
1794
1795Matrix MixedBeamColumn3d::getNld_hat(int sec, const Vector &v, double L, bool geomLinear) {
1796 double xi[MAX_NUM_SECTIONS];
1797 beamIntegr->getSectionLocations(numSections, L, xi);
1798
1799 double x, C, E, F;
1800 Matrix Nld_hat(NDM_SECTION,NDM_NATURAL);
1801 Nld_hat.Zero();
1802
1803 x = L*xi[sec];
1804
1805 C = 1/L;
1806 E = -4/L + 6*x/(L*L);
1807 F = -2/L + 6*x/(L*L);
1808
1809 if (geomLinear) {
1810
1811 Nld_hat(0,0) = C;
1812 Nld_hat(1,1) = E;
1813 Nld_hat(1,3) = F;
1814 Nld_hat(2,2) = E;
1815 Nld_hat(2,4) = F;
1816
1817 } else {
1818
1819 double A,B;
1820 A = 1 - 4 * ( x / L ) + 3 * pow ( ( x / L ) , 2 );
1821 B = - 2 * ( x / L ) + 3 * pow ( ( x / L ) , 2 );
1822
1823 Nld_hat(0,0) = C + C*C*v(0);
1824 Nld_hat(0,1) = A*A*v(1) + A*B*v(3);
1825 Nld_hat(0,2) = A*A*v(2) + A*B*v(4);
1826 Nld_hat(0,3) = A*B*v(1) + B*B*v(3);
1827 Nld_hat(0,4) = A*B*v(2) + B*B*v(4);
1828 Nld_hat(1,1) = E;
1829 Nld_hat(1,3) = F;
1830 Nld_hat(2,2) = E;
1831 Nld_hat(2,4) = F;
1832 }
1833
1834 return Nld_hat;
1835}
1836
1837Matrix MixedBeamColumn3d::getNd2(int sec, double P, double L) {
1838 double xi[MAX_NUM_SECTIONS];

Callers 2

revertToStartMethod · 0.95
updateMethod · 0.95

Calls 2

getSectionLocationsMethod · 0.45
ZeroMethod · 0.45

Tested by

no test coverage detected