| 1835 | } |
| 1836 | |
| 1837 | Matrix MixedBeamColumn3d::getNd2(int sec, double P, double L) { |
| 1838 | double xi[MAX_NUM_SECTIONS]; |
| 1839 | beamIntegr->getSectionLocations(numSections, L, xi); |
| 1840 | |
| 1841 | double temp_x, temp_A, temp_B; |
| 1842 | |
| 1843 | temp_x = L * xi[sec]; |
| 1844 | |
| 1845 | Matrix Nd2(NDM_SECTION,NDM_NATURAL); |
| 1846 | Nd2.Zero(); |
| 1847 | |
| 1848 | temp_A = L * ( temp_x / L - 2 * pow( temp_x / L, 2 ) + pow( temp_x / L, 3 ) ); |
| 1849 | temp_B = L * ( -pow( temp_x / L, 2 ) + pow( temp_x / L, 3 ) ); |
| 1850 | |
| 1851 | Nd2(1,1) = P * temp_A; |
| 1852 | Nd2(1,3) = P * temp_B; |
| 1853 | Nd2(2,2) = P * temp_A; |
| 1854 | Nd2(2,4) = P * temp_B; |
| 1855 | |
| 1856 | return Nd2; |
| 1857 | } |
| 1858 | |
| 1859 | Matrix MixedBeamColumn3d::getNd1(int sec, const Vector &v, double L, bool geomLinear) { |
| 1860 | double xi[MAX_NUM_SECTIONS]; |
no test coverage detected