7#ifndef CouplerLbFvEEMultiphase_H_
8#define CouplerLbFvEEMultiphase_H_
26template <MInt nDim, MInt nDist,
class SysEqn>
28template <MInt nDim, MInt nDist,
class SysEqn>
31template <MInt nDim, MInt nDist,
class SysEqn>
34template <MInt nDim, MInt nDist,
class SysEqnLb,
class SysEqnFv>
37template <MInt nDim, MInt nDist,
class SysEqnLb,
class SysEqnFv>
77 template <MBool updateGradients>
GridCell
Grid cell Property Labels.
void subCouple(MInt, MInt, std::vector< MBool > &solverCompleted) override
MFloat * m_depthCorrectionValues
MBool m_updateAfterPropagation
MBool checkAlphaConverged()
typename maia::grid::tree::Tree< nDim >::Cell Cell
void balancePost() override
void transferAlphaFv2Lb()
void transferNuLb2Fv(const MFloat rkAlpha)
std::array< MFloat, nDim > m_depthCorrectionCoefficients
MInt m_maxNoAlphaIterations
MBool m_disableSubstepAlphaRedist
std::vector< MInt > findRedistCells(const MInt cellId, const MBool searchUp, const MFloat limit)
find neighbor Cells to cellId, that are candidates for alpha corrections
MBool m_redistributeAlpha
void finalizeCouplerInit() override
std::array< MFloat, nDim > m_gravityRefCoords
void revertLbDistributions()
void revertLbOldVariables()
void correctInvalidAlpha()
find cells with invalid alpha values and redistribute mass from/to neighboring cells to raise/lower a...
void transferULb2Fv(const MFloat rkAlpha)
void initDepthcorrection()
void transferPressureLb2Fv(const MFloat rkAlpha, const MBool update)
void preCouple(MInt) override
MInt m_alphaConvergenceCheck
void finalizeSubCoupleInit(MInt) override
void balancePre() override
Load balancing.
MFloat m_interpolationFactor
MInt a_lbSolverId() const
MInt lb2fvId(const MInt lbId) const
ConversionFactors conversionLbFv
ConversionFactors conversionFvLb
MInt a_fvSolverId() const
MInt fv2lbId(const MInt fvId) const
solverType & fvSolver(const MInt solverId=0) const
solverType & lbSolver(const MInt solverId=0) const
LbBndCnd & lbBndCnd(const MInt id=0)
MInt a_noLbCells(const MInt id=0) const
This class represents all LB models.