ABLATE Source Documentation  0.12.33
sootTransportModel.hpp
1 #ifndef ABLATELIBRARY_SOOTTRANSPORTMODEL_HPP
2 #define ABLATELIBRARY_SOOTTRANSPORTMODEL_HPP
3 #include <Kokkos_Macros.hpp>
4 #ifndef KOKKOS_ENABLE_CUDA
5 
6 #include <eos/eos.hpp>
7 #include <memory>
8 #include "eos/transport/transportModel.hpp"
9 
10 namespace ablate::eos::tChemSoot {
11 
16  private:
18  const std::string fieldName;
22  const std::shared_ptr<TransportModel> transport;
23 
27  constexpr static PetscReal solidCarbonFactor = 1.0 / 100.0;
28 
32  constexpr static std::size_t offset = 0;
33 
40  static PetscErrorCode VectorizeSpeciesDiffusionFunction(const PetscReal conserved[], PetscReal* property, void* ctx);
41 
48  static PetscErrorCode AdjustSpeciesDiffusionFunction(const PetscReal conserved[], PetscReal* property, void* ctx);
49 
56  static PetscErrorCode VectorizeSpeciesDiffusionTemperatureFunction(const PetscReal conserved[], PetscReal T, PetscReal* property, void* ctx);
57 
64  static PetscErrorCode AdjustSpeciesDiffusionTemperatureFunction(const PetscReal conserved[], PetscReal T, PetscReal* property, void* ctx);
65 
66  public:
72  explicit SootTransportModel(const std::shared_ptr<TransportModel>& transport, std::string componentName);
73 
80  [[nodiscard]] ThermodynamicFunction GetTransportFunction(eos::transport::TransportProperty property, const std::vector<domain::Field>& fields) const override;
81 
88  [[nodiscard]] ThermodynamicTemperatureFunction GetTransportTemperatureFunction(eos::transport::TransportProperty property, const std::vector<domain::Field>& fields) const override;
89 };
90 } // namespace ablate::eos::tChemSoot
91 
92 #endif // ABLATELIBRARY_SOOTTRANSPORTMODEL_HPP
93 #endif
Definition: sootTransportModel.hpp:15
ThermodynamicTemperatureFunction GetTransportTemperatureFunction(eos::transport::TransportProperty property, const std::vector< domain::Field > &fields) const override
Definition: sootTransportModel.cpp:37
SootTransportModel(const std::shared_ptr< TransportModel > &transport, std::string componentName)
Definition: sootTransportModel.cpp:7
ThermodynamicFunction GetTransportFunction(eos::transport::TransportProperty property, const std::vector< domain::Field > &fields) const override
Definition: sootTransportModel.cpp:8
Definition: transportModel.hpp:10
Definition: densityFcn.hpp:11