1 #ifndef ABLATELIBRARY_LOWMACHFLOW_H
2 #define ABLATELIBRARY_LOWMACHFLOW_H
7 #include "domain/domain.hpp"
8 #include "finiteElementSolver.hpp"
9 #include "finiteVolume/boundaryConditions/boundaryCondition.hpp"
10 #include "parameters/parameters.hpp"
12 namespace ablate::finiteElement {
15 const std::shared_ptr<parameters::Parameters> parameters;
18 LowMachFlowSolver(std::string solverId, std::shared_ptr<domain::Region> region, std::shared_ptr<parameters::Parameters> options = {}, std::shared_ptr<parameters::Parameters> parameters = {},
19 std::vector<std::shared_ptr<boundaryConditions::BoundaryCondition>> boundaryConditions = {}, std::vector<std::shared_ptr<mathFunctions::FieldFunction>> auxiliaryFields = {});
23 void Setup()
override;
24 void Initialize()
override;
30 inline static std::map<std::string, PetscReal> defaultParameters{{
"strouhal", 1.0},
41 {
"gravityDirection", 0}};
Definition: finiteElementSolver.hpp:14
Definition: lowMachFlowSolver.hpp:13
void Setup() override
Definition: lowMachFlowSolver.cpp:10
void CompleteFlowInitialization(DM, Vec) override
Definition: lowMachFlowSolver.cpp:123