4#ifndef HUMMINGBIRD_UTILS_ENUMS_H_
5#define HUMMINGBIRD_UTILS_ENUMS_H_
7#include <nlohmann/json.hpp>
22inline void to_json(nlohmann::json& j,
const BC& bc) {
33 throw std::invalid_argument(
"BC::NONE has no JSON representation");
37 const std::string value = j.get<std::string>();
38 if (value ==
"vacuum") {
40 }
else if (value ==
"reflective") {
43 throw std::invalid_argument(
"Unrecognized BC type: \"" + value +
"\"");
RunMode
Run modes available.
void from_json(const json &j, Material &material)
Get the Material information from the json input.
TransportForm
Available forms of the transport equation.
Boundary
Boundary locations.
void to_json(nlohmann::json &j, const BC &bc)
BC
Available boundary conditions.
AngularQuadSet
Angular quadrature set.
FEFormulation
Available finite element formulations.
NLOHMANN_JSON_SERIALIZE_ENUM(FEFormulation, {{FEFormulation::CG, "cg"}})
OutputFormat
Output forms available for export.
SourceType
Available volumetric source types.