/home/runner/work/kynema-sgf/kynema-sgf/src/equation_systems/icns/source_terms/GravityForcing.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/equation_systems/icns/source_terms/GravityForcing.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
GravityForcing.H
Go to the documentation of this file.
1#ifndef GRAVITYFORCING_H
2#define GRAVITYFORCING_H
3
6#include "AMReX_REAL.H"
7
8using namespace amrex::literals;
9
10namespace kynema_sgf::pde::icns {
11
15class GravityForcing : public MomentumSource::Register<GravityForcing>
16{
17public:
18 static std::string identifier() { return "GravityForcing"; }
19
20 explicit GravityForcing(const CFDSim& sim);
21
22 ~GravityForcing() override;
23
24 void operator()(
25 int lev, FieldState fstate, amrex::MultiFab& src_term) const override;
26
27private:
28 amrex::Vector<amrex::Real> m_gravity{0.0_rt, 0.0_rt, -9.81_rt};
29
30 Field* m_rho{nullptr};
31 Field* m_rho0{nullptr};
32
33 // Input reference to perturbational form
35 // Presence of rho0 for perturbational form
37 // Constant reference density
38 amrex::Real m_rho0_const{1.0_rt};
39};
40
41} // namespace kynema_sgf::pde::icns
42
43#endif /* GravityForcing_H */
Definition CFDSim.H:55
Definition Field.H:112
Field * m_rho0
Definition GravityForcing.H:31
void operator()(int lev, FieldState fstate, amrex::MultiFab &src_term) const override
Definition GravityForcing.cpp:44
amrex::Real m_rho0_const
Definition GravityForcing.H:38
amrex::Vector< amrex::Real > m_gravity
Definition GravityForcing.H:28
Field * m_rho
Definition GravityForcing.H:30
GravityForcing(const CFDSim &sim)
Definition GravityForcing.cpp:18
static std::string identifier()
Definition GravityForcing.H:18
bool m_use_perturb_pressure
Definition GravityForcing.H:34
bool m_use_reference_density
Definition GravityForcing.H:36
FieldState
Definition FieldDescTypes.H:16
Definition ABLForcing.cpp:14