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

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/equation_systems/icns/source_terms/CoriolisForcing.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
CoriolisForcing.H
Go to the documentation of this file.
1#ifndef CORIOLISFORCING_H
2#define CORIOLISFORCING_H
3
6#include "AMReX_REAL.H"
7
8using namespace amrex::literals;
9
10namespace kynema_sgf::pde::icns {
11
16class CoriolisForcing : public MomentumSource::Register<CoriolisForcing>
17{
18public:
19 static std::string identifier() { return "CoriolisForcing"; }
20
21 explicit CoriolisForcing(const CFDSim& /*sim*/);
22
23 ~CoriolisForcing() override;
24
25 void operator()(
26 int lev, FieldState fstate, amrex::MultiFab& src_term) const override;
27
28private:
30
32
34 amrex::Vector<amrex::Real> m_east{1.0_rt, 0.0_rt, 0.0_rt};
35 amrex::Vector<amrex::Real> m_north{0.0_rt, 1.0_rt, 0.0_rt};
36 amrex::Vector<amrex::Real> m_up{0.0_rt, 0.0_rt, 1.0_rt};
38
41 amrex::Real m_latitude{0.0_rt};
42
43 amrex::Real m_sinphi{0.0_rt};
44 amrex::Real m_cosphi{0.0_rt};
45
47 amrex::Real m_omega{7.3e-5_rt};
48
50 amrex::Real m_coriolis_factor{0.0_rt};
51
52 bool m_is_horizontal{false};
53};
54
55} // namespace kynema_sgf::pde::icns
56
57#endif /* CORIOLISFORCING_H */
Definition CFDSim.H:55
Definition Field.H:112
amrex::Real m_cosphi
Definition CoriolisForcing.H:44
amrex::Real m_coriolis_factor
2.0_rt * omega
Definition CoriolisForcing.H:50
amrex::Vector< amrex::Real > m_up
Definition CoriolisForcing.H:36
static std::string identifier()
Definition CoriolisForcing.H:19
amrex::Real m_sinphi
Definition CoriolisForcing.H:43
amrex::Real m_latitude
Latitude where the Coriolis forcing is computed (+ve northern hemisphere)
Definition CoriolisForcing.H:41
bool m_is_horizontal
Definition CoriolisForcing.H:52
const Field & m_velocity
Definition CoriolisForcing.H:29
amrex::Vector< amrex::Real > m_north
Definition CoriolisForcing.H:35
amrex::Vector< amrex::Real > m_east
Definition CoriolisForcing.H:34
void operator()(int lev, FieldState fstate, amrex::MultiFab &src_term) const override
Definition CoriolisForcing.cpp:59
amrex::Real m_omega
omega --> Earth’s rotation angular speed
Definition CoriolisForcing.H:47
CoriolisForcing(const CFDSim &)
Definition CoriolisForcing.cpp:27
FieldState
Definition FieldDescTypes.H:16
Definition ABLForcing.cpp:14