/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 int lev, FieldState fstate, amrex::MultiFab& src_term) const override;
21
22private:
24 const amrex::AmrCore& m_mesh;
25 std::string m_1d_metmast;
27 amrex::Vector<amrex::Real> m_metmast_x;
28 amrex::Vector<amrex::Real> m_metmast_y;
29 amrex::Vector<amrex::Real> m_metmast_z;
30 amrex::Vector<amrex::Real> m_u_values;
31 amrex::Vector<amrex::Real> m_v_values;
32 amrex::Vector<amrex::Real> m_w_values;
33 amrex::Gpu::DeviceVector<amrex::Real> m_metmast_x_d;
34 amrex::Gpu::DeviceVector<amrex::Real> m_metmast_y_d;
35 amrex::Gpu::DeviceVector<amrex::Real> m_metmast_z_d;
36 amrex::Gpu::DeviceVector<amrex::Real> m_u_values_d;
37 amrex::Gpu::DeviceVector<amrex::Real> m_v_values_d;
38 amrex::Gpu::DeviceVector<amrex::Real> m_w_values_d;
39 amrex::Real m_meso_timescale{30};
40 amrex::Real m_long_radius{500};
41 amrex::Real m_vertical_radius{25};
42 amrex::Real m_damping_radius{1400};
43 const CFDSim& m_sim;
44};
45
46} // namespace kynema_sgf::pde::icns
47#endif
Definition CFDSim.H:55
Definition Field.H:112
Definition SimTime.H:33
amrex::Vector< amrex::Real > m_v_values
Definition MetMastForcing.H:31
amrex::Gpu::DeviceVector< amrex::Real > m_v_values_d
Definition MetMastForcing.H:37
amrex::Real m_damping_radius
Definition MetMastForcing.H:42
amrex::Vector< amrex::Real > m_w_values
Definition MetMastForcing.H:32
amrex::Vector< amrex::Real > m_u_values
Definition MetMastForcing.H:30
amrex::Real m_long_radius
Definition MetMastForcing.H:40
amrex::Real m_vertical_radius
Definition MetMastForcing.H:41
const CFDSim & m_sim
Definition MetMastForcing.H:43
amrex::Gpu::DeviceVector< amrex::Real > m_metmast_x_d
Definition MetMastForcing.H:33
MetMastForcing(const CFDSim &sim)
Definition MetMastForcing.cpp:14
const Field & m_velocity
Definition MetMastForcing.H:26
static std::string identifier()
Definition MetMastForcing.H:13
amrex::Vector< amrex::Real > m_metmast_x
Definition MetMastForcing.H:27
const SimTime & m_time
Definition MetMastForcing.H:23
std::string m_1d_metmast
Definition MetMastForcing.H:25
void operator()(int lev, FieldState fstate, amrex::MultiFab &src_term) const override
Definition MetMastForcing.cpp:74
amrex::Gpu::DeviceVector< amrex::Real > m_metmast_z_d
Definition MetMastForcing.H:35
amrex::Gpu::DeviceVector< amrex::Real > m_u_values_d
Definition MetMastForcing.H:36
amrex::Vector< amrex::Real > m_metmast_y
Definition MetMastForcing.H:28
amrex::Gpu::DeviceVector< amrex::Real > m_w_values_d
Definition MetMastForcing.H:38
amrex::Vector< amrex::Real > m_metmast_z
Definition MetMastForcing.H:29
const amrex::AmrCore & m_mesh
Definition MetMastForcing.H:24
amrex::Gpu::DeviceVector< amrex::Real > m_metmast_y_d
Definition MetMastForcing.H:34
amrex::Real m_meso_timescale
Definition MetMastForcing.H:39
FieldState
Definition FieldDescTypes.H:16
Definition ABLForcing.cpp:14