feat(euler-beam-3d): add global transform recovery
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user