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

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/equation_systems/icns/source_terms/MetMastForcing.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
MetMastForcing.H
Go to the documentation of this file.
1#ifndef METMASTFORCING_H
2#define METMASTFORCING_H
3
5#include "src/core/SimTime.H"
6#include "src/CFDSim.H"
7
8namespace kynema_sgf::pde::icns {
9
10class MetMastForcing : public MomentumSource::Register<MetMastForcing>
11{
12public:
13 static std::string identifier() { return "MetMastForcing"; }
14
15 explicit MetMastForcing(const CFDSim& sim);
16
17 ~MetMastForcing() override;
18
19 void operator()(
20 const int lev,
21 const amrex::MFIter& mfi,
22 const amrex::Box& bx,
23 const FieldState /*fstate*/,
24 const amrex::Array4<amrex::Real>& src_term) const override;
25
26private:
28 const amrex::AmrCore& m_mesh;
29 std::string m_1d_metmast;
31 amrex::Vector<amrex::Real> m_metmast_x;
32 amrex::Vector<amrex::Real> m_metmast_y;
33 amrex::Vector<amrex::Real> m_metmast_z;
34 amrex::Vector<amrex::Real> m_u_values;
35 amrex::Vector<amrex::Real> m_v_values;
36 amrex::Vector<amrex::Real> m_w_values;
37 amrex::Gpu::DeviceVector<amrex::Real> m_metmast_x_d;
38 amrex::Gpu::DeviceVector<amrex::Real> m_metmast_y_d;
39 amrex::Gpu::DeviceVector<amrex::Real> m_metmast_z_d;
40 amrex::Gpu::DeviceVector<amrex::Real> m_u_values_d;
41 amrex::Gpu::DeviceVector<amrex::Real> m_v_values_d;
42 amrex::Gpu::DeviceVector<amrex::Real> m_w_values_d;
43 amrex::Real m_meso_timescale{30};
44 amrex::Real m_long_radius{500};
45 amrex::Real m_vertical_radius{25};
46 amrex::Real m_damping_radius{1400};
47 const CFDSim& m_sim;
48};
49
50} // namespace kynema_sgf::pde::icns
51#endif
Definition CFDSim.H:55
Definition Field.H:112
Definition SimTime.H:33
amrex::Vector< amrex::Real > m_v_values
Definition MetMastForcing.H:35
amrex::Gpu::DeviceVector< amrex::Real > m_v_values_d
Definition MetMastForcing.H:41
amrex::Real m_damping_radius
Definition MetMastForcing.H:46
amrex::Vector< amrex::Real > m_w_values
Definition MetMastForcing.H:36
amrex::Vector< amrex::Real > m_u_values
Definition MetMastForcing.H:34
amrex::Real m_long_radius
Definition MetMastForcing.H:44
amrex::Real m_vertical_radius
Definition MetMastForcing.H:45
const CFDSim & m_sim
Definition MetMastForcing.H:47
amrex::Gpu::DeviceVector< amrex::Real > m_metmast_x_d
Definition MetMastForcing.H:37
MetMastForcing(const CFDSim &sim)
Definition MetMastForcing.cpp:14
const Field & m_velocity
Definition MetMastForcing.H:30
static std::string identifier()
Definition MetMastForcing.H:13
amrex::Vector< amrex::Real > m_metmast_x
Definition MetMastForcing.H:31
const SimTime & m_time
Definition MetMastForcing.H:27
std::string m_1d_metmast
Definition MetMastForcing.H:29
void operator()(const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const FieldState, const amrex::Array4< amrex::Real > &src_term) const override
Definition MetMastForcing.cpp:74
amrex::Gpu::DeviceVector< amrex::Real > m_metmast_z_d
Definition MetMastForcing.H:39
amrex::Gpu::DeviceVector< amrex::Real > m_u_values_d
Definition MetMastForcing.H:40
amrex::Vector< amrex::Real > m_metmast_y
Definition MetMastForcing.H:32
amrex::Gpu::DeviceVector< amrex::Real > m_w_values_d
Definition MetMastForcing.H:42
amrex::Vector< amrex::Real > m_metmast_z
Definition MetMastForcing.H:33
const amrex::AmrCore & m_mesh
Definition MetMastForcing.H:28
amrex::Gpu::DeviceVector< amrex::Real > m_metmast_y_d
Definition MetMastForcing.H:38
amrex::Real m_meso_timescale
Definition MetMastForcing.H:43
FieldState
Definition FieldDescTypes.H:16
Definition ABLForcing.cpp:14