/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 const int comp,
40 const int ncomp,
41 const int norm_type,
42 const bool use_mask);
43
44 const amrex::Vector<std::string>& var_names() const { return m_var_names; }
45
46 const amrex::Vector<amrex::Real>& field_norms() const { return m_fnorms; }
47
48private:
50 virtual void prepare_ascii_file();
51
53 virtual void write_ascii();
54
57
60
62 amrex::Vector<std::string> m_var_names;
63
65 amrex::Vector<amrex::Real> m_fnorms;
66
72 const std::string m_label;
73
75 std::string m_out_fname;
76
78 int m_width{18};
79
81 int m_precision{10};
82
85
87 bool m_use_mask{true};
88
91};
92
93} // namespace amr_wind::field_norms
94
95#endif /* FIELDNORMS_H */
Definition CFDSim.H:54
Definition Field.H:116
int m_norm_type
Type of norm.
Definition FieldNorms.H:84
void process_field_norms()
process all fields and calculate norms
Definition FieldNorms.cpp:200
void output_actions() override
Definition FieldNorms.cpp:216
std::string m_out_fname
filename for ASCII output
Definition FieldNorms.H:75
const amrex::Vector< amrex::Real > & field_norms() const
Definition FieldNorms.H:46
void initialize() override
Read user inputs and create the different data probe instances.
Definition FieldNorms.cpp:18
FieldNorms(CFDSim &, std::string)
Definition FieldNorms.cpp:12
const std::string m_label
Definition FieldNorms.H:72
int m_width
width in ASCII output
Definition FieldNorms.H:78
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:65
bool m_use_mask
Mask redundant grids (finest available grid only)
Definition FieldNorms.H:87
virtual void prepare_ascii_file()
prepare ASCII file and directory
Definition FieldNorms.cpp:224
bool m_use_vector_magnitude
Consider vector magnitude, not separate vector components.
Definition FieldNorms.H:90
int m_precision
precision in ASCII output
Definition FieldNorms.H:81
CFDSim & m_sim
Reference to the CFD sim.
Definition FieldNorms.H:59
virtual void write_ascii()
Output sampled data in ASCII format.
Definition FieldNorms.cpp:245
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:62
static amrex::Real get_norm(const amr_wind::Field &field, const int comp, const int ncomp, const int norm_type, const bool use_mask)
Definition FieldNorms.cpp:56
void pre_init_actions() override
Perform actions before mesh is created.
Definition FieldNorms.H:26
Definition FieldNorms.cpp:10