MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
fvzonalrtv.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 FVZONALRTV_H_
8#define FVZONALRTV_H_
9
10#include <vector>
14#include "INCLUDE/maiatypes.h"
15#include "MEMORY/scratch.h"
16#include "UTIL/functions.h"
17#include "coupling.h"
18#include "fvzonal.h"
19
20template <MInt nDim, class SysEqn>
21class FvZonal;
22
23/*author Jannik: December 2019
24Coupling class for zonal RANS-LES method
25*/
26template <MInt nDim, class SysEqn>
27class FvZonalRTV : public FvZonal<nDim, SysEqn> {
28 private:
29 friend class FvZonal<nDim, SysEqn>;
30
31 public:
34
35 // Constructor
36 FvZonalRTV(const MInt couplingId, RANS* R, LES* L);
37
46 using Base::LESSolver;
57 using Base::RANSSolver;
58
59 void init();
61 void preCouple(MInt);
62 void postAdaptation();
63
64 private:
65 // suppressed functions
68 void finalizeAdaptation(const MInt){};
70 void subCouple(MInt, MInt, std::vector<MBool>&){};
71 void cleanUp(){};
72 void initData(){};
75
78 void reconstructNutilde();
79 void transferSolverData();
82
86
89
92
93 std::vector<MInt> m_rntBcCells;
94
96
102
106
107 const MFloat eps = 1e-16;
108 const MFloat epss = 1e-8;
109
110 protected:
112 static constexpr const MInt noAvgVars = 12;
113 static constexpr const MInt UM = 0;
114 static constexpr const MInt VM = 1;
115 static constexpr const MInt WM = 2;
116 static constexpr const MInt RHOM = 3;
117 static constexpr const MInt PM = 4;
118 static constexpr const MInt NUT = 5;
119 static constexpr const MInt UU = 6;
120 static constexpr const MInt UV = 7;
121 static constexpr const MInt UW = 8;
122 static constexpr const MInt VV = 9;
123 static constexpr const MInt VW = 10;
124 static constexpr const MInt WW = 11;
125 };
126};
127
128
129#endif // ifndef ZONALRTV_H_
MInt noRANSVariables()
Definition: fvzonal.h:49
void initRANSValues()
Initialize RANSValues for LES Solver.
Definition: fvzonal.cpp:96
LES & LESSolver() const
Definition: fvzonal.h:45
MBool m_restartLESAverage
Definition: fvzonal.h:70
const MInt m_noReconstructNutVars
Definition: fvzonal.h:65
MInt noLESVariables()
Definition: fvzonal.h:48
MInt m_zonalTransferInterval
Definition: fvzonal.h:68
MInt a_noFvCellsLES() const
Definition: fvzonal.h:54
MInt a_noFvCellsRANS() const
Definition: fvzonal.h:56
MInt m_RANSSolverId
Definition: fvzonal.h:62
RANS & RANSSolver() const
Definition: fvzonal.h:44
void initLESValues()
Initialize LESValues for RANS Solver.
Definition: fvzonal.cpp:135
MInt m_zonalAveragingTimeStep
Definition: fvzonal.h:67
MInt m_LESSolverId
Definition: fvzonal.h:63
MInt m_LESNoVarAverage
Definition: fvzonal.h:72
MFloat getAveragingFactor()
Definition: fvzonal.h:50
MInt a_noFvGridCellsRANS() const
Definition: fvzonal.h:57
MInt a_noFvGridCellsLES() const
Definition: fvzonal.h:55
MInt noExchangeVariables()
Definition: fvzonal.h:47
MInt m_7902faceNormalDir
Definition: fvzonalrtv.h:99
std::vector< MInt > m_rntBcCells
Definition: fvzonalrtv.h:93
void initData()
Definition: fvzonalrtv.h:72
void reconstructAverageFromNut()
Definition: fvzonalrtv.cpp:552
MInt m_averageDir
Definition: fvzonalrtv.h:104
const MFloat eps
Definition: fvzonalrtv.h:107
MInt m_averageFaceDir
Definition: fvzonalrtv.h:105
MInt m_noRntBcCells
Definition: fvzonalrtv.h:95
void transferSolverData()
Definition: fvzonalrtv.cpp:291
void prepareAdaptation()
Definition: fvzonalrtv.h:69
void finalizeSubCoupleInit(MInt)
Definition: fvzonalrtv.h:67
MInt m_rntStartTimeStep
Definition: fvzonalrtv.h:83
MFloat m_7902Position
Definition: fvzonalrtv.h:98
MFloat m_turbulentIntensity
Definition: fvzonalrtv.h:90
const MFloat epss
Definition: fvzonalrtv.h:108
MInt m_averageTimeSteps
Definition: fvzonalrtv.h:88
MFloat m_nuTildeInfinity
Definition: fvzonalrtv.h:87
void readProperties()
Definition: fvzonalrtv.h:74
void subCouple(MInt, MInt, std::vector< MBool > &)
Definition: fvzonalrtv.h:70
void postCouple(MInt)
Definition: fvzonalrtv.h:66
void determineNutReconstructionCells()
Definition: fvzonalrtv.cpp:213
MInt m_bcId7902
Definition: fvzonalrtv.h:97
MBool m_reconstructAverageFromNut
Definition: fvzonalrtv.h:85
FvZonalRTV(const MInt couplingId, RANS *R, LES *L)
void cleanUp()
Definition: fvzonalrtv.h:71
MFloat m_averagePos
Definition: fvzonalrtv.h:103
void reconstructNutilde()
Definition: fvzonalrtv.cpp:341
void determineZonalPositions()
Definition: fvzonalrtv.cpp:109
void preCouple(MInt)
Definition: fvzonalrtv.cpp:262
void checkProperties()
Definition: fvzonalrtv.h:73
MInt m_7902periodicDir
Definition: fvzonalrtv.h:101
void postAdaptation()
Definition: fvzonalrtv.cpp:234
void init()
Definition: fvzonalrtv.cpp:93
MInt m_7902wallDir
Definition: fvzonalrtv.h:100
void finalizeAdaptation(const MInt)
Definition: fvzonalrtv.h:68
MFloat m_tuLengthScaleCorrection
Definition: fvzonalrtv.h:91
MBool m_reconstructNut
Definition: fvzonalrtv.h:84
void finalizeCouplerInit()
Definition: fvzonalrtv.cpp:198
void finalizeRANSSolverAfterReset()
int32_t MInt
Definition: maiatypes.h:62
double MFloat
Definition: maiatypes.h:52
bool MBool
Definition: maiatypes.h:58
static constexpr const MInt NUT
Definition: fvzonalrtv.h:118
static constexpr const MInt VV
Definition: fvzonalrtv.h:122
static constexpr const MInt PM
Definition: fvzonalrtv.h:117
static constexpr const MInt VM
Definition: fvzonalrtv.h:114
static constexpr const MInt VW
Definition: fvzonalrtv.h:123
static constexpr const MInt UU
Definition: fvzonalrtv.h:119
static constexpr const MInt WM
Definition: fvzonalrtv.h:115
static constexpr const MInt RHOM
Definition: fvzonalrtv.h:116
static constexpr const MInt UM
Definition: fvzonalrtv.h:113
static constexpr const MInt WW
Definition: fvzonalrtv.h:124
static constexpr const MInt noAvgVars
Definition: fvzonalrtv.h:112
static constexpr const MInt UV
Definition: fvzonalrtv.h:120
static constexpr const MInt UW
Definition: fvzonalrtv.h:121