Files
FESADev/include/fesa/io/hdf5/nonlinear_hdf5_results_writer.h

23 lines
931 B
C++

#ifndef FESA_IO_HDF5_NONLINEAR_HDF5_RESULTS_WRITER_H_
#define FESA_IO_HDF5_NONLINEAR_HDF5_RESULTS_WRITER_H_
#include "fesa/results/nonlinear_results_writer.h"
namespace fesa {
/// @brief Writes authoritative schema-v1 nonlinear HDF5 results atomically.
/// @note HDF5 and platform types remain private to the implementation.
class NonlinearHdf5ResultsWriter final : public NonlinearResultsWriter {
public:
/// @brief Writes and self-checks committed nonlinear frames before publish.
/// @return Success only after atomic replacement or structured output failure.
/// @note Factor-zero state remains metadata and is not an accepted frame.
Status Write(const std::filesystem::path& output_path,
const Domain& domain, const NonlinearAnalysisState& state,
const std::vector<Diagnostic>& diagnostics) override;
};
} // namespace fesa
#endif // FESA_IO_HDF5_NONLINEAR_HDF5_RESULTS_WRITER_H_