/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
Loading...
Searching...
No Matches
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#include "AMReX_REAL.H"
8
9using namespace amrex::literals;
10
12
14 : public TemperatureSource::Register<TemperatureFreeAtmosphereForcing>
15{
16public:
17 static std::string identifier()
18 {
19 return "TemperatureFreeAtmosphereForcing";
20 }
21
22 explicit TemperatureFreeAtmosphereForcing(const CFDSim& sim);
23
25
26 void operator()(
27 const int lev,
28 const amrex::MFIter& mfi,
29 const amrex::Box& bx,
30 const FieldState /*fstate*/,
31 const amrex::Array4<amrex::Real>& src_term) const override;
32
33private:
34 const amrex::AmrCore& m_mesh;
36 amrex::Vector<amrex::Real> m_theta_heights;
37 amrex::Vector<amrex::Real> m_theta_values;
38 amrex::Gpu::DeviceVector<amrex::Real> m_theta_heights_d;
39 amrex::Gpu::DeviceVector<amrex::Real> m_theta_values_d;
40 amrex::Real m_meso_start{600.0_rt};
41 amrex::Real m_meso_timescale{30.0_rt};
43 amrex::Real m_sponge_strength{1.0_rt};
44 amrex::Real m_sponge_density{1.0_rt};
45 amrex::Real m_sponge_distance_west{-1000.0_rt};
46 amrex::Real m_sponge_distance_east{1000.0_rt};
47 amrex::Real m_sponge_distance_south{-1000.0_rt};
48 amrex::Real m_sponge_distance_north{1000.0_rt};
53 const CFDSim& m_sim;
54};
55
56} // namespace amr_wind::pde::temperature
57#endif
Definition CFDSim.H:54
Definition Field.H:116
amrex::Real m_sponge_strength
Definition TemperatureFreeAtmosphereForcing.H:43
const amrex::AmrCore & m_mesh
Definition TemperatureFreeAtmosphereForcing.H:34
amrex::Real m_meso_start
Definition TemperatureFreeAtmosphereForcing.H:40
int m_sponge_south
Definition TemperatureFreeAtmosphereForcing.H:51
static std::string identifier()
Definition TemperatureFreeAtmosphereForcing.H:17
int m_sponge_east
Definition TemperatureFreeAtmosphereForcing.H:50
amrex::Real m_meso_timescale
Definition TemperatureFreeAtmosphereForcing.H:41
amrex::Real m_sponge_distance_west
Definition TemperatureFreeAtmosphereForcing.H:45
amrex::Real m_sponge_distance_east
Definition TemperatureFreeAtmosphereForcing.H:46
int m_sponge_north
Definition TemperatureFreeAtmosphereForcing.H:52
amrex::Vector< amrex::Real > m_theta_values
Definition TemperatureFreeAtmosphereForcing.H:37
const Field & m_temperature
Definition TemperatureFreeAtmosphereForcing.H:35
amrex::Gpu::DeviceVector< amrex::Real > m_theta_heights_d
Definition TemperatureFreeAtmosphereForcing.H:38
amrex::Real m_sponge_distance_north
Definition TemperatureFreeAtmosphereForcing.H:48
amrex::Vector< amrex::Real > m_theta_heights
Definition TemperatureFreeAtmosphereForcing.H:36
TemperatureFreeAtmosphereForcing(const CFDSim &sim)
Definition TemperatureFreeAtmosphereForcing.cpp:14
amrex::Real m_sponge_distance_south
Definition TemperatureFreeAtmosphereForcing.H:47
amrex::Real m_sponge_density
Definition TemperatureFreeAtmosphereForcing.H:44
amrex::Gpu::DeviceVector< amrex::Real > m_theta_values_d
Definition TemperatureFreeAtmosphereForcing.H:39
int m_sponge_west
Definition TemperatureFreeAtmosphereForcing.H:49
bool m_horizontal_sponge
Definition TemperatureFreeAtmosphereForcing.H:42
const CFDSim & m_sim
Definition TemperatureFreeAtmosphereForcing.H:53
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:52
FieldState
Definition FieldDescTypes.H:14
Definition ABLMesoForcingTemp.cpp:16