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

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/equation_systems/icns/source_terms/HurricaneForcing.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
HurricaneForcing.H
Go to the documentation of this file.
1#ifndef HURRICANE_FORCING_H
2#define HURRICANE_FORCING_H
3
7#include "AMReX_REAL.H"
8
9using namespace amrex::literals;
10
11namespace kynema_sgf::pde::icns {
12
23
24class HurricaneForcing : public MomentumSource::Register<HurricaneForcing>
25{
26public:
27 static std::string identifier() { return "HurricaneForcing"; }
28
29 explicit HurricaneForcing(const CFDSim& sim);
30
32
33 void operator()(
34 int lev, FieldState fstate, amrex::MultiFab& src_term) const override;
35
36 void mean_velocity_init(const VelPlaneAveraging& /*vavg*/);
37
38 void mean_velocity_update(const VelPlaneAveraging& /*vavg*/);
39
40private:
42 const amrex::AmrCore& m_mesh;
43
44 amrex::Gpu::DeviceVector<amrex::Real> m_vel_ht;
45 amrex::Gpu::DeviceVector<amrex::Real> m_vel_vals;
46
48 int m_axis{2};
49
51 amrex::Real m_V{40.0_rt}; // V=40 m/s is the default value
52
54 amrex::Real m_dVdR{-0.0008_rt};
55
57 amrex::Real m_Vzh{18000.};
58
60 amrex::Real m_R{40000.0_rt}; // 40km is taken as the default value
61
63 amrex::Real m_coriolis_factor{0.0005_rt};
64};
65
66} // namespace kynema_sgf::pde::icns
67
68#endif /* HURRICANE_FORCING_H */
Definition CFDSim.H:55
Definition FieldPlaneAveraging.H:150
static std::string identifier()
Definition HurricaneForcing.H:27
void mean_velocity_update(const VelPlaneAveraging &)
Definition HurricaneForcing.cpp:119
amrex::Real m_coriolis_factor
Coriolis factor.
Definition HurricaneForcing.H:63
int m_axis
Axis over which averages are computed.
Definition HurricaneForcing.H:48
HurricaneForcing(const CFDSim &sim)
Definition HurricaneForcing.cpp:17
amrex::Real m_R
Eye-wall radial distance.
Definition HurricaneForcing.H:60
amrex::Gpu::DeviceVector< amrex::Real > m_vel_vals
Definition HurricaneForcing.H:45
void mean_velocity_init(const VelPlaneAveraging &)
Definition HurricaneForcing.cpp:97
amrex::Gpu::DeviceVector< amrex::Real > m_vel_ht
Definition HurricaneForcing.H:44
const amrex::AmrCore & m_mesh
Mesh.
Definition HurricaneForcing.H:42
amrex::Real m_Vzh
Reference gradient wind zero height in metres.
Definition HurricaneForcing.H:57
amrex::Real m_dVdR
Gradient wind radial decay.
Definition HurricaneForcing.H:54
void operator()(int lev, FieldState fstate, amrex::MultiFab &src_term) const override
Definition HurricaneForcing.cpp:50
amrex::Real m_V
Gradient velocity.
Definition HurricaneForcing.H:51
FieldState
Definition FieldDescTypes.H:16
Definition ABLForcing.cpp:14