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

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/equation_systems/icns/source_terms/VelocityFreeAtmosphereForcing.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
VelocityFreeAtmosphereForcing.H
Go to the documentation of this file.
1#ifndef VELOCITYFREEATMOSPHEREFORCING_H
2#define VELOCITYFREEATMOSPHEREFORCING_H
3
5#include "src/core/SimTime.H"
6#include "src/CFDSim.H"
7
8namespace kynema_sgf::pde::icns {
9
11 : public MomentumSource::Register<VelocityFreeAtmosphereForcing>
12{
13public:
14 static std::string identifier() { return "VelocityFreeAtmosphereForcing"; }
15
16 explicit VelocityFreeAtmosphereForcing(const CFDSim& sim);
17
19
20 void operator()(
21 int lev, FieldState fstate, amrex::MultiFab& src_term) const override;
22
23private:
25 const amrex::AmrCore& m_mesh;
26 std::string m_1d_rans_filename;
28 amrex::Vector<amrex::Real> m_wind_heights;
29 amrex::Vector<amrex::Real> m_u_values;
30 amrex::Vector<amrex::Real> m_v_values;
31 amrex::Vector<amrex::Real> m_w_values;
32 amrex::Gpu::DeviceVector<amrex::Real> m_wind_heights_d;
33 amrex::Gpu::DeviceVector<amrex::Real> m_u_values_d;
34 amrex::Gpu::DeviceVector<amrex::Real> m_v_values_d;
35 amrex::Gpu::DeviceVector<amrex::Real> m_w_values_d;
36 amrex::Real m_meso_start{1.0e30_rt};
37 amrex::Real m_meso_timescale{30.0_rt};
38 const CFDSim& m_sim;
39};
40
41} // namespace kynema_sgf::pde::icns
42#endif
Definition CFDSim.H:55
Definition Field.H:112
Definition SimTime.H:33
std::string m_1d_rans_filename
Definition VelocityFreeAtmosphereForcing.H:26
const Field & m_velocity
Definition VelocityFreeAtmosphereForcing.H:27
amrex::Gpu::DeviceVector< amrex::Real > m_v_values_d
Definition VelocityFreeAtmosphereForcing.H:34
amrex::Vector< amrex::Real > m_v_values
Definition VelocityFreeAtmosphereForcing.H:30
VelocityFreeAtmosphereForcing(const CFDSim &sim)
Definition VelocityFreeAtmosphereForcing.cpp:14
amrex::Real m_meso_start
Definition VelocityFreeAtmosphereForcing.H:36
amrex::Vector< amrex::Real > m_wind_heights
Definition VelocityFreeAtmosphereForcing.H:28
amrex::Gpu::DeviceVector< amrex::Real > m_wind_heights_d
Definition VelocityFreeAtmosphereForcing.H:32
amrex::Real m_meso_timescale
Definition VelocityFreeAtmosphereForcing.H:37
amrex::Vector< amrex::Real > m_u_values
Definition VelocityFreeAtmosphereForcing.H:29
amrex::Vector< amrex::Real > m_w_values
Definition VelocityFreeAtmosphereForcing.H:31
const amrex::AmrCore & m_mesh
Definition VelocityFreeAtmosphereForcing.H:25
static std::string identifier()
Definition VelocityFreeAtmosphereForcing.H:14
amrex::Gpu::DeviceVector< amrex::Real > m_w_values_d
Definition VelocityFreeAtmosphereForcing.H:35
const CFDSim & m_sim
Definition VelocityFreeAtmosphereForcing.H:38
void operator()(int lev, FieldState fstate, amrex::MultiFab &src_term) const override
Definition VelocityFreeAtmosphereForcing.cpp:62
const SimTime & m_time
Definition VelocityFreeAtmosphereForcing.H:24
amrex::Gpu::DeviceVector< amrex::Real > m_u_values_d
Definition VelocityFreeAtmosphereForcing.H:33
FieldState
Definition FieldDescTypes.H:16
Definition ABLForcing.cpp:14