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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/equation_systems/icns/source_terms/GeostrophicForcing.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
GeostrophicForcing.H
Go to the documentation of this file.
1#ifndef GEOSTROPHICFORCING_H
2#define GEOSTROPHICFORCING_H
3
6
7namespace amr_wind::pde::icns {
8
12class GeostrophicForcing : public MomentumSource::Register<GeostrophicForcing>
13{
14public:
15 static std::string identifier() { return "GeostrophicForcing"; }
16
17 explicit GeostrophicForcing(const CFDSim& /*unused*/);
18
20
21 void operator()(
22 const int lev,
23 const amrex::MFIter& mfi,
24 const amrex::Box& bx,
25 const FieldState fstate,
26 const amrex::Array4<amrex::Real>& src_term) const override;
27
28private:
30 const amrex::AmrCore& m_mesh;
31
33 std::string m_vel_timetable;
34
36 amrex::Vector<amrex::Real> m_time_table;
37
39 amrex::Vector<amrex::Real> m_speed_table;
40
42 amrex::Vector<amrex::Real> m_direction_table;
43
45 amrex::Real m_coriolis_factor;
46
48 bool m_use_phase_ramp{false};
49
51 int m_n_band{2};
52
54 amrex::Vector<amrex::Real> m_target_vel{0.0, 0.0, 0.0};
55
57 amrex::Vector<amrex::Real> m_g_forcing{0.0, 0.0, 0.0};
58
59 bool m_is_horizontal{false};
60
62 amrex::Real m_forcing_mphase0;
64 amrex::Real m_forcing_mphase1;
65
67 amrex::Real m_water_level;
68
70 const Field* m_vof;
71};
72
73} // namespace amr_wind::pde::icns
74
75#endif /* GEOSTROPHICFORCING_H */
Definition CFDSim.H:47
Definition Field.H:116
Definition SimTime.H:30
Definition GeostrophicForcing.H:13
const Field * m_vof
VOF field, to avoid forcing on liquid above force-off height.
Definition GeostrophicForcing.H:70
amrex::Real m_water_level
Local storage of interface location.
Definition GeostrophicForcing.H:67
amrex::Vector< amrex::Real > m_time_table
Velocity forcing time table.
Definition GeostrophicForcing.H:36
bool m_use_phase_ramp
Activated when water is present in domain.
Definition GeostrophicForcing.H:48
const amrex::AmrCore & m_mesh
Definition GeostrophicForcing.H:30
int m_n_band
Number of cells in band to prevent forcing near liquid.
Definition GeostrophicForcing.H:51
amrex::Real m_forcing_mphase1
Height from water interface over which force is ramped.
Definition GeostrophicForcing.H:64
const SimTime & m_time
Definition GeostrophicForcing.H:29
std::string m_vel_timetable
File name for target velocity time table.
Definition GeostrophicForcing.H:33
amrex::Vector< amrex::Real > m_speed_table
Velocity forcing speed table.
Definition GeostrophicForcing.H:39
amrex::Vector< amrex::Real > m_g_forcing
Forcing source term (pressure gradient)
Definition GeostrophicForcing.H:57
amrex::Real m_forcing_mphase0
Height from water interface where force is off.
Definition GeostrophicForcing.H:62
GeostrophicForcing(const CFDSim &)
Definition GeostrophicForcing.cpp:26
amrex::Vector< amrex::Real > m_target_vel
Target velocity.
Definition GeostrophicForcing.H:54
bool m_is_horizontal
Definition GeostrophicForcing.H:59
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 GeostrophicForcing.cpp:100
static std::string identifier()
Definition GeostrophicForcing.H:15
amrex::Vector< amrex::Real > m_direction_table
Velocity forcing direction table.
Definition GeostrophicForcing.H:42
amrex::Real m_coriolis_factor
Coriolis factor.
Definition GeostrophicForcing.H:45
FieldState
Definition FieldDescTypes.H:14
Definition ABLForcing.cpp:11