| 1772 | } |
| 1773 | |
| 1774 | Matrix MixedBeamColumn3d::getMd(int sec, Vector dShapeFcn, Vector dFibers, double L) { |
| 1775 | double xi[MAX_NUM_SECTIONS]; |
| 1776 | beamIntegr->getSectionLocations(numSections, L, xi); |
| 1777 | |
| 1778 | double x, A, B; |
| 1779 | |
| 1780 | Matrix md(NDM_NATURAL,NDM_NATURAL); |
| 1781 | md.Zero(); |
| 1782 | |
| 1783 | x = L*xi[sec]; |
| 1784 | A = ( x/L - 2*pow(x/L,2) + pow(x/L,3) )*L; |
| 1785 | B = (-pow(x/L,2) + pow(x/L,3) )*L; |
| 1786 | |
| 1787 | md(0,1) = A * ( dShapeFcn(1) - dFibers(1) ); |
| 1788 | md(0,2) = A * ( dShapeFcn(2) - dFibers(2) ); |
| 1789 | md(0,3) = B * ( dShapeFcn(1) - dFibers(1) ); |
| 1790 | md(0,4) = B * ( dShapeFcn(2) - dFibers(2) ); |
| 1791 | |
| 1792 | return md; |
| 1793 | } |
| 1794 | |
| 1795 | Matrix MixedBeamColumn3d::getNld_hat(int sec, const Vector &v, double L, bool geomLinear) { |
| 1796 | double xi[MAX_NUM_SECTIONS]; |
no test coverage detected