/home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/temperature/source_terms/TemperatureFreeAtmosphereForcing.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/temperature/source_terms/TemperatureFreeAtmosphereForcing.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
TemperatureFreeAtmosphereForcing.H
Go to the documentation of this file.
1#ifndef TEMPERATUREFREEATMOSPHEREFORCING_H
2#define TEMPERATUREFREEATMOSPHEREFORCING_H
3
6#include "amr-wind/CFDSim.H"
7
9
11 : public TemperatureSource::Register<TemperatureFreeAtmosphereForcing>
12{
13public:
14 static std::string identifier()
15 {
16 return "TemperatureFreeAtmosphereForcing";
17 }
18
19 explicit TemperatureFreeAtmosphereForcing(const CFDSim& sim);
20
22
23 void operator()(
24 const int lev,
25 const amrex::MFIter& mfi,
26 const amrex::Box& bx,
27 const FieldState /*fstate*/,
28 const amrex::Array4<amrex::Real>& src_term) const override;
29
30private:
31 const amrex::AmrCore& m_mesh;
33 amrex::Vector<amrex::Real> m_theta_heights;
34 amrex::Vector<amrex::Real> m_theta_values;
35 amrex::Gpu::DeviceVector<amrex::Real> m_theta_heights_d;
36 amrex::Gpu::DeviceVector<amrex::Real> m_theta_values_d;
37 amrex::Real m_meso_start{600};
38 amrex::Real m_meso_timescale{30};
40 amrex::Real m_sponge_strength{1.0};
41 amrex::Real m_sponge_density{1.0};
42 amrex::Real m_sponge_distance_west{-1000};
43 amrex::Real m_sponge_distance_east{1000};
44 amrex::Real m_sponge_distance_south{-1000};
45 amrex::Real m_sponge_distance_north{1000};
50 const CFDSim& m_sim;
51};
52
53} // namespace amr_wind::pde::temperature
54#endif
Definition CFDSim.H:54
Definition Field.H:116
Definition TemperatureFreeAtmosphereForcing.H:12
amrex::Real m_sponge_strength
Definition TemperatureFreeAtmosphereForcing.H:40
const amrex::AmrCore & m_mesh
Definition TemperatureFreeAtmosphereForcing.H:31
amrex::Real m_meso_start
Definition TemperatureFreeAtmosphereForcing.H:37
int m_sponge_south
Definition TemperatureFreeAtmosphereForcing.H:48
static std::string identifier()
Definition TemperatureFreeAtmosphereForcing.H:14
int m_sponge_east
Definition TemperatureFreeAtmosphereForcing.H:47
amrex::Real m_meso_timescale
Definition TemperatureFreeAtmosphereForcing.H:38
amrex::Real m_sponge_distance_west
Definition TemperatureFreeAtmosphereForcing.H:42
amrex::Real m_sponge_distance_east
Definition TemperatureFreeAtmosphereForcing.H:43
int m_sponge_north
Definition TemperatureFreeAtmosphereForcing.H:49
amrex::Vector< amrex::Real > m_theta_values
Definition TemperatureFreeAtmosphereForcing.H:34
const Field & m_temperature
Definition TemperatureFreeAtmosphereForcing.H:32
amrex::Gpu::DeviceVector< amrex::Real > m_theta_heights_d
Definition TemperatureFreeAtmosphereForcing.H:35
amrex::Real m_sponge_distance_north
Definition TemperatureFreeAtmosphereForcing.H:45
amrex::Vector< amrex::Real > m_theta_heights
Definition TemperatureFreeAtmosphereForcing.H:33
TemperatureFreeAtmosphereForcing(const CFDSim &sim)
Definition TemperatureFreeAtmosphereForcing.cpp:11
amrex::Real m_sponge_distance_south
Definition TemperatureFreeAtmosphereForcing.H:44
amrex::Real m_sponge_density
Definition TemperatureFreeAtmosphereForcing.H:41
amrex::Gpu::DeviceVector< amrex::Real > m_theta_values_d
Definition TemperatureFreeAtmosphereForcing.H:36
int m_sponge_west
Definition TemperatureFreeAtmosphereForcing.H:46
bool m_horizontal_sponge
Definition TemperatureFreeAtmosphereForcing.H:39
const CFDSim & m_sim
Definition TemperatureFreeAtmosphereForcing.H:50
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 TemperatureFreeAtmosphereForcing.cpp:49
FieldState
Definition FieldDescTypes.H:14
Definition ABLMesoForcingTemp.cpp:14