/home/runner/work/amr-wind/amr-wind/amr-wind/utilities/sampling/ProbeSampler.H Source File

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/utilities/sampling/ProbeSampler.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
ProbeSampler.H
Go to the documentation of this file.
1#ifndef PROBESAMPLER_H
2#define PROBESAMPLER_H
3
5#include "AMReX_REAL.H"
6
7using namespace amrex::literals;
8
9namespace amr_wind::sampling {
10
17class ProbeSampler : public SamplerBase::Register<ProbeSampler>
18{
19public:
20 static std::string identifier() { return "ProbeSampler"; }
21
23 [[nodiscard]] std::string sampletype() const override
24 {
25 return identifier();
26 }
27
28 explicit ProbeSampler(const CFDSim& /*unused*/);
29
30 ~ProbeSampler() override;
31
32 void initialize(const std::string& key) override;
33
35 void check_bounds() override;
36
38 void sampling_locations(SampleLocType& /*sample_locs*/) const override;
39
43 SampleLocType& /*sample_locs*/,
44 const amrex::Box& /*box*/) const override;
45
46 void output_locations(SampleLocType& sample_locs) const override
47 {
48 sampling_locations(sample_locs);
49 }
50
51 void
52 define_netcdf_metadata(const ncutils::NCGroup& /*unused*/) const override;
53
54 [[nodiscard]] std::string label() const override { return m_label; }
55 std::string& label() override { return m_label; }
56 [[nodiscard]] int id() const override { return m_id; }
57 int& id() override { return m_id; }
58
59 [[nodiscard]] long num_points() const override { return m_npts; }
60
62 [[nodiscard]] long num_output_points() const override { return m_npts; }
63
64private:
65 const CFDSim& m_sim;
67
68 amrex::Vector<amrex::Real> m_offset_vector{0.0_rt, 0.0_rt, 0.0_rt};
69 amrex::Vector<amrex::Real> m_poffsets;
70
71 std::string m_label;
72 int m_id{-1};
73 int m_npts{0};
74};
75
76} // namespace amr_wind::sampling
77
78#endif /* PROBESAMPLER_H */
Definition CFDSim.H:54
void check_bounds() override
Check and fix the bounds of the sampler so the probes are in the domain.
Definition ProbeSampler.cpp:67
int id() const override
Definition ProbeSampler.H:56
std::string & label() override
Definition ProbeSampler.H:55
long num_output_points() const override
Number of output probe locations (after data reduction etc.)
Definition ProbeSampler.H:62
const CFDSim & m_sim
Definition ProbeSampler.H:65
int m_id
Definition ProbeSampler.H:72
int m_npts
Definition ProbeSampler.H:73
void sampling_locations(SampleLocType &) const override
Populate the vector with coordinates of the sampling locations.
Definition ProbeSampler.cpp:93
amrex::Vector< amrex::Real > m_offset_vector
Definition ProbeSampler.H:68
int & id() override
Definition ProbeSampler.H:57
amrex::Vector< amrex::Real > m_poffsets
Definition ProbeSampler.H:69
std::string m_label
Definition ProbeSampler.H:71
void initialize(const std::string &key) override
Definition ProbeSampler.cpp:15
void output_locations(SampleLocType &sample_locs) const override
Definition ProbeSampler.H:46
void define_netcdf_metadata(const ncutils::NCGroup &) const override
Definition ProbeSampler.cpp:122
long num_points() const override
Definition ProbeSampler.H:59
SampleLocType m_probes
Definition ProbeSampler.H:66
std::string label() const override
Definition ProbeSampler.H:54
static std::string identifier()
Definition ProbeSampler.H:20
std::string sampletype() const override
Type of this sampling object.
Definition ProbeSampler.H:23
ProbeSampler(const CFDSim &)
Definition ProbeSampler.cpp:11
Representation of a NetCDF group.
Definition nc_interface.H:162
Definition DTUSpinnerSampler.cpp:19
Definition SamplerBase.H:19