/home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/HurricaneForcing.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/HurricaneForcing.H Source File
AMR-Wind 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 amr_wind::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 const int lev,
35 const amrex::MFIter& mfi,
36 const amrex::Box& bx,
37 const FieldState fstate,
38 const amrex::Array4<amrex::Real>& src_term) const override;
39
40 void mean_velocity_init(const VelPlaneAveraging& /*vavg*/);
41
42 void mean_velocity_update(const VelPlaneAveraging& /*vavg*/);
43
44private:
46 const amrex::AmrCore& m_mesh;
47
48 amrex::Gpu::DeviceVector<amrex::Real> m_vel_ht;
49 amrex::Gpu::DeviceVector<amrex::Real> m_vel_vals;
50
52 int m_axis{2};
53
55 amrex::Real m_V{40.0_rt}; // V=40 m/s is the default value
56
58 amrex::Real m_dVdR{-0.0008_rt};
59
61 amrex::Real m_Vzh{18000.};
62
64 amrex::Real m_R{40000.0_rt}; // 40km is taken as the default value
65
67 amrex::Real m_coriolis_factor{0.0005_rt};
68};
69
70} // namespace amr_wind::pde::icns
71
72#endif /* HURRICANE_FORCING_H */
Definition CFDSim.H:54
Definition FieldPlaneAveraging.H:140
amrex::Real m_dVdR
Gradient wind radial decay.
Definition HurricaneForcing.H:58
static std::string identifier()
Definition HurricaneForcing.H:27
amrex::Gpu::DeviceVector< amrex::Real > m_vel_vals
Definition HurricaneForcing.H:49
amrex::Real m_R
Eye-wall radial distance.
Definition HurricaneForcing.H:64
amrex::Gpu::DeviceVector< amrex::Real > m_vel_ht
Definition HurricaneForcing.H:48
HurricaneForcing(const CFDSim &sim)
Definition HurricaneForcing.cpp:17
void mean_velocity_init(const VelPlaneAveraging &)
Definition HurricaneForcing.cpp:97
amrex::Real m_Vzh
Reference gradient wind zero height in metres.
Definition HurricaneForcing.H:61
const amrex::AmrCore & m_mesh
Mesh.
Definition HurricaneForcing.H:46
amrex::Real m_coriolis_factor
Coriolis factor.
Definition HurricaneForcing.H:67
void operator()(const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const FieldState fstate, const amrex::Array4< amrex::Real > &src_term) const override
Definition HurricaneForcing.cpp:50
amrex::Real m_V
Gradient velocity.
Definition HurricaneForcing.H:55
void mean_velocity_update(const VelPlaneAveraging &)
Definition HurricaneForcing.cpp:119
int m_axis
Axis over which averages are computed.
Definition HurricaneForcing.H:52
FieldState
Definition FieldDescTypes.H:14
Definition ABLForcing.cpp:14