20template <MInt nDim,
class SysEqn>
23template <MInt nDim_,
class SysEqn>
152 void init()
override;
GridCell
Grid cell Property Labels.
solverType & fvMbSolver() const
MInt a_noLevelSetsMb() const
MInt a_noFvGridCells() const
MFloat returnIdleRecord() const
void stopLoadTimer(const MString &name) const
Stop the load timer of the coupler.
void startLoadTimer(const MString &name) const
Start the load timer of the coupler.
MFloat returnLoadRecord() const
MInt a_noG0Cells(MInt set) const
solverType & lsSolver() const
MInt a_bodyIdG(const MInt cellId, const MInt set) const
MBool a_inBandG(MInt gcellId, MInt set) const
MBool a_nearGapG(const MInt gcellId) const
MInt a_potentialGapCellClose(MInt gcellId) const
MFloat a_coordinateG(const MInt gCellId, const MInt dim) const
MFloat a_outsideGValue() const
MFloat & a_levelSetFunctionG(const MInt cellId, const MInt setId)
typename maia::grid::tree::Tree< nDim_ >::Cell Cell
static constexpr MInt nDim
void lsGapInfo(const MInt, MInt *)
returns the gap region for a given fvCell
void init() override
performs the coupling after solver initialization
void updateLevelSet()
update the levelset outside of the band default should be case 2 -> don't do anything!
void testGapProperty()
transfers the LevelSetValues from the levelset to the moving boundary Part
MInt fv2lsIdParent(const MInt fvId)
MFloat interpolateLevelSet(MInt cellId, MFloat *point, MInt set)
void transferTimeStep()
transfers the gcell time step from the fvMbSolver! time should already be matching!
void initData()
Initialize coupling-class-specific Data.
void transferBodyProperties()
transfer current body properties from the ls-Solver to the fv-Solver bodyPosition bodyVelocity bodyAc...
void readProperties()
reads lsfvmb-coupling-specific data
MFloat interpolateLevelSetMb(MInt *interpolationCells, MFloat *point, const MInt set)
MInt noCouplingTimers(const MBool NotUsed(allTimings)) const override
Number of coupling timers.
void finalizeAdaptation(const MInt) override
finalizeAdaptation
typename LsSolver::Cell LsCell
void preCouple(MInt recepiStep) override
preCoupler
void transferLevelSetFieldValues(MBool)
transfers the LevelSetValues for all cells from the levelset to the moving boundary Part
MInt ls2fvIdParent(const MInt lsId)
void transferBodyRadius()
Copies the bodyRadius from the LS-solver into the FV-solver.
void computeBodyProperties(MInt returnMode, MFloat *bodyData, MInt body, MFloat time)
returns a specific property of the specifuec body used to provide a unique function for both level-se...
MFloat restartTime()
return restart time for lsSolver, when the fvSolver is not initialised yet!
MBool m_static_updateLevelSetFlowSolver_firstRun
void setGapState()
Sets the Gap-State in the fvmb-solver (stati are the same for all domains!) possible Gap-States:
void postCouple(MInt recipeStep=0) override
postCoupler
void transferLevelSetValues()
Sets the Levelset-Values in fvSolver.
void updateFlowSolver()
Updates the fv-mb-solver flow solver (after a completed levelSet TimeStep and finalizeLevelSet() )
void updateLevelSetOutsideBandPar()
computes an approximate level set value for cells outside the level-set computing band should not be ...
void finalizeCouplerInit() override
performs the final coupling after finalization
void testLsValues()
transfers the LevelSetValues from the levelset to the moving boundary Part
void finalizeBalance(const MInt) override
called after each solver-balance
void buildCollectedLevelSet(const MInt)
build the combined levelSet for the given cellId
static constexpr const MInt m_noCorners
MInt fv2lsId(const MInt fvId)
MInt noLevelSetFieldData()
static constexpr const MInt m_maxNoGapRegions
void transferAngularVelocity()
Writes the angular velocity and the angular acceleration from the LS-solver into the FV-solver.
void setGapGhostCellVariables(MInt)
void interpolateLsFV(const MInt, const MInt)
interpolate levelset values on the fv-grid
void postAdaptation() override
finalizeAdaptation
void balancePost() override
void initFvGapCells()
Initialises fv-Gap Cells for gapHandling (must be called each timeStep before the gapHandling call in...
void subCouple(MInt, MInt, std::vector< MBool > &) override
MInt ls2fvId(const MInt lsId)
void getCouplingTimings(std::vector< std::pair< MString, MFloat > > &timings, const MBool NotUsed(allTimings)) override
typename maia::grid::tree::Tree< nDim >::Cell Cell
MBool m_static_setGapState_first
void initBodyProperties()
initialise the body properties in the fvmb-solver based
void balancePre() override
Load balancing.
void transferGapCellProperty(MInt mode)
Sets the gap-cell-property mode 1 : regular call each timeStep (advance is/was-GapCell) mode 0 : init...
MBool m_allowLsInterpolation
void testCoupling()
transfers the LevelSetValues from the levelset to the moving boundary Part
void prepareAdaptation() override
finalizeAdaptation
MBool m_static_setGapState_earlyOpened[m_maxNoGapRegions]
void finalizeSubCoupleInit(MInt) override
performs the coupling in solver finalization
void checkProperties()
Checks property-data which is read in by both ls-and Fv-Solver.
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,...
std::basic_string< char > MString