ABLATE Source Documentation  0.12.33
gravity.hpp
1 #ifndef ABLATELIBRARY_GRAVITY_HPP
2 #define ABLATELIBRARY_GRAVITY_HPP
3 
4 #include "flowProcess.hpp"
5 
6 namespace ablate::finiteVolume::processes {
7 
8 class Gravity : public FlowProcess {
9  private:
10  const std::vector<PetscReal> gravityVector;
11 
16  static PetscErrorCode ComputeGravitySource(PetscInt dim, PetscReal time, const PetscFVCellGeom* cg, const PetscInt uOff[], const PetscScalar u[], const PetscInt aOff[], const PetscScalar a[],
17  PetscScalar f[], void* ctx);
18 
19  public:
20  explicit Gravity(std::vector<double> gravityVector);
22 };
23 
24 } // namespace ablate::finiteVolume::processes
25 #endif // ABLATELIBRARY_GRAVITY_HPP
Definition: finiteVolumeSolver.hpp:28
void Setup(ablate::finiteVolume::FiniteVolumeSolver &fv) override
Definition: gravity.cpp:5