13#include <symengine/lambda_double.h>
14#include <yaml-cpp/yaml.h>
66PetscErrorCode
readYAMLFile(
const std::string &filePath, YAML::Node &node);
83PetscErrorCode
parseMesh(
const YAML::Node &meshNode, PetscInt &dim,
101PetscErrorCode
parseOneAxis(
const YAML::Node &axis, PetscInt &dir,
102 PetscReal &bg, PetscReal &ed, PetscInt &nTotal,
118PetscErrorCode
parseSubDomains(
const YAML::Node &subs,
const PetscReal bg,
119 PetscInt &nTotal, PetscReal &ed,
134 PetscInt &n, PetscReal &ed,
163PetscErrorCode
parseICs(
const YAML::Node &node, std::vector<SymEngine::LambdaRealDoubleVisitor> &ics);
PetscErrorCode parseOneAxis(const YAML::Node &axis, PetscInt &dir, PetscReal &bg, PetscReal &ed, PetscInt &nTotal, type::RealVec1D &dL)
Parse the info of only one direction from YAML node.
PetscErrorCode getSettings(YAML::Node &node)
Get configuration settings.
PetscErrorCode parseSubDomains(const YAML::Node &subs, const PetscReal bg, PetscInt &nTotal, PetscReal &ed, type::RealVec1D &dL)
Parse all sub-domains in a direction.
PetscErrorCode parseMesh(const YAML::Node &meshNode, PetscInt &dim, type::RealVec1D &bg, type::RealVec1D &ed, type::IntVec1D &nTotal, type::RealVec2D &dL)
Parse a YAML node of cartesianMesh.
PetscErrorCode parseBCs(const YAML::Node &node, type::IntVec2D &bcTypes, type::RealVec2D &bcValues)
Parse boundary conditions from a YAML node.
PetscErrorCode readYAMLFile(const std::string &filePath, YAML::Node &node)
Load the content of a YAML file into a YAML node.
PetscErrorCode parseOneSubDomain(const YAML::Node &sub, const PetscReal bg, PetscInt &n, PetscReal &ed, type::RealVec1D &dL)
Parse only one sub-domain.
PetscErrorCode parseICs(const YAML::Node &node, std::vector< SymEngine::LambdaRealDoubleVisitor > &ics)
Parse initial conditions from a YAML node.
std::vector< IntVec1D > IntVec2D
2D std::vector holding PetscInt.
std::vector< RealVec1D > RealVec2D
2D std::vector holding PetscReal.
std::vector< PetscInt > IntVec1D
1D std::vector holding PetscInt.
std::vector< PetscReal > RealVec1D
1D std::vector holding PetscReal.
A toolbox for building flow solvers.
Definition of user-defined types for convenience.