| 1745 | } |
| 1746 | |
| 1747 | Matrix MixedBeamColumn3d::getKg(int sec, double P, double L) { |
| 1748 | double xi[MAX_NUM_SECTIONS]; |
| 1749 | beamIntegr->getSectionLocations(numSections, L, xi); |
| 1750 | |
| 1751 | double temp_x, temp_A, temp_B; |
| 1752 | |
| 1753 | temp_x = L * xi[sec]; |
| 1754 | |
| 1755 | Matrix kg(NDM_NATURAL,NDM_NATURAL); |
| 1756 | kg.Zero(); |
| 1757 | |
| 1758 | temp_A = 1 - 4 * temp_x / L + 3 * ( temp_x * temp_x ) / ( L * L ); |
| 1759 | temp_B = - 2 * temp_x / L + 3 * ( temp_x * temp_x ) / ( L * L ); |
| 1760 | |
| 1761 | kg(0,0) = P / ( L * L ); |
| 1762 | kg(1,1) = P * temp_A * temp_A; |
| 1763 | kg(1,3) = P * temp_A * temp_B; |
| 1764 | kg(2,2) = P * temp_A * temp_A; |
| 1765 | kg(2,4) = P * temp_A * temp_B; |
| 1766 | kg(3,1) = P * temp_A * temp_B; |
| 1767 | kg(3,3) = P * temp_B * temp_B; |
| 1768 | kg(4,2) = P * temp_A * temp_B; |
| 1769 | kg(4,4) = P * temp_B * temp_B; |
| 1770 | |
| 1771 | return kg; |
| 1772 | } |
| 1773 | |
| 1774 | Matrix MixedBeamColumn3d::getMd(int sec, Vector dShapeFcn, Vector dFibers, double L) { |
| 1775 | double xi[MAX_NUM_SECTIONS]; |
no test coverage detected