1 #ifndef ABLATELIBRARY_COMPRESSIBLEFLOWFIELDS_HPP
2 #define ABLATELIBRARY_COMPRESSIBLEFLOWFIELDS_HPP
4 #include <domain/region.hpp>
8 #include "domain/fieldDescriptor.hpp"
10 #include "parameters/mapParameters.hpp"
12 namespace ablate::finiteVolume {
16 typedef enum { RHO, RHOE, RHOU, RHOV, RHOW } EulerComponents;
22 inline const static std::string
CONSERVED =
"density";
25 inline const static std::string
YI_FIELD = eos::EOS::YI;
33 inline const static std::string
EV_TAG =
"EV";
36 enum class ValidRange { POSITIVE, FULL, BOUND, MINUSONETOONE };
37 inline const static std::string PositiveRange =
"positive";
38 inline const static std::string FullRange =
"full";
39 inline const static std::string BoundRange =
"bound";
40 inline const static std::string MinusOneToOneRange =
"minusOneToOneRange";
43 inline const static std::string
EV_FIELD =
"EV";
48 inline const static std::string VELOCITY_FIELD =
"velocity";
49 inline const static std::string PRESSURE_FIELD =
"pressure";
52 const std::shared_ptr<eos::EOS> eos;
53 const std::shared_ptr<domain::Region> region;
54 const std::shared_ptr<parameters::Parameters> conservedFieldOptions;
64 explicit CompressibleFlowFields(std::shared_ptr<eos::EOS> eos, std::shared_ptr<domain::Region> region = {}, std::shared_ptr<parameters::Parameters> conservedFieldParameters = {});
70 std::vector<std::shared_ptr<domain::FieldDescription>>
GetFields()
override;
Definition: fieldDescriptor.hpp:15
Definition: compressibleFlowFields.hpp:14
static const std::string EV_FIELD
these are arbitrary ev fields
Definition: compressibleFlowFields.hpp:43
static const std::string PROGRESS_FIELD
progress fields are used by the eos/chemistry model to transport required non species
Definition: compressibleFlowFields.hpp:29
static const std::string CONSERVED
The conserved prefix used for fields that have a conserved and non conserved form.
Definition: compressibleFlowFields.hpp:22
static const std::string EV_TAG
the conserved tag used to tag all fields that should act like extra variables (transported with the f...
Definition: compressibleFlowFields.hpp:33
static const std::string EULER_FIELD
the primary euler field containing the EulerComponents
Definition: compressibleFlowFields.hpp:19
CompressibleFlowFields(std::shared_ptr< eos::EOS > eos, std::shared_ptr< domain::Region > region={}, std::shared_ptr< parameters::Parameters > conservedFieldParameters={})
Definition: compressibleFlowFields.cpp:7
static const std::string YI_FIELD
the conserved (density*yi) solution field for species mass fractions
Definition: compressibleFlowFields.hpp:25
static const std::string TEMPERATURE_FIELD
some common aux fields
Definition: compressibleFlowFields.hpp:47
ValidRange
store extra variable founds
Definition: compressibleFlowFields.hpp:36
std::vector< std::shared_ptr< domain::FieldDescription > > GetFields() override
Definition: compressibleFlowFields.cpp:11
static std::shared_ptr< MapParameters > Create(std::initializer_list< Parameter >)
Definition: mapParameters.cpp:28