Add immutable MITC4 drilling selection and direct director springs
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include "fesa/core/status.h"
|
||||
#include "fesa/elements/element.h"
|
||||
#include "fesa/elements/mitc4_shell_definition.h"
|
||||
#include "fesa/elements/mitc4_drilling_mode.h"
|
||||
#include "fesa/materials/isotropic_linear_elastic_material.h"
|
||||
#include "fesa/math/matrix.h"
|
||||
#include "fesa/math/vector.h"
|
||||
@@ -92,6 +93,11 @@ class Mitc4Shell final : public Element {
|
||||
std::array<std::array<double, 3>, 4> initial_directors,
|
||||
const ShellSection& section, const LinearElasticMaterial& material);
|
||||
|
||||
/// @brief Returns this immutable kernel's production drilling formulation.
|
||||
[[nodiscard]] Mitc4DrillingMode DrillingMode() const noexcept {
|
||||
return drilling_mode_;
|
||||
}
|
||||
|
||||
/// @brief Returns the factory-bound MITC4 DOF order.
|
||||
const ElementDofLayout& DofLayout() const noexcept override;
|
||||
|
||||
@@ -163,6 +169,7 @@ class Mitc4Shell final : public Element {
|
||||
|
||||
private:
|
||||
friend class ElementFactory;
|
||||
friend struct mitc4_drilling_internal::TestAccess;
|
||||
|
||||
/// @brief Binds Domain identity after the numerical candidate is valid.
|
||||
void BindRuntime(ElementDofLayout layout, EntityIndex element_index,
|
||||
@@ -203,6 +210,7 @@ class Mitc4Shell final : public Element {
|
||||
double thickness_;
|
||||
double youngs_modulus_;
|
||||
double poisson_ratio_;
|
||||
Mitc4DrillingMode drilling_mode_;
|
||||
SourceLocation source_location_;
|
||||
std::string identity_;
|
||||
ElementDofLayout dof_layout_;
|
||||
|
||||
Reference in New Issue
Block a user