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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/DragForcing.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
DragForcing.H
Go to the documentation of this file.
1#ifndef DRAGFORCING_H
2#define DRAGFORCING_H
3
6#include "amr-wind/CFDSim.H"
7
8namespace amr_wind::pde::icns {
9
16class DragForcing : public MomentumSource::Register<DragForcing>
17{
18public:
19 static std::string identifier() { return "DragForcing"; }
20
21 explicit DragForcing(const CFDSim& sim);
22
23 ~DragForcing() override;
24
25 void operator()(
26 const int lev,
27 const amrex::MFIter& mfi,
28 const amrex::Box& bx,
29 const FieldState fstate,
30 const amrex::Array4<amrex::Real>& src_term) const override;
31
32private:
34 const CFDSim& m_sim;
35 const amrex::AmrCore& m_mesh;
37 amrex::Gpu::DeviceVector<amrex::Real> m_device_vel_ht;
38 amrex::Gpu::DeviceVector<amrex::Real> m_device_vel_vals;
39 amrex::Real m_drag_coefficient{10.0};
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 bool m_is_laminar{false};
51};
52
53} // namespace amr_wind::pde::icns
54
55#endif
Definition CFDSim.H:47
Definition Field.H:116
Definition SimTime.H:30
Definition DragForcing.H:17
int m_sponge_south
Definition DragForcing.H:48
int m_sponge_east
Definition DragForcing.H:47
int m_sponge_west
Definition DragForcing.H:46
amrex::Gpu::DeviceVector< amrex::Real > m_device_vel_ht
Definition DragForcing.H:37
amrex::Real m_sponge_distance_east
Definition DragForcing.H:43
const SimTime & m_time
Definition DragForcing.H:33
amrex::Real m_sponge_distance_south
Definition DragForcing.H:44
const Field & m_velocity
Definition DragForcing.H:36
static std::string identifier()
Definition DragForcing.H:19
const CFDSim & m_sim
Definition DragForcing.H:34
amrex::Gpu::DeviceVector< amrex::Real > m_device_vel_vals
Definition DragForcing.H:38
bool m_is_laminar
Definition DragForcing.H:50
int m_sponge_north
Definition DragForcing.H:49
amrex::Real m_sponge_distance_north
Definition DragForcing.H:45
amrex::Real m_sponge_density
Definition DragForcing.H:41
amrex::Real m_drag_coefficient
Definition DragForcing.H:39
void operator()(const int lev, const amrex::MFIter &mfi, const amrex::Box &bx, const FieldState fstate, const amrex::Array4< amrex::Real > &src_term) const override
Definition DragForcing.cpp:49
DragForcing(const CFDSim &sim)
Definition DragForcing.cpp:11
amrex::Real m_sponge_distance_west
Definition DragForcing.H:42
const amrex::AmrCore & m_mesh
Definition DragForcing.H:35
amrex::Real m_sponge_strength
Definition DragForcing.H:40
FieldState
Definition FieldDescTypes.H:14
Definition ABLForcing.cpp:11