ABLATE Source Documentation  0.12.33
isothermalWall.hpp
1 #ifndef ABLATELIBRARY_ISOTHERMALWALL_HPP
2 #define ABLATELIBRARY_ISOTHERMALWALL_HPP
3 
4 #include "lodiBoundary.hpp"
5 namespace ablate::boundarySolver::lodi {
6 
7 class IsothermalWall : public LODIBoundary {
8  public:
9  explicit IsothermalWall(std::shared_ptr<eos::EOS> eos, std::shared_ptr<finiteVolume::processes::PressureGradientScaling> pressureGradientScaling = {});
10 
11  void Setup(ablate::boundarySolver::BoundarySolver& bSolver) override;
12 
13  static PetscErrorCode IsothermalWallFunction(PetscInt dim, const boundarySolver::BoundarySolver::BoundaryFVFaceGeom* fg, const PetscFVCellGeom* boundaryCell, const PetscInt uOff[],
14  const PetscScalar* boundaryValues, const PetscScalar* stencilValues[], const PetscInt aOff[], const PetscScalar* auxValues,
15  const PetscScalar* stencilAuxValues[], PetscInt stencilSize, const PetscInt stencil[], const PetscScalar stencilWeights[], const PetscInt sOff[],
16  PetscScalar source[], void* ctx);
17 
18  private:
19  static PetscErrorCode MirrorSpecies(PetscInt dim, const BoundarySolver::BoundaryFVFaceGeom* fg, const PetscFVCellGeom* boundaryCell, const PetscInt uOff[], PetscScalar* boundaryValues,
20  const PetscScalar* stencilValues, const PetscInt aOff[], PetscScalar* auxValues, const PetscScalar* stencilAuxValues, void* ctx);
21 };
22 
23 } // namespace ablate::boundarySolver::lodi
24 #endif // ABLATELIBRARY_ISOTHERMALWALL_HPP
Definition: boundarySolver.hpp:13
Definition: isothermalWall.hpp:7
void Setup(ablate::boundarySolver::BoundarySolver &bSolver) override
Definition: isothermalWall.cpp:10
Definition: lodiBoundary.hpp:12