feat: implement consistent-mass HHT shell dynamics
This commit is contained in:
@@ -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_
|
||||
Reference in New Issue
Block a user