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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/physics/EkmanSpiral.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
EkmanSpiral.H
Go to the documentation of this file.
1#ifndef EkmanSpiral_H
2#define EkmanSpiral_H
3
6#include "amr-wind/CFDSim.H"
7#include "AMReX_REAL.H"
8
9using namespace amrex::literals;
10
11namespace amr_wind {
12
16class EkmanSpiral : public Physics::Register<EkmanSpiral>
17{
18public:
19 static std::string identifier() { return "EkmanSpiral"; }
20
21 explicit EkmanSpiral(const CFDSim& sim);
22
23 ~EkmanSpiral() override = default;
24
25 void initialize_fields(int level, const amrex::Geometry& geom) override;
26
27 template <typename T>
28 amrex::Real compute_error(const Field& /*field*/);
29
30 void post_init_actions() override;
31
32 void post_regrid_actions() override {}
33
34 void pre_advance_work() override {}
35
36 void post_advance_work() override;
37
38private:
41 const amrex::AmrCore& m_mesh;
44
45 void output_error();
46
48 amrex::Real m_rho{1.0_rt};
50 amrex::Real m_DE{0.0_rt};
52 amrex::Real m_vel{15.0_rt};
53
55 const int m_w{18};
56
58 const std::string m_output_fname{"ekman_spiral.log"};
59};
60} // namespace amr_wind
61
62#endif /* EkmanSpiral_H */
Definition CFDSim.H:54
void pre_advance_work() override
Definition EkmanSpiral.H:34
Field & m_density
Definition EkmanSpiral.H:43
EkmanSpiral(const CFDSim &sim)
Definition EkmanSpiral.cpp:43
const amr_wind::SimTime & m_time
Definition EkmanSpiral.H:39
static std::string identifier()
Definition EkmanSpiral.H:19
const std::string m_output_fname
error log file
Definition EkmanSpiral.H:58
const FieldRepo & m_repo
Definition EkmanSpiral.H:40
amrex::Real m_vel
velocity magnitude x-direction only
Definition EkmanSpiral.H:52
amrex::Real m_DE
Ekman depth.
Definition EkmanSpiral.H:50
const int m_w
output precision
Definition EkmanSpiral.H:55
void output_error()
Definition EkmanSpiral.cpp:189
void post_regrid_actions() override
Definition EkmanSpiral.H:32
void post_advance_work() override
Definition EkmanSpiral.cpp:205
void post_init_actions() override
Definition EkmanSpiral.cpp:203
amrex::Real m_rho
initial density value
Definition EkmanSpiral.H:48
const amrex::AmrCore & m_mesh
Definition EkmanSpiral.H:41
Field & m_velocity
Definition EkmanSpiral.H:42
void initialize_fields(int level, const amrex::Geometry &geom) override
Definition EkmanSpiral.cpp:106
~EkmanSpiral() override=default
amrex::Real compute_error(const Field &)
Definition EkmanSpiral.cpp:134
Definition Field.H:116
Definition FieldRepo.H:86
Definition SimTime.H:33
This test case is intended as an evaluation of the momentum advection scheme.
Definition BCInterface.cpp:10