/home/runner/work/kynema-sgf/kynema-sgf/src/physics/EkmanSpiral.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/physics/EkmanSpiral.H Source File
Kynema-SGF 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
4#include "src/core/Physics.H"
5#include "src/core/Field.H"
6#include "src/CFDSim.H"
7#include "AMReX_REAL.H"
8
9using namespace amrex::literals;
10
11namespace kynema_sgf {
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 kynema_sgf
61
62#endif /* EkmanSpiral_H */
Definition CFDSim.H:55
const std::string m_output_fname
error log file
Definition EkmanSpiral.H:58
static std::string identifier()
Definition EkmanSpiral.H:19
Field & m_velocity
Definition EkmanSpiral.H:42
void post_advance_work() override
Definition EkmanSpiral.cpp:205
const kynema_sgf::SimTime & m_time
Definition EkmanSpiral.H:39
void initialize_fields(int level, const amrex::Geometry &geom) override
Definition EkmanSpiral.cpp:106
amrex::Real compute_error(const Field &)
Definition EkmanSpiral.cpp:134
void post_regrid_actions() override
Definition EkmanSpiral.H:32
void output_error()
Definition EkmanSpiral.cpp:189
Field & m_density
Definition EkmanSpiral.H:43
void pre_advance_work() override
Definition EkmanSpiral.H:34
const int m_w
output precision
Definition EkmanSpiral.H:55
~EkmanSpiral() override=default
amrex::Real m_vel
velocity magnitude x-direction only
Definition EkmanSpiral.H:52
const amrex::AmrCore & m_mesh
Definition EkmanSpiral.H:41
amrex::Real m_DE
Ekman depth.
Definition EkmanSpiral.H:50
const FieldRepo & m_repo
Definition EkmanSpiral.H:40
amrex::Real m_rho
initial density value
Definition EkmanSpiral.H:48
void post_init_actions() override
Definition EkmanSpiral.cpp:203
EkmanSpiral(const CFDSim &sim)
Definition EkmanSpiral.cpp:43
Definition Field.H:112
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