feat(nonlinear-static-newton-raphson): step 10 - prepared-analysis-flow-and-full-procedure
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
#ifndef FESA_ANALYSIS_NONLINEAR_STATIC_PROCEDURE_H_
|
||||
#define FESA_ANALYSIS_NONLINEAR_STATIC_PROCEDURE_H_
|
||||
|
||||
#include "fesa/analysis/prepared_analysis.h"
|
||||
|
||||
namespace fesa {
|
||||
|
||||
class NewtonIterationLogWriter;
|
||||
class ParallelFor;
|
||||
class TangentSolver;
|
||||
|
||||
/// @brief Executes fixed-load-factor full-Newton nonlinear static analysis.
|
||||
class NonlinearStaticProcedureExecutor {
|
||||
public:
|
||||
/// @brief Creates a procedure executor with caller-owned backend adapters.
|
||||
/// @param parallel_for Deterministic element-local execution adapter.
|
||||
/// @param tangent_solver Fresh unsymmetric tangent solve adapter.
|
||||
NonlinearStaticProcedureExecutor(const ParallelFor& parallel_for,
|
||||
TangentSolver& tangent_solver);
|
||||
|
||||
/// @brief Computes accepted nonlinear frames and appends iteration records.
|
||||
/// @return A validated nonlinear state without writing HDF5 output.
|
||||
Result<NonlinearStaticExecutionResult> Execute(
|
||||
const Domain& domain, NewtonIterationLogWriter& log) const;
|
||||
|
||||
private:
|
||||
const ParallelFor& parallel_for_;
|
||||
TangentSolver& tangent_solver_;
|
||||
};
|
||||
|
||||
} // namespace fesa
|
||||
|
||||
#endif // FESA_ANALYSIS_NONLINEAR_STATIC_PROCEDURE_H_
|
||||
Reference in New Issue
Block a user