feat(euler-beam-3d): add global transform recovery

This commit is contained in:
김경종
2026-06-12 18:10:35 +09:00
parent 95ca95180a
commit 7845ebec68
4 changed files with 323 additions and 9 deletions
+14
View File
@@ -6,6 +6,7 @@ namespace fesa::elements {
using Vector12 = std::array<double, 12>;
using Matrix12 = std::array<double, 144>;
using Vector3 = std::array<double, 3>;
struct EulerBeam3DSection {
double young_modulus;
@@ -16,10 +17,23 @@ struct EulerBeam3DSection {
double second_moment_z;
};
struct EulerBeam3DGeometry {
Vector3 node1;
Vector3 node2;
Vector3 orientation;
};
Matrix12 euler_beam_3d_local_stiffness(double length, const EulerBeam3DSection& section);
Vector12 euler_beam_3d_local_end_forces(double length,
const EulerBeam3DSection& section,
const Vector12& local_displacements);
Matrix12 euler_beam_3d_global_stiffness(const EulerBeam3DGeometry& geometry,
const EulerBeam3DSection& section);
Vector12 euler_beam_3d_global_end_forces(const EulerBeam3DGeometry& geometry,
const EulerBeam3DSection& section,
const Vector12& global_displacements);
} // namespace fesa::elements