MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
postprocessinglb.h
Go to the documentation of this file.
1// Copyright (C) 2024 The m-AIA AUTHORS
2//
3// This file is part of m-AIA (https://git.rwth-aachen.de/aia/m-AIA/m-AIA)
4//
5// SPDX-License-Identifier: LGPL-3.0-only
6
7#ifndef POSTPROCESSINGLB_H_
8#define POSTPROCESSINGLB_H_
9
10#include <array>
11#include <map>
12#include <set>
13#include <vector>
14
15#include "LB/lbsolver.h"
16#include "globals.h"
17#include "postprocessing.h"
18#include "samplingdata.h"
19
20template <MInt nDim>
21class PostProcessingLb : public PostProcessing<nDim, PostProcessingLb<nDim>> {
22 private:
23 template <MInt nDim_, class ppType>
24 friend class PostProcessing;
25
26 public:
29
30 // Constructor
31 PostProcessingLb(MInt postprocessingId_, PostData<nDim>* data, SolverType* ppSolver_);
32
33 virtual ~PostProcessingLb();
34
35 SolverType& solver() const { return *m_ppSolver; }
36
39 using Base::m_postData;
40 using Base::postData;
43 // using Base::postprocessPreInit;
51
52 private:
54
55 // Average_inSolve
56 std::vector<MString> m_varNames;
58
59 protected:
60 void initPointSamplingData() override;
61 void savePointSamplingData() override;
62
63 void initSurfaceSamplingData() override;
64 void saveSurfaceSamplingData() override;
65
66 void initVolumeSamplingData() override;
67 void saveVolumeSamplingData() override;
68
69 void initIsoTurbulenceStatistics() override;
70 void computeIsoTurbulenceStatistics() override;
71
72 std::unique_ptr<PointData<nDim, SolverType>> m_pointData;
73 std::unique_ptr<SurfaceData<nDim, SolverType>> m_surfaceData;
74 std::unique_ptr<VolumeData<nDim, SolverType>> m_volumeData;
75
77
78 MBool getSampleVarsDerivatives(const MInt cellId, std::vector<MFloat>& vars) {
79 return solver().getSampleVarsDerivatives(cellId, vars);
80 };
81};
82
83#endif // POSTPROCESSINGLB_H_
Definition: postdata.h:23
MFloat ** m_localVars
MInt m_averageStopTimestep
MInt m_noVariables
Data & postData() const
Data * m_postData
MInt m_averageStartTimestep
void postprocessInSolve(MBool finalTimeStep) override
void postprocessPostSolve() override
void initPostProcessing() override
Reads all required properties in and prepares for postprocessing.
MInt m_averageInterval
void postprocessPreSolve() override
void getSampleVariables(MInt cellId, const MFloat *&vars, MBool mode)
MBool m_finalTimeStep
void initPointSamplingData() override
std::unique_ptr< SurfaceData< nDim, SolverType > > m_surfaceData
MBool m_needVelocityGradient
std::vector< MString > m_varNames
SolverType * m_ppSolver
void computeIsoTurbulenceStatistics() override
write data for isotropic Turbulence (single phase and particle-laden)
std::unique_ptr< VolumeData< nDim, SolverType > > m_volumeData
MFloat m_tau_eta
SolverType & solver() const
void savePointSamplingData() override
void initVolumeSamplingData() override
void initSurfaceSamplingData() override
void initIsoTurbulenceStatistics() override
init function for Isotropic Turbulence Statistics
MBool getSampleVarsDerivatives(const MInt cellId, std::vector< MFloat > &vars)
virtual ~PostProcessingLb()
void saveSurfaceSamplingData() override
void saveVolumeSamplingData() override
std::unique_ptr< PointData< nDim, SolverType > > m_pointData
int32_t MInt
Definition: maiatypes.h:62
double MFloat
Definition: maiatypes.h:52
bool MBool
Definition: maiatypes.h:58