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

AMR-Wind API: /home/runner/work/amr-wind/amr-wind/amr-wind/utilities/ThirdMomentAveraging.H Source File
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
ThirdMomentAveraging.H
Go to the documentation of this file.
1#ifndef THIRDMOMENTAVERAGING_H
2#define THIRDMOMENTAVERAGING_H
3
4#include "AMReX_AmrCore.H"
8
9namespace amr_wind {
10
16{
17public:
22
24
25 void operator()();
26
28 [[nodiscard]] amrex::Real line_average_interpolated(
29 amrex::Real x, int comp1, int comp2, int comp3) const;
31 [[nodiscard]] amrex::Real
32 line_average_interpolated(amrex::Real x, int comp) const;
34 [[nodiscard]] amrex::Real
35 line_average_cell(int ind, int comp1, int comp2, int comp3) const;
37 [[nodiscard]] amrex::Real line_average_cell(int ind, int comp) const;
38
39 const amrex::Vector<amrex::Real>& line_moment()
40 {
42 };
43 void line_moment(int comp, amrex::Vector<amrex::Real>& l_vec);
44
46 const std::string& filename, int step, amrex::Real time);
47 void output_line_average_ascii(int step, amrex::Real time);
48
50 void set_precision(int p) { m_precision = p; };
51
52private:
54 amrex::Vector<amrex::Real>
56
57 int m_precision = 4;
60
64
65public: // public for GPU
67 template <typename IndexSelector>
68 void compute_average(
69 const IndexSelector& idxOp,
70 const amrex::MultiFab& mfab1,
71 const amrex::MultiFab& mfab2,
72 const amrex::MultiFab& mfab3);
73};
74
75} // namespace amr_wind
76
77#endif /* ThirdMomentAveraging_H */
FieldPlaneAveraging & m_plane_average3
Definition ThirdMomentAveraging.H:63
FieldPlaneAveraging & m_plane_average1
Definition ThirdMomentAveraging.H:61
ThirdMomentAveraging(FieldPlaneAveraging &pa1, FieldPlaneAveraging &pa2, FieldPlaneAveraging &pa3)
Definition ThirdMomentAveraging.cpp:85
amrex::Real line_average_cell(int ind, int comp1, int comp2, int comp3) const
Definition ThirdMomentAveraging.cpp:297
int m_last_updated_index
Definition ThirdMomentAveraging.H:58
int m_precision
Definition ThirdMomentAveraging.H:57
const amrex::Vector< amrex::Real > & line_moment()
Definition ThirdMomentAveraging.H:39
int m_num_moments
Definition ThirdMomentAveraging.H:53
void set_precision(int p)
Definition ThirdMomentAveraging.H:50
void output_line_average_ascii(const std::string &filename, int step, amrex::Real time)
Definition ThirdMomentAveraging.cpp:10
void compute_average(const IndexSelector &idxOp, const amrex::MultiFab &mfab1, const amrex::MultiFab &mfab2, const amrex::MultiFab &mfab3)
Definition ThirdMomentAveraging.cpp:143
void operator()()
Definition ThirdMomentAveraging.cpp:113
amrex::Real line_average_interpolated(amrex::Real x, int comp1, int comp2, int comp3) const
Definition ThirdMomentAveraging.cpp:241
amrex::Vector< amrex::Real > m_third_moments_line
Definition ThirdMomentAveraging.H:55
FieldPlaneAveraging & m_plane_average2
Definition ThirdMomentAveraging.H:62
This test case is intended as an evaluation of the momentum advection scheme.
Definition BCInterface.cpp:10
FPlaneAveraging< Field > FieldPlaneAveraging
Definition FieldPlaneAveraging.H:139