38#include <yaml-cpp/yaml.h>
46struct convert<
vf::basics::MetaData::BuildInfo>
51 root[
"git_commit_hash"] =
rhs.git_commit_hash;
52 root[
"git_branch"] =
rhs.git_branch;
53 root[
"build_type"] =
rhs.build_type;
54 root[
"remote"] =
rhs.remote;
55 root[
"precision"] =
rhs.precision;
56 root[
"compiler"] =
rhs.compiler;
57 root[
"compiler_version"] =
rhs.compiler_version;
58 root[
"compiler_flags"] =
rhs.compiler_flags;
59 root[
"compiler_definitions"] =
rhs.compiler_definitions;
61 root[
"mpi_library"] =
rhs.mpi_library;
62 root[
"mpi_version"] =
rhs.mpi_version;
65 root[
"openmp_library"] =
rhs.openmp_library;
66 root[
"openmp_version"] =
rhs.openmp_version;
73struct convert<
vf::basics::MetaData::Discretization>
80 root[
"totalNumberOfNodes"] =
rhs.totalNumberOfNodes;
81 root[
"numberOfLevels"] =
rhs.numberOfLevels;
84 for (
const auto& nodes :
rhs.numberOfNodesPerLevel)
85 node.push_back(nodes);
87 root[
"numberOfNodesPerLevel"] = node;
94struct convert<
vf::basics::MetaData::World>
99 root[
"length"] =
rhs.length;
100 root[
"velocity"] =
rhs.velocity;
106struct convert<
vf::basics::MetaData::Simulation>
111 root[
"startDateTime"] =
rhs.startDateTime;
112 root[
"runtimeSeconds"] =
rhs.runtimeSeconds;
113 root[
"nups"] =
rhs.nups;
114 root[
"numberOfTimeSteps"] =
rhs.numberOfTimeSteps;
116 root[
"collisionKernel"] =
rhs.collisionKernel;
117 root[
"reynoldsNumber"] =
rhs.reynoldsNumber;
118 root[
"lb_velocity"] =
rhs.lb_velocity;
119 root[
"lb_viscosity"] =
rhs.lb_viscosity;
120 root[
"quadricLimiter"] =
rhs.quadricLimiters;
127struct convert<
vf::basics::MetaData::GPU>
132 root[
"name"] =
rhs.name;
133 root[
"compute_capability"] =
rhs.compute_capability;
139struct convert<
vf::basics::MetaData>
144 root[
"name"] =
rhs.name;
145 root[
"number_of_processes"] =
rhs.numberOfProcesses;
146 root[
"number_of_threads"] =
rhs.numberOfThreads;
147 root[
"vf_hardware"] =
rhs.vf_hardware;
149 root[
"simulation"] =
rhs.simulation;
151 root[
"world"] =
rhs.world;
153 root[
"discretization"] =
rhs.discretization;
155 root[
"build_info"] =
rhs.buildInfo;
157 if (
rhs.vf_hardware ==
"GPU") {
159 for (
const auto& nodes :
rhs.gpus)
160 node.push_back(nodes);
178 std::ofstream
fout(filename);
std::shared_ptr< T > SPtr
Simple configuration file.
void writeYAML(const MetaData &meta_data, const std::string &filename)