ABLATE Source Documentation  0.12.33
inertial.hpp
1 #ifndef ABLATELIBRARY_INERTIAL_HPP
2 #define ABLATELIBRARY_INERTIAL_HPP
3 
4 #include <array>
5 #include "process.hpp"
6 
7 namespace ablate::particles::processes {
8 
9 class Inertial : public Process {
10  private:
12  const PetscReal fluidDensity;
13 
15  const PetscReal fluidViscosity;
16 
18  const std::array<PetscReal, 3> gravityField;
19 
21  const std::string eulerianVelocityField;
22 
23  public:
29  explicit Inertial(const std::shared_ptr<parameters::Parameters>& parameters, const std::string& eulerianVelocityField = {});
30 
38  void ComputeRHS(PetscReal time, accessors::SwarmAccessor& swarmAccessor, accessors::RhsAccessor& rhsAccessor, accessors::EulerianAccessor& eulerianAccessor) override;
39 };
40 
41 } // namespace ablate::particles::processes
42 #endif // ABLATELIBRARY_INERTIAL_HPP
Definition: eulerianAccessor.hpp:16
Definition: rhsAccessor.hpp:14
Definition: swarmAccessor.hpp:14
Definition: inertial.hpp:9
void ComputeRHS(PetscReal time, accessors::SwarmAccessor &swarmAccessor, accessors::RhsAccessor &rhsAccessor, accessors::EulerianAccessor &eulerianAccessor) override
Definition: inertial.cpp:10
Inertial(const std::shared_ptr< parameters::Parameters > &parameters, const std::string &eulerianVelocityField={})
Definition: inertial.cpp:3
Definition: process.hpp:10