26 lines
660 B
C++
26 lines
660 B
C++
#pragma once
|
|
|
|
#include <array>
|
|
|
|
namespace fesa::elements {
|
|
|
|
using Vector12 = std::array<double, 12>;
|
|
using Matrix12 = std::array<double, 144>;
|
|
|
|
struct EulerBeam3DSection {
|
|
double young_modulus;
|
|
double shear_modulus;
|
|
double area;
|
|
double torsion_constant;
|
|
double second_moment_y;
|
|
double second_moment_z;
|
|
};
|
|
|
|
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);
|
|
|
|
} // namespace fesa::elements
|