/home/runner/work/kynema-sgf/kynema-sgf/src/utilities/sampling/MovingVolumeSampler.H Source File

Kynema-SGF API: /home/runner/work/kynema-sgf/kynema-sgf/src/utilities/sampling/MovingVolumeSampler.H Source File
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
MovingVolumeSampler.H
Go to the documentation of this file.
1#ifndef MOVINGVOLUMESAMPLER_H
2#define MOVINGVOLUMESAMPLER_H
3
5
6namespace kynema_sgf::actuator {
7class ActuatorModel;
8}
9
10namespace kynema_sgf::sampling {
11
14{
15public:
16 static std::string identifier() { return "MovingVolumeSampler"; }
17
18 explicit MovingVolumeSampler(const CFDSim& sim);
19
20 void initialize(const std::string& key) override;
21 void check_bounds() override;
22 void sampling_locations(SampleLocType& sample_locs) const override;
24 SampleLocType& sample_locs, const amrex::Box& box) const override;
25 bool update_sampling_locations() override;
26
27 [[nodiscard]] std::string sampletype() const override
28 {
29 return identifier();
30 }
31
32 void define_netcdf_metadata(const ncutils::NCGroup& grp) const override;
33 void
34 output_netcdf_data(const ncutils::NCGroup& grp, size_t nt) const override;
35 void populate_info_file(std::ostream& fh) const override;
36
37private:
39 {
40 amrex::Vector<amrex::Real> origin;
41 amrex::Vector<amrex::Real> axis1;
42 amrex::Vector<amrex::Real> axis2;
43 amrex::Vector<amrex::Real> axis3;
44 };
45
46 bool update_geometry(amrex::Real time);
47
50 const ::kynema_sgf::actuator::ActuatorModel* m_actuator{nullptr};
51 std::string m_actuator_label;
53};
54
55} // namespace kynema_sgf::sampling
56
57#endif
Definition CFDSim.H:55
Definition ActuatorModel.H:30
VolumeGeometry m_reference
Definition MovingVolumeSampler.H:48
bool update_geometry(amrex::Real time)
Definition MovingVolumeSampler.cpp:98
void check_bounds() override
Definition MovingVolumeSampler.cpp:71
void define_netcdf_metadata(const ncutils::NCGroup &grp) const override
Definition MovingVolumeSampler.cpp:177
void initialize(const std::string &key) override
Definition MovingVolumeSampler.cpp:45
std::string sampletype() const override
Definition MovingVolumeSampler.H:27
bool update_sampling_locations() override
Definition MovingVolumeSampler.cpp:128
MovingVolumeSampler(const CFDSim &sim)
Definition MovingVolumeSampler.cpp:42
VolumeGeometry m_geometry
Definition MovingVolumeSampler.H:49
std::string m_actuator_label
Definition MovingVolumeSampler.H:51
static std::string identifier()
Definition MovingVolumeSampler.H:16
void output_netcdf_data(const ncutils::NCGroup &grp, size_t nt) const override
Definition MovingVolumeSampler.cpp:186
void sampling_locations(SampleLocType &sample_locs) const override
Definition MovingVolumeSampler.cpp:133
const ::kynema_sgf::actuator::ActuatorModel * m_actuator
Definition MovingVolumeSampler.H:50
void populate_info_file(std::ostream &fh) const override
Definition MovingVolumeSampler.cpp:206
bool m_defer_bounds_check
Definition MovingVolumeSampler.H:52
VolumeSampler(const CFDSim &)
Definition VolumeSampler.cpp:11
Representation of a NetCDF group.
Definition nc_interface.H:162
Definition MovingPlaneSampler.H:6
Definition DTUSpinnerSampler.cpp:19
amrex::Vector< amrex::Real > axis3
Definition MovingVolumeSampler.H:43
amrex::Vector< amrex::Real > axis1
Definition MovingVolumeSampler.H:41
amrex::Vector< amrex::Real > origin
Definition MovingVolumeSampler.H:40
amrex::Vector< amrex::Real > axis2
Definition MovingVolumeSampler.H:42
Definition SamplerBase.H:20