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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/utilities/sampling/FieldNorms.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
FieldNorms.H
Go to the documentation of this file.
1#ifndef FIELDNORMS_H
2#define FIELDNORMS_H
3
4#include "amr-wind/CFDSim.H"
6
7namespace amr_wind::field_norms {
8
16class FieldNorms : public PostProcessBase::Register<FieldNorms>
17{
18public:
19 static std::string identifier() { return "FieldNorms"; }
20
21 FieldNorms(CFDSim& /*sim*/, std::string /*label*/);
22
23 ~FieldNorms() override;
24
26 void pre_init_actions() override {}
27
29 void initialize() override;
30
31 void post_advance_work() override {};
32
33 void output_actions() override;
34
35 void post_regrid_actions() override {}
36
37 static amrex::Real get_norm(
38 const amr_wind::Field& field,
39 int comp,
40 int ncomp,
41 int norm_type,
42 bool use_mask);
43
44 [[nodiscard]] const amrex::Vector<std::string>& var_names() const
45 {
46 return m_var_names;
47 }
48
49 [[nodiscard]] const amrex::Vector<amrex::Real>& field_norms() const
50 {
51 return m_fnorms;
52 }
53
54private:
56 virtual void prepare_ascii_file();
57
59 virtual void write_ascii();
60
63
66
68 amrex::Vector<std::string> m_var_names;
69
71 amrex::Vector<amrex::Real> m_fnorms;
72
78 const std::string m_label;
79
81 std::string m_out_fname;
82
84 int m_width{18};
85
87 int m_precision{10};
88
91
93 bool m_use_mask{true};
94
97};
98
99} // namespace amr_wind::field_norms
100
101#endif /* FIELDNORMS_H */
Definition CFDSim.H:54
Definition Field.H:112
int m_norm_type
Type of norm.
Definition FieldNorms.H:90
void process_field_norms()
process all fields and calculate norms
Definition FieldNorms.cpp:198
void output_actions() override
Definition FieldNorms.cpp:214
std::string m_out_fname
filename for ASCII output
Definition FieldNorms.H:81
const amrex::Vector< amrex::Real > & field_norms() const
Definition FieldNorms.H:49
void initialize() override
Read user inputs and create the different data probe instances.
Definition FieldNorms.cpp:21
FieldNorms(CFDSim &, std::string)
Definition FieldNorms.cpp:15
const std::string m_label
Definition FieldNorms.H:78
int m_width
width in ASCII output
Definition FieldNorms.H:84
const amrex::Vector< std::string > & var_names() const
Definition FieldNorms.H:44
amrex::Vector< amrex::Real > m_fnorms
List holding norms for all fields and their components.
Definition FieldNorms.H:71
static amrex::Real get_norm(const amr_wind::Field &field, int comp, int ncomp, int norm_type, bool use_mask)
Definition FieldNorms.cpp:59
bool m_use_mask
Mask redundant grids (finest available grid only)
Definition FieldNorms.H:93
virtual void prepare_ascii_file()
prepare ASCII file and directory
Definition FieldNorms.cpp:222
bool m_use_vector_magnitude
Consider vector magnitude, not separate vector components.
Definition FieldNorms.H:96
int m_precision
precision in ASCII output
Definition FieldNorms.H:87
CFDSim & m_sim
Reference to the CFD sim.
Definition FieldNorms.H:65
virtual void write_ascii()
Output sampled data in ASCII format.
Definition FieldNorms.cpp:243
void post_regrid_actions() override
Definition FieldNorms.H:35
static std::string identifier()
Definition FieldNorms.H:19
void post_advance_work() override
Definition FieldNorms.H:31
amrex::Vector< std::string > m_var_names
List of variable names for output.
Definition FieldNorms.H:68
void pre_init_actions() override
Perform actions before mesh is created.
Definition FieldNorms.H:26
Definition FieldNorms.cpp:13