feat(linear-static-mitc4-shell): step 4 - mitc4-stiffness-drilling
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
#include "fesa/model/model_types.hpp"
|
||||
|
||||
#include <array>
|
||||
#include <string>
|
||||
|
||||
namespace fesa {
|
||||
|
||||
@@ -30,8 +31,16 @@ struct Mitc4QuadraturePoint {
|
||||
double weight;
|
||||
};
|
||||
|
||||
// Concrete small-rotation MITC4 kinematics and material value kernel. Global
|
||||
// equation ownership, drilling stiffness, recovery, and assembly remain outside.
|
||||
struct Mitc4Stiffness {
|
||||
Matrix physicalLocal20;
|
||||
Matrix physicalGlobal24;
|
||||
Matrix drillingGlobal24;
|
||||
Matrix stabilizedGlobal24;
|
||||
double drillingStiffness;
|
||||
};
|
||||
|
||||
// Concrete small-rotation MITC4 kinematics, constitutive, and stiffness kernel.
|
||||
// Global equation ownership, physical recovery, and assembly remain outside.
|
||||
class Mitc4Shell {
|
||||
public:
|
||||
static Result<Mitc4Shell> create(
|
||||
@@ -63,6 +72,7 @@ public:
|
||||
[[nodiscard]] Matrix membraneSectionMatrix() const;
|
||||
[[nodiscard]] Matrix bendingSectionMatrix() const;
|
||||
[[nodiscard]] Matrix transverseShearSectionMatrix() const;
|
||||
[[nodiscard]] Result<Mitc4Stiffness> stiffness() const;
|
||||
|
||||
private:
|
||||
using Vector3 = std::array<double, 3>;
|
||||
@@ -82,7 +92,9 @@ private:
|
||||
Vector3 normalCandidate,
|
||||
double thickness,
|
||||
double youngsModulus,
|
||||
double poissonRatio);
|
||||
double poissonRatio,
|
||||
SourceLocation sourceLocation,
|
||||
std::string identity);
|
||||
|
||||
bool evaluateGeometry(
|
||||
double xi,
|
||||
@@ -107,6 +119,8 @@ private:
|
||||
double thickness_;
|
||||
double youngsModulus_;
|
||||
double poissonRatio_;
|
||||
SourceLocation sourceLocation_;
|
||||
std::string identity_;
|
||||
};
|
||||
|
||||
} // namespace fesa
|
||||
|
||||
Reference in New Issue
Block a user