/home/runner/work/amr-wind/amr-wind/amr-wind/physics/TerrainDrag.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/physics/TerrainDrag.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
TerrainDrag.H
Go to the documentation of this file.
1#ifndef TerrainDrag_H
2#define TerrainDrag_H
3
6#include "amr-wind/CFDSim.H"
7
8namespace amr_wind::terraindrag {
9
10namespace {} // namespace
11
16class TerrainDrag : public Physics::Register<TerrainDrag>
17{
18public:
19 static std::string identifier() { return "TerrainDrag"; }
20
21 explicit TerrainDrag(CFDSim& sim);
22
23 ~TerrainDrag() override = default;
24
25 void initialize_fields(int level, const amrex::Geometry& geom) override;
26
27 void pre_init_actions() override {}
28
29 void post_init_actions() override {}
30
31 void post_regrid_actions() override;
32
33 void pre_advance_work() override {}
34
35 void post_advance_work() override {}
36
37private:
40 const amrex::AmrCore& m_mesh;
46 amrex::Vector<amrex::Real> m_xterrain;
47 amrex::Vector<amrex::Real> m_yterrain;
48 amrex::Vector<amrex::Real> m_zterrain;
54 amrex::Vector<amrex::Real> m_xrough;
55 amrex::Vector<amrex::Real> m_yrough;
56 amrex::Vector<amrex::Real> m_z0rough;
57};
58} // namespace amr_wind::terraindrag
59
60#endif
Definition CFDSim.H:47
Definition Field.H:116
Definition FieldRepo.H:86
Definition IntField.H:20
Definition TerrainDrag.H:17
Field & m_terrainz0
Roughness Field.
Definition TerrainDrag.H:50
amrex::Vector< amrex::Real > m_z0rough
Definition TerrainDrag.H:56
void post_regrid_actions() override
Definition TerrainDrag.cpp:135
Field & m_terrain_height
Definition TerrainDrag.H:51
static std::string identifier()
Definition TerrainDrag.H:19
IntField & m_terrain_drag
Terrain Drag Force Term.
Definition TerrainDrag.H:44
amrex::Vector< amrex::Real > m_xterrain
Reading the Terrain Coordinates from file.
Definition TerrainDrag.H:46
IntField & m_terrain_blank
Blanking Field for Terrain or Buildings.
Definition TerrainDrag.H:42
amrex::Vector< amrex::Real > m_xrough
Definition TerrainDrag.H:54
const amrex::AmrCore & m_mesh
Definition TerrainDrag.H:40
void pre_init_actions() override
Definition TerrainDrag.H:27
amrex::Vector< amrex::Real > m_yterrain
Definition TerrainDrag.H:47
void pre_advance_work() override
Definition TerrainDrag.H:33
void post_advance_work() override
Definition TerrainDrag.H:35
const FieldRepo & m_repo
Definition TerrainDrag.H:39
TerrainDrag(CFDSim &sim)
Definition TerrainDrag.cpp:16
void initialize_fields(int level, const amrex::Geometry &geom) override
Definition TerrainDrag.cpp:53
void post_init_actions() override
Definition TerrainDrag.H:29
CFDSim & m_sim
Definition TerrainDrag.H:38
amrex::Vector< amrex::Real > m_yrough
Definition TerrainDrag.H:55
amrex::Vector< amrex::Real > m_zterrain
Definition TerrainDrag.H:48
Definition TerrainDrag.cpp:12