/home/runner/work/amr-wind/amr-wind/amr-wind/immersed_boundary/IB.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/immersed_boundary/IB.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
IB.H
Go to the documentation of this file.
1#ifndef IB_H
2#define IB_H
3
6
11namespace amr_wind {
12
13class Field;
14
15namespace ib {
16
17class ImmersedBoundaryModel;
18
27class IB : public Physics::Register<IB>
28{
29public:
30 static std::string identifier() { return "IB"; }
31
32 explicit IB(CFDSim& /*sim*/);
33
34 ~IB() override;
35
36 void
37 initialize_fields(int /*level*/, const amrex::Geometry& /*geom*/) override
38 {}
39
40 void pre_init_actions() override;
41
42 void post_init_actions() override;
43
44 void post_regrid_actions() override;
45
46 void pre_advance_work() override;
47
48 void post_advance_work() override;
49
50 void pre_pressure_correction_work() override;
51
52 void post_pressure_correction_work() override;
53
54protected:
56
57 int num_ibs() const { return static_cast<int>(m_ibs.size()); }
58
59 virtual void prepare_outputs();
60
61private:
62 static void update_positions();
63
64 void update_velocities();
65
66 void compute_forces();
67
69
70 std::vector<std::unique_ptr<ImmersedBoundaryModel>> m_ibs;
71
74
77};
78
79} // namespace ib
80} // namespace amr_wind
81
82#endif /* IB_H */
Definition CFDSim.H:47
Definition Field.H:116
Definition IB.H:28
void pre_init_actions() override
Definition IB.cpp:24
~IB() override
void pre_advance_work() override
Definition IB.cpp:69
void post_regrid_actions() override
Definition IB.cpp:67
void compute_forces()
Definition IB.cpp:112
void update_velocities()
Definition IB.cpp:102
void initialize_fields(int, const amrex::Geometry &) override
Definition IB.H:37
void post_advance_work() override
Definition IB.cpp:134
std::vector< std::unique_ptr< ImmersedBoundaryModel > > m_ibs
Definition IB.H:70
void post_pressure_correction_work() override
Definition IB.cpp:80
Field & m_ib_normal
Immersed boundary normal vector defined on cell-centers.
Definition IB.H:76
static std::string identifier()
Definition IB.H:30
Field & m_ib_levelset
Immersed boundary levelset for cell-centers.
Definition IB.H:73
virtual void prepare_outputs()
Definition IB.cpp:120
CFDSim & m_sim
Definition IB.H:68
int num_ibs() const
Total number of immersed boundaries.
Definition IB.H:57
IB(CFDSim &)
Definition IB.cpp:13
void pre_pressure_correction_work() override
Definition IB.cpp:74
void post_init_actions() override
Definition IB.cpp:57
static void update_positions()
Definition IB.cpp:93
Definition BCInterface.cpp:7