Integrate Refactor solver sources and dual MSVC CMake builds
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
#ifndef FESA_RESULTS_PREPARED_RESULTS_WRITER_H_
|
||||
#define FESA_RESULTS_PREPARED_RESULTS_WRITER_H_
|
||||
|
||||
#include <filesystem>
|
||||
#include <vector>
|
||||
|
||||
#include "fesa/analysis/prepared_analysis_outcome.h"
|
||||
#include "fesa/core/diagnostic.h"
|
||||
#include "fesa/core/status.h"
|
||||
|
||||
namespace fesa {
|
||||
|
||||
class Domain;
|
||||
class ResultsWriter;
|
||||
class NonlinearResultsWriter;
|
||||
class EigenResultsWriter;
|
||||
class DynamicResultsWriter;
|
||||
class ThermalResultsWriter;
|
||||
class SolidResultsWriter;
|
||||
|
||||
/// @brief Routes one completed typed outcome to its authoritative writer.
|
||||
/// @pre Domain, outcome, diagnostics, and adapters remain alive for this call.
|
||||
/// The caller has closed its analysis log successfully before publication.
|
||||
/// @param results_path Explicit output path, retaining each writer's contract.
|
||||
/// @note Optional adapters are required only for their matching outcome family.
|
||||
/// @return The selected writer's Status after candidate validation/finalization,
|
||||
/// or the existing missing-adapter output failure without invoking a writer.
|
||||
Status WritePreparedAnalysisResult(
|
||||
const std::filesystem::path& results_path, const Domain& domain,
|
||||
const PreparedAnalysisOutcome& outcome,
|
||||
const std::vector<Diagnostic>& diagnostics, ResultsWriter& linear_writer,
|
||||
NonlinearResultsWriter& nonlinear_writer, EigenResultsWriter& eigen_writer,
|
||||
DynamicResultsWriter* dynamic_writer = nullptr,
|
||||
ThermalResultsWriter* thermal_writer = nullptr,
|
||||
SolidResultsWriter* solid_writer = nullptr);
|
||||
|
||||
} // namespace fesa
|
||||
|
||||
#endif // FESA_RESULTS_PREPARED_RESULTS_WRITER_H_
|
||||
Reference in New Issue
Block a user