MAIA bb96820c
Multiphysics at AIA
Loading...
Searching...
No Matches
fvzonal.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 FVZONAL_H_
8#define FVZONAL_H_
9
10#include <vector>
15#include "INCLUDE/maiatypes.h"
16#include "MEMORY/scratch.h"
17#include "UTIL/functions.h"
18#include "coupling.h"
19#include "couplingutils.h"
20
21template <MInt nDim, class SysEqn>
22class FvZonal : public CouplingFv<nDim, SysEqn>, public CouplingFv<nDim, FvSysEqnNS<nDim>> {
23 private:
24 friend class CouplingFv<nDim, FvSysEqnNS<nDim>>;
25 friend class CouplingFv<nDim, SysEqn>;
26
27 public:
30
31 public:
32 // Constructor
33 FvZonal(const MInt couplingId, RANS* R, LES* L);
34 virtual ~FvZonal() = default;
35
36 // empty main functions
37 void init() override{};
39 void postCouple(MInt) override{};
40 void cleanUp(){};
41 void checkProperties() override{};
42
43 protected:
46
47 MInt noExchangeVariables() { return nDim + 2; };
51 return F1B8 * LESSolver().m_Ma * sqrt(LESSolver().m_TInfinity) * LESSolver().timeStep();
52 };
53
54 MInt a_noFvCellsLES() const { return LESSolver().a_noCells(); }
56 MInt a_noFvCellsRANS() const { return RANSSolver().a_noCells(); }
58
59 void initRANSValues();
60 void initLESValues();
61
64
66
71
73
76
78};
79
80
81#endif // ifndef FVZONAL_H_
std::vector< solverType * > m_fvSolvers
Definition: coupling.h:395
MInt a_noCells() const
Returns the number of cells.
MInt noVariables() const override
Return the number of primitive variables.
MFloat timeStep(MBool canSolver=false) noexcept
MInt noRANSVariables()
Definition: fvzonal.h:49
MBool m_STGSponge
Definition: fvzonal.h:77
void cleanUp()
Definition: fvzonal.h:40
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
FvZonal(const MInt couplingId, RANS *R, LES *L)
const MInt m_noReconstructNutVars
Definition: fvzonal.h:65
MInt noLESVariables()
Definition: fvzonal.h:48
MInt m_zonalTransferInterval
Definition: fvzonal.h:68
void postCouple(MInt) override
Definition: fvzonal.h:39
void init() override
Definition: fvzonal.h:37
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
virtual ~FvZonal()=default
MInt m_LESSolverId
Definition: fvzonal.h:63
MInt m_LESNoVarAverage
Definition: fvzonal.h:72
MFloat m_azimuthalAngle
Definition: fvzonal.h:75
MFloat getAveragingFactor()
Definition: fvzonal.h:50
void checkProperties() override
Definition: fvzonal.h:41
MBool m_cylindricCommunication
Definition: fvzonal.h:74
MInt a_noFvGridCellsRANS() const
Definition: fvzonal.h:57
void finalizeSubCoupleInit(MInt)
Definition: fvzonal.h:38
MInt a_noFvGridCellsLES() const
Definition: fvzonal.h:55
MInt noExchangeVariables()
Definition: fvzonal.h:47
MInt m_averageTimeSteps
Definition: fvzonal.h:69
MFloat m_Ma
the Mach number
Definition: solver.h:71
int32_t MInt
Definition: maiatypes.h:62
double MFloat
Definition: maiatypes.h:52
bool MBool
Definition: maiatypes.h:58