feat: adopt lumped mass and reduced-coordinate shell HHT

Integrate Hex8 mass verification and fixed-null-basis shell dynamics with numerical and physics handoff evidence. Preserve interrupted reference and full-validation status; full integration validation is deferred until after performance optimization.
This commit is contained in:
KOKO\Mimi
2026-10-13 16:57:19 +09:00
parent ede137c6b4
commit eaa5cbeb21
110 changed files with 15274 additions and 971 deletions
@@ -14,8 +14,16 @@
namespace fesa {
/// @brief Identifies the update and the meaning of a frame's full auxiliary A.
enum class DynamicTimeIntegrationFormulation {
kFullCoordinateHht,
kReducedCoordinateHht
};
/// @brief Stores one accepted endpoint of an HHT dynamic step.
struct DynamicAcceptedFrameState {
DynamicTimeIntegrationFormulation time_integration_formulation =
DynamicTimeIntegrationFormulation::kFullCoordinateHht;
std::uint32_t frame_index = 0U;
std::uint32_t increment_index = 0U;
std::uint32_t iteration_count = 0U;
@@ -26,6 +34,8 @@ struct DynamicAcceptedFrameState {
Vector generalized_coordinates{0U};
Vector velocity{0U};
Vector acceleration{0U};
/// Full-coordinate history stores the predictor driver. Reduced-coordinate
/// history stores (1+alpha)*a_n-alpha*a_previous; frame zero stores a0.
Vector algorithmic_acceleration{0U};
std::vector<std::array<std::array<double, 3>, 3>> nodal_triad;
std::vector<std::array<double, 3>> nodal_director;