feat(nonlinear-static-newton-raphson): step 10 - prepared-analysis-flow-and-full-procedure

This commit is contained in:
KOKO\Mimi
2026-08-24 15:49:08 +09:00
parent 3a443e08af
commit f0f38b9803
16 changed files with 1373 additions and 223 deletions
@@ -0,0 +1,31 @@
#ifndef FESA_ANALYSIS_LINEAR_STATIC_PROCEDURE_H_
#define FESA_ANALYSIS_LINEAR_STATIC_PROCEDURE_H_
#include "fesa/analysis/prepared_analysis.h"
namespace fesa {
class LinearSolver;
class ParallelFor;
/// @brief Executes the approved linear-static procedure on a prepared Domain.
class LinearStaticProcedureExecutor {
public:
/// @brief Creates a procedure executor with caller-owned backend adapters.
/// @param parallel_for Deterministic element-local execution adapter.
/// @param linear_solver Factorization and substitution adapter.
LinearStaticProcedureExecutor(const ParallelFor& parallel_for,
LinearSolver& linear_solver);
/// @brief Computes linear-static state without writing HDF5 output.
/// @return A validated state and sorted diagnostics, or a procedure failure.
Result<LinearStaticExecutionResult> Execute(const Domain& domain) const;
private:
const ParallelFor& parallel_for_;
LinearSolver& linear_solver_;
};
} // namespace fesa
#endif // FESA_ANALYSIS_LINEAR_STATIC_PROCEDURE_H_