7#ifndef POSTPROCESSINGFV_H_
8#define POSTPROCESSINGFV_H_
22template <MInt nDim,
class SysEqn>
25template <MInt nDim,
class SysEqn>
28 template <MInt nDim_,
class ppType>
104 if constexpr(nDim == 2) {
105 vorticity[0] = 0.5 * (deriv(1, 0) - deriv(0, 1));
107 vorticity[0] = 0.5 * (deriv(2, 1) - deriv(1, 2));
108 vorticity[1] = 0.5 * (deriv(0, 2) - deriv(2, 0));
109 vorticity[2] = 0.5 * (deriv(1, 0) - deriv(0, 1));
virtual MFloat & vorticityAtCell(const MInt cellId, const MInt dir)
virtual MFloat getBoundaryHeatFlux(const MInt cellId) const
calculates heat flux of boundary cells
void getPrimitiveVariables(MInt, MFloat *, MFloat *, MInt)
virtual void getVorticity(MFloat *const vorticity)
wrapper for vorticity computation
void computeAcousticSourceTermQe(MFloatScratchSpace &, MFloatScratchSpace &, MFloatScratchSpace &, MFloatScratchSpace &)
virtual void getVorticityT(MFloat *const vorticity)
wrapper for vorticity computation (transposed version)
virtual void getSampleVarsDerivatives(const MInt cellId, const MFloat *&vars)
Access derivatives of primitive variables of a given cell.
void calcVorticity(const MFloatTensor &deriv, MFloat vorticity[nDim *2 - 3]) override
virtual ~PostProcessingFv()
void initSurfaceSamplingData() override
void computeAcousticSourceTermQe(MFloatScratchSpace &QeI, MFloatScratchSpace &QeIII, MFloatScratchSpace &cSquared, MFloatScratchSpace &drhodt) override
SolverType & solver() const
void probeLinePeriodic() override
void savePointSamplingData() override
void getPrimitiveVariables(MInt cellId, MFloat *Xp, MFloat *vars, MInt order) override
MFloat getBoundaryHeatFlux(const MInt cellId) const override
void getSampleVarsDerivatives(MInt cellId, const MFloat *&vars)
void vapourPenetration(MFloat spawnCoord[nDim])
void initVolumeSamplingData() override
void initAveragingProperties() override
Initialize properties relevant for temporal averaging.
void probeLinePeriodicPost() override
void saveVolumeSamplingData() override
MFloat & vorticityAtCell(const MInt cellId, const MInt dir) override
void initPointSamplingData() override
void saveSurfaceSamplingData() override
void initPostProcessing() override
void getVorticity(MFloat *const vorticity) override
std::unique_ptr< VolumeData< nDim, SolverType > > m_volumeData
void getVorticityT(MFloat *const vorticity) override
void getPrimitiveVarNames(MString *names) const override
MBool getSampleVarsDerivatives(const MInt cellId, std::vector< MFloat > &vars)
void vapourMass(const MInt)
std::unique_ptr< SurfaceData< nDim, SolverType > > m_surfaceData
std::unique_ptr< PointData< nDim, SolverType > > m_pointData
void initSprayData() override
void initMovingAverage() override
Initializes properties and allocates memory for moving averaging.
MInt * m_globalNoProbeLineIds
MInt * m_probeLineDirection
MInt m_averageStopTimestep
MInt * m_probeLineOffsets
MInt ** m_noProbeLineAverageIds
MInt ** m_globalNoProbeLineAverageIds
MFloat *** m_globalProbeLineAverageVars
MInt * m_probeLineAverageDirection
MInt m_averageStartTimestep
MString * m_movAvgVarNames
MFloat ** m_probeLinePositions
MInt m_movingAverageDataPoints
MInt m_movingAverageInterval
MFloat ** m_movAvgVariables
MInt m_sprayWriteInterval
MInt m_movingAverageCounter
MInt *** m_probeLineAverageIds
MInt m_sprayComputeInterval
MString m_postprocessFileName
MFloat ** m_probeLineAverageCoordinates
This class is a ScratchSpace.
std::basic_string< char > MString