#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 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_