feat(cpp-object-oriented-modular-refactoring): step 12 - material-property-hierarchy
This commit is contained in:
@@ -11,12 +11,12 @@
|
||||
|
||||
#include "fesa/core/diagnostic.h"
|
||||
#include "fesa/core/source_identity.h"
|
||||
#include "fesa/materials/isotropic_linear_elastic_material.h"
|
||||
#include "fesa/properties/general_beam_section.h"
|
||||
#include "fesa/properties/shell_section.h"
|
||||
|
||||
namespace fesa {
|
||||
|
||||
/// @brief Identifies a semantic entity by its stable collection position.
|
||||
using EntityIndex = std::uint32_t;
|
||||
|
||||
/// @brief Stores one source node and its global coordinates.
|
||||
struct Node {
|
||||
SourceEntityId source_id;
|
||||
@@ -24,26 +24,8 @@ struct Node {
|
||||
SourceLocation location;
|
||||
};
|
||||
|
||||
/// @brief Stores the supported homogeneous isotropic elastic properties.
|
||||
struct LinearElasticMaterial {
|
||||
std::string name;
|
||||
double youngs_modulus;
|
||||
double poisson_ratio;
|
||||
SourceLocation location;
|
||||
};
|
||||
|
||||
/// @brief Stores the supported general Euler beam section properties.
|
||||
struct GeneralBeamSection {
|
||||
std::string name;
|
||||
double area;
|
||||
double i11;
|
||||
double i12;
|
||||
double i22;
|
||||
double torsional_constant;
|
||||
std::array<double, 3> first_axis;
|
||||
std::vector<std::array<double, 2>> section_points;
|
||||
SourceLocation location;
|
||||
};
|
||||
/// @brief Keeps the current material spelling during the hierarchy migration.
|
||||
using LinearElasticMaterial = IsotropicLinearElasticMaterial;
|
||||
|
||||
/// @brief Preserves the source shell element label independently of
|
||||
/// formulation.
|
||||
@@ -52,14 +34,6 @@ enum class ShellSourceElementType { kS4, kS4r };
|
||||
/// @brief Names the single internal shell formulation selected by S4 and S4R.
|
||||
inline constexpr std::string_view kMitc4InternalFormulation{"FESA-MITC4"};
|
||||
|
||||
/// @brief Stores a centered constant-thickness shell section assignment.
|
||||
struct ShellSection {
|
||||
std::string name;
|
||||
double thickness;
|
||||
EntityIndex material_index;
|
||||
SourceLocation location;
|
||||
};
|
||||
|
||||
/// @brief Defines one four-node shell with stable semantic references.
|
||||
struct Mitc4ShellDefinition {
|
||||
SourceEntityId source_id;
|
||||
|
||||
Reference in New Issue
Block a user