feat: implement consistent-mass HHT shell dynamics

This commit is contained in:
KOKO\Mimi
2026-09-22 21:38:42 +09:00
parent fec8cf09c2
commit f0dc42a280
41 changed files with 9294 additions and 125 deletions
@@ -0,0 +1,29 @@
#ifndef FESA_ANALYSIS_HHT_DYNAMIC_PROCEDURE_H_
#define FESA_ANALYSIS_HHT_DYNAMIC_PROCEDURE_H_
#include "fesa/analysis/prepared_analysis.h"
namespace fesa {
class LinearSolver;
class ParallelFor;
class TangentSolver;
/// @brief Executes endpoint-equilibrium HHT with consistent shell inertia.
class HhtDynamicProcedureExecutor {
public:
/// @brief Retains caller-owned deterministic execution and solve adapters.
HhtDynamicProcedureExecutor(const ParallelFor& parallel_for,
LinearSolver& positive_solver,
TangentSolver& tangent_solver);
/// @brief Returns complete accepted history without opening result output.
Result<DynamicExecutionResult> Execute(const Domain& domain,
NewtonIterationLogWriter& log) const;
private:
const ParallelFor& parallel_for_;
LinearSolver& positive_solver_;
TangentSolver& tangent_solver_;
};
} // namespace fesa
#endif // FESA_ANALYSIS_HHT_DYNAMIC_PROCEDURE_H_