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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/physics/mms/MMS.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
MMS.H
Go to the documentation of this file.
1#ifndef MMS_H
2#define MMS_H
3
6#include "amr-wind/CFDSim.H"
7#include "AMReX_REAL.H"
8
9using namespace amrex::literals;
10
11namespace amr_wind::mms {
12
13using FuncDef = amrex::Real (*)(amrex::Real, amrex::Real, amrex::Real);
14
19class MMS : public Physics::Register<MMS>
20{
21public:
22 static std::string identifier() { return "MMS"; }
23
24 explicit MMS(const CFDSim& sim);
25
26 ~MMS() override = default;
27
28 void initialize_fields(int level, const amrex::Geometry& geom) override;
29
30 void fill_src();
31
32 amrex::Real compute_error(const int comp, const Field& field, FuncDef f);
33
34 void post_init_actions() override;
35
36 void post_regrid_actions() override;
37
38 void pre_advance_work() override {}
39
40 void post_advance_work() override;
41
42private:
45 const amrex::AmrCore& m_mesh;
49
50 const int m_w = 18;
51 const std::string m_output_fname = "mms.log";
52
53 std::unordered_map<std::string, amrex::Real> m_params_map = {
54 {"a", 1.05_rt}, {"b", 2.15_rt}, {"c", -3.2_rt}, {"d", 10.1_rt},
55 {"beta", 2.2_rt}, {"gamma", 2.4_rt}, {"delta", 2.0_rt}, {"kx", 1.0_rt},
56 {"ky", 1.0_rt}, {"kz", 1.0_rt}, {"nu", 1.0_rt}};
57};
58} // namespace amr_wind::mms
59
60#endif /* MMS_H */
Definition CFDSim.H:54
Definition Field.H:116
Definition FieldRepo.H:86
Definition SimTime.H:33
const amrex::AmrCore & m_mesh
Definition MMS.H:45
void post_init_actions() override
Definition MMS.cpp:123
void post_advance_work() override
Definition MMS.cpp:185
const amr_wind::SimTime & m_time
Definition MMS.H:43
Field & m_density
Definition MMS.H:47
MMS(const CFDSim &sim)
Definition MMS.cpp:13
Field & m_mms_vel_source
Definition MMS.H:48
void post_regrid_actions() override
Definition MMS.cpp:125
Field & m_velocity
Definition MMS.H:46
static std::string identifier()
Definition MMS.H:22
void pre_advance_work() override
Definition MMS.H:38
const std::string m_output_fname
Definition MMS.H:51
~MMS() override=default
void fill_src()
Definition MMS.cpp:88
std::unordered_map< std::string, amrex::Real > m_params_map
Definition MMS.H:53
const int m_w
Definition MMS.H:50
amrex::Real compute_error(const int comp, const Field &field, FuncDef f)
Definition MMS.cpp:128
void initialize_fields(int level, const amrex::Geometry &geom) override
Definition MMS.cpp:49
const FieldRepo & m_repo
Definition MMS.H:44
Definition MMS.cpp:11
amrex::Real(*)(amrex::Real, amrex::Real, amrex::Real) FuncDef
Definition MMS.H:13