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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/VelocityFreeAtmosphereForcing.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
VelocityFreeAtmosphereForcing.H
Go to the documentation of this file.
1#ifndef VELOCITYFREEATMOSPHEREFORCING_H
2#define VELOCITYFREEATMOSPHEREFORCING_H
3
6#include "amr-wind/CFDSim.H"
7
8namespace amr_wind::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 const int lev,
22 const amrex::MFIter& mfi,
23 const amrex::Box& bx,
24 const FieldState /*fstate*/,
25 const amrex::Array4<amrex::Real>& src_term) const override;
26
27private:
29 const amrex::AmrCore& m_mesh;
30 std::string m_1d_rans_filename;
32 amrex::Vector<amrex::Real> m_wind_heights;
33 amrex::Vector<amrex::Real> m_u_values;
34 amrex::Vector<amrex::Real> m_v_values;
35 amrex::Vector<amrex::Real> m_w_values;
36 amrex::Gpu::DeviceVector<amrex::Real> m_wind_heights_d;
37 amrex::Gpu::DeviceVector<amrex::Real> m_u_values_d;
38 amrex::Gpu::DeviceVector<amrex::Real> m_v_values_d;
39 amrex::Gpu::DeviceVector<amrex::Real> m_w_values_d;
40 amrex::Real m_meso_start{600};
41 amrex::Real m_meso_timescale{30};
42 const CFDSim& m_sim;
43};
44
45} // namespace amr_wind::pde::icns
46#endif
Definition CFDSim.H:54
Definition Field.H:116
Definition SimTime.H:30
Definition VelocityFreeAtmosphereForcing.H:12
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 VelocityFreeAtmosphereForcing.cpp:58
const amrex::AmrCore & m_mesh
Definition VelocityFreeAtmosphereForcing.H:29
amrex::Gpu::DeviceVector< amrex::Real > m_w_values_d
Definition VelocityFreeAtmosphereForcing.H:39
amrex::Vector< amrex::Real > m_v_values
Definition VelocityFreeAtmosphereForcing.H:34
amrex::Vector< amrex::Real > m_u_values
Definition VelocityFreeAtmosphereForcing.H:33
amrex::Real m_meso_timescale
Definition VelocityFreeAtmosphereForcing.H:41
const SimTime & m_time
Definition VelocityFreeAtmosphereForcing.H:28
amrex::Real m_meso_start
Definition VelocityFreeAtmosphereForcing.H:40
amrex::Gpu::DeviceVector< amrex::Real > m_v_values_d
Definition VelocityFreeAtmosphereForcing.H:38
amrex::Gpu::DeviceVector< amrex::Real > m_u_values_d
Definition VelocityFreeAtmosphereForcing.H:37
amrex::Gpu::DeviceVector< amrex::Real > m_wind_heights_d
Definition VelocityFreeAtmosphereForcing.H:36
static std::string identifier()
Definition VelocityFreeAtmosphereForcing.H:14
VelocityFreeAtmosphereForcing(const CFDSim &sim)
Definition VelocityFreeAtmosphereForcing.cpp:11
amrex::Vector< amrex::Real > m_wind_heights
Definition VelocityFreeAtmosphereForcing.H:32
std::string m_1d_rans_filename
Definition VelocityFreeAtmosphereForcing.H:30
const CFDSim & m_sim
Definition VelocityFreeAtmosphereForcing.H:42
amrex::Vector< amrex::Real > m_w_values
Definition VelocityFreeAtmosphereForcing.H:35
const Field & m_velocity
Definition VelocityFreeAtmosphereForcing.H:31
FieldState
Definition FieldDescTypes.H:14
Definition ABLForcing.cpp:11