21template <MInt nDim, MInt nDist,
class SysEqn>
24template <MInt nDim_, MInt nDist,
class SysEqn>
122 void init()
override;
158 template <MInt bodyType>
160 template <MInt bodyType>
MInt a_noDistributions(const MInt id=0) const
MInt a_isThermal(const MInt id=0) const
MBool a_isActive(const MInt cellId, const MInt id=0) const
MFloat a_Re(const MInt id=0) const
MFloat a_cellLengthAtLevel(MInt level, const MInt id=0)
MFloat & a_oldVariable(const MInt cellId, const MInt varId, const MInt id=0)
solverType & lbSolver(const MInt solverId=0) const
MInt a_pvt(const MInt id=0) const
MInt a_pvrho(const MInt id=0) const
MInt a_childId(const MInt cellId, const MInt child, const MInt id=0)
MInt & a_associatedBodyIdsMb(const MInt cellId, const MInt set, const MInt id=0)
MInt a_noLevelSetsMb(const MInt id=0) const
MBool a_wasActive(const MInt cellId, const MInt id=0) const
MFloat a_initTemperatureKelvin(const MInt id=0) const
MInt a_pvv(const MInt id=0) const
MInt a_pvu(const MInt id=0) const
MInt a_pvw(const MInt id=0) const
MInt a_noCells(const MInt id=0) const
MFloat a_Ma(const MInt id=0) const
MFloat & a_variable(const MInt cellId, const MInt varId, const MInt id=0)
LbBndCnd & lbBndCnd(const MInt id=0)
MInt a_noEmbeddedBodiesLB(const MInt id=0) const
MInt noMinCells(const MInt id=0) const
MInt a_noVariables(const MInt id=0) const
MbCellCollector & a_mbCell(const MInt id=0)
MInt a_noLbCells(const MInt id=0) const
MInt a_parentId(const MInt cellId, const MInt id=0)
MInt minCell(const MInt index, const MInt id=0) const
MFloat & a_levelSetFunctionMb(const MInt cellId, const MInt set, const MInt id=0)
solverType & lsSolver() const
MInt a_bodyIdG(const MInt cellId, const MInt set) const
MInt a_bodyToSet(const MInt bodyId) const
MInt a_noEmbeddedBodies() const
MFloat a_outsideGValue() const
MFloat & a_levelSetFunctionG(const MInt cellId, const MInt setId)
This class represents all LB models.
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_liftStartAngle2
void interpolateLsLb(const MInt from, const MInt to)
interpolate levelset values on the lb-grid
std::array< MInt, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_bodyToFunction
MInt lb2lsIdParent(const MInt lbId)
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_amplitude
void initializeSolidDomain()
void transferLevelSetFieldValues(MBool)
transfers the LevelSetValues for all cells from the levelset to the moving boundary Part
maia::coupling::Mapping bodyToBndryMapping
MInt ls2lbId(const MInt lsId)
void updateFlowSolverLevelSet()
void finalizeSubCoupleInit(MInt couplingStep) override
void updateGeometry()
Updates the member-variables in the geometry-intersection class.
MBool m_static_computeBodyProperties_first
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_circleStartAngle
static constexpr const MInt m_maxNoEmbeddedBodies
std::array< MFloat, m_maxNoEmbeddedBodies *3 > m_static_computeBodyProperties_normal
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_mu2
MFloat m_static_computeBodyProperties_rotAngle
MFloat m_static_computeBodyProperties_omega
void preCouple(MInt step) override
static constexpr const MInt m_noCorners
static constexpr const MBool m_constructGField
void finalizeAdaptation(const MInt solverId) override
void finalizeCouplerInit() override
void buildCollectedLevelSet(const MInt cellId)
build the combined levelSet for the given cellId
MFloat interpolateLevelSet(MInt *interpolationCells, MFloat *point, const MInt set)
void updateBoundaryCellsFromGField()
MFloat m_static_computeBodyProperties_Strouhal
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_freqFactor
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_liftStartAngle1
void testCoupling()
transfers the LevelSetValues from the levelset to the moving boundary Part
void postAdaptation() override
finalizeAdaptation
void checkProperties()
Checks property-data which is read in by both ls-and Lb-Solver.
maia::coupling::Mapping bndryToBodyMapping
void postCouple(MInt step) override
static constexpr MInt nDim
void updateLevelSetFlowSolver()
Updates the fv-mb-solver flow solver (after a completed levelSet TimeStep and finalizeLevelSet() )
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_mu
MInt ls2lbIdParent(const MInt lsId)
MInt noLevelSetFieldData()
void subCouple(MInt, MInt, std::vector< MBool > &) override
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_liftEndAngle1
void descendLevelSetValue(const MInt cellId, const MInt *bodyId, const MInt bodyCnt)
MInt lb2lsId(const MInt lbId)
MBool m_static_updateLevelSetFlowSolver_firstRun
void createBodyTree()
transfers the LevelSetValues from the levelset to the moving boundary Part
std::array< MFloat, m_maxNoEmbeddedBodies > m_static_computeBodyProperties_liftEndAngle2
std::array< MFloat, m_maxNoEmbeddedBodies *3 > m_static_computeBodyProperties_initialBodyCenter
MFloat * m_transferBoundingBox
MInt convertId(SolverA &solverA, SolverB &solverB, const MInt solverAId)
Conversion from solverA id to the solverB id on the same-level only!
MInt convertIdParent(SolverA &solverA, SolverB &solverB, const MInt solverAId)
Conversion from solverA id to the solverB id If no cell on the same level is found,...
Multi-to-multi mapping class.