/home/runner/work/kynema-sgf/kynema-sgf/src/utilities/subvolume/RectangularSubvolume.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/utilities/subvolume/RectangularSubvolume.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
RectangularSubvolume.H
Go to the documentation of this file.
1#ifndef RECTANGULARSUBVOLUME_H
2#define RECTANGULARSUBVOLUME_H
3
4#include <AMReX_Geometry.H>
5#include <AMReX_IntVect.H>
6
8
9namespace kynema_sgf::subvolume {
10
19 : public SubvolumeBase::Register<RectangularSubvolume>
20{
21public:
22 static std::string identifier() { return "Rectangular"; }
23
24 explicit RectangularSubvolume(const CFDSim& /*sim*/);
25
27
32 void initialize(const std::string& key) override;
33
36 void evaluate_inputs() override;
37
39 std::string label() const override { return m_label; }
40 std::string& label() override { return m_label; }
41
43 std::string subvolumetype() const override { return identifier(); }
44
45 int lev() const override { return m_lev_for_sub; }
46
47 amrex::BoxArray box_array() const override { return m_ba; }
48
49 amrex::BoxArray source_box_array() const override { return m_src_ba; }
50
51 amrex::IntVect sampling_stride() const override { return m_stride; }
52
53 amrex::Geometry output_geom() const override { return m_out_geom; }
54
55protected:
56 const CFDSim& m_sim;
57
58 amrex::Vector<amrex::Real> m_origin;
59 amrex::Vector<int> m_npts_vec;
60 amrex::Vector<amrex::Real> m_dx_vec;
61 amrex::Vector<int> m_chunk_size_vec;
62
64 int m_verbose{0};
65
67
68 amrex::IntVect m_stride{1, 1, 1};
69 amrex::BoxArray m_ba;
70 amrex::BoxArray m_src_ba;
71 amrex::Geometry m_out_geom;
72
73 std::string m_label;
74};
75
76} // namespace kynema_sgf::subvolume
77
78#endif /* RECTANGULARSUBVOLUME_H */
Definition CFDSim.H:55
amrex::IntVect m_stride
Definition RectangularSubvolume.H:68
const CFDSim & m_sim
Definition RectangularSubvolume.H:56
amrex::BoxArray source_box_array() const override
Definition RectangularSubvolume.H:49
int m_lev_for_sub
Definition RectangularSubvolume.H:63
amrex::IntVect sampling_stride() const override
Definition RectangularSubvolume.H:51
amrex::BoxArray box_array() const override
Definition RectangularSubvolume.H:47
std::string subvolumetype() const override
Type of this subvolume object.
Definition RectangularSubvolume.H:43
std::string & label() override
Definition RectangularSubvolume.H:40
amrex::Vector< amrex::Real > m_dx_vec
Definition RectangularSubvolume.H:60
static std::string identifier()
Definition RectangularSubvolume.H:22
amrex::Vector< int > m_npts_vec
Definition RectangularSubvolume.H:59
std::string label() const override
Name of this subvolume object.
Definition RectangularSubvolume.H:39
int m_verbose
Definition RectangularSubvolume.H:64
int lev() const override
Definition RectangularSubvolume.H:45
std::string m_label
Definition RectangularSubvolume.H:73
bool m_chunk_size_present
Definition RectangularSubvolume.H:66
amrex::Vector< int > m_chunk_size_vec
Definition RectangularSubvolume.H:61
void evaluate_inputs() override
Check if inputs have a valid correspondence in the mesh and save quantities for output steps.
Definition RectangularSubvolume.cpp:38
amrex::Geometry m_out_geom
Definition RectangularSubvolume.H:71
amrex::BoxArray m_src_ba
Definition RectangularSubvolume.H:70
amrex::BoxArray m_ba
Definition RectangularSubvolume.H:69
amrex::Vector< amrex::Real > m_origin
Definition RectangularSubvolume.H:58
RectangularSubvolume(const CFDSim &)
Definition RectangularSubvolume.cpp:11
void initialize(const std::string &key) override
Definition RectangularSubvolume.cpp:15
amrex::Geometry output_geom() const override
Definition RectangularSubvolume.H:53
Definition RectangularSubvolume.cpp:9