From fed1280993ded7e2b937ab3f3c6b7c2d88545268 Mon Sep 17 00:00:00 2001 From: sanathkeshav Date: Tue, 5 Nov 2024 13:02:55 +0100 Subject: [PATCH] added results_prefix field in input json --- include/reader.h | 1 + include/solver.h | 4 ++++ src/reader.cpp | 6 ++++++ 3 files changed, 11 insertions(+) diff --git a/include/reader.h b/include/reader.h index 9a0c7ba..fe926fe 100644 --- a/include/reader.h +++ b/include/reader.h @@ -13,6 +13,7 @@ class Reader { // contents of input file: char ms_filename[4096]; // Name of Micro-structure hdf5 file char ms_datasetname[4096]; // Absolute path of Micro-structure in hdf5 file + char results_prefix[4096]; int n_mat; json materialProperties; double TOL; diff --git a/include/solver.h b/include/solver.h index d1d2111..ea37ddb 100644 --- a/include/solver.h +++ b/include/solver.h @@ -463,6 +463,10 @@ void Solver::postprocess(Reader reader, const char resultsFileName[], i printf(") \n\n"); } + // Concatenate reader.ms_datasetname and reader.results_prefix into reader.ms_datasetname + strcat(reader.ms_datasetname, "/"); + strcat(reader.ms_datasetname, reader.results_prefix); + // Write results to results h5 file auto writeData = [&](const char *resultName, const char *resultPrefix, auto *data, hsize_t *dims, int ndims) { if (std::find(reader.resultsToWrite.begin(), reader.resultsToWrite.end(), resultName) != reader.resultsToWrite.end()) { diff --git a/src/reader.cpp b/src/reader.cpp index 973bc4f..a193d9b 100644 --- a/src/reader.cpp +++ b/src/reader.cpp @@ -63,6 +63,12 @@ void Reader ::ReadInputFile(char fn[]) strcpy(ms_filename, j["ms_filename"].get().c_str()); strcpy(ms_datasetname, j["ms_datasetname"].get().c_str()); + if (j.contains("results_prefix")) { + strcpy(results_prefix, j["results_prefix"].get().c_str()); + } else { + strcpy(results_prefix, ""); + } + L = j["ms_L"].get>(); errorParameters = j["error_parameters"];