MAIA bb96820c
Multiphysics at AIA
|
#include <lslb.h>
Public Types | |
using | LsSolver = LsCartesianSolver< nDim > |
using | LbSolver = LbSolverDxQy< nDim, nDist, SysEqn > |
Public Types inherited from CouplingLS< nDim_ > | |
using | solverType = LsCartesianSolver< nDim > |
Public Types inherited from CouplingLB< nDim_, nDist, SysEqn > | |
using | solverType = LbSolverDxQy< nDim, nDist, SysEqn > |
using | LbBndCnd = LbBndCndDxQy< nDim, nDist, SysEqn > |
using | MbCellCollector = maia::lb::collector::LbMbCellCollector< nDim > |
Public Member Functions | |
LsLb (MInt couplingId, LsSolver *ls, LbSolver *lb) | |
void | init () override |
void | preCouple (MInt step) override |
void | postCouple (MInt step) override |
void | finalizeCouplerInit () override |
void | finalizeSubCoupleInit (MInt couplingStep) override |
void | subCouple (MInt, MInt, std::vector< MBool > &) override |
void | cleanUp () override |
void | postAdaptation () override |
finalizeAdaptation More... | |
void | finalizeAdaptation (const MInt solverId) override |
MInt | ls2lbId (const MInt lsId) |
MInt | ls2lbIdParent (const MInt lsId) |
MInt | lb2lsId (const MInt lbId) |
MInt | lb2lsIdParent (const MInt lbId) |
void | testCoupling () |
transfers the LevelSetValues from the levelset to the moving boundary Part More... | |
void | updateBoundaryCellsFromGField () |
void | createBodyTree () |
transfers the LevelSetValues from the levelset to the moving boundary Part More... | |
void | updateLevelSetFlowSolver () |
Updates the fv-mb-solver flow solver (after a completed levelSet TimeStep and finalizeLevelSet() ) More... | |
void | updateFlowSolverLevelSet () |
void | transferLevelSetFieldValues (MBool) |
transfers the LevelSetValues for all cells from the levelset to the moving boundary Part More... | |
void | buildCollectedLevelSet (const MInt cellId) |
build the combined levelSet for the given cellId More... | |
MFloat | interpolateLevelSet (MInt *interpolationCells, MFloat *point, const MInt set) |
void | interpolateLsLb (const MInt from, const MInt to) |
interpolate levelset values on the lb-grid More... | |
MInt | noLevelSetFieldData () |
void | initializeSolidDomain () |
void | constructGField () |
template<MInt bodyType> | |
void | constructGField_ () |
template<MInt bodyType> | |
void | descendLevelSetValue (const MInt cellId, const MInt *bodyId, const MInt bodyCnt) |
Public Member Functions inherited from CouplingLS< nDim_ > | |
CouplingLS (const MInt couplingId, solverType *b) | |
solverType & | lsSolver () const |
MInt | a_noLsCells () const |
MFloat | a_outsideGValue () const |
MInt | a_noG0Cells (MInt set) const |
MInt | a_noBandCells (MInt set) const |
MInt | a_maxGCellLevel (const MInt setId) const |
MFloat & | a_levelSetFunctionG (const MInt cellId, const MInt setId) |
MInt | a_bodyIdG (const MInt cellId, const MInt set) const |
MInt & | a_bodyIdG (const MInt cellId, const MInt set) |
MFloat | a_coordinateG (const MInt gCellId, const MInt dim) const |
MInt | a_G0CellId (const MInt id, const MInt set) const |
MFloat | a_normalVectorG (const MInt gCellId, const MInt dim, const MInt set) const |
MFloat | a_curvatureG (const MInt gCellId, const MInt set) const |
MBool | a_inBandG (MInt gcellId, MInt set) const |
MInt | a_potentialGapCellClose (MInt gcellId) const |
MBool | a_nearGapG (const MInt gcellId) const |
MInt | a_bodyToSet (const MInt bodyId) const |
MInt | a_noEmbeddedBodies () const |
MInt | a_noSets () const |
MInt | a_maxnoSets () const |
MInt | a_startSet () const |
MFloat & | a_extensionVelocityG (const MInt cellId, const MInt dim, const MInt setId) |
Public Member Functions inherited from Coupling | |
Coupling (const MInt couplingId) | |
virtual | ~Coupling ()=default |
Coupling (const Coupling &)=delete | |
Coupling & | operator= (const Coupling &)=delete |
MInt | couplerId () const |
virtual void | init ()=0 |
virtual void | finalizeSubCoupleInit (MInt solverId)=0 |
virtual void | finalizeCouplerInit ()=0 |
virtual void | preCouple (MInt recipeStep)=0 |
virtual void | subCouple (MInt recipeStep, MInt solverId, std::vector< MBool > &solverCompleted)=0 |
virtual void | postCouple (MInt recipeStep)=0 |
virtual void | cleanUp ()=0 |
virtual void | balancePre () |
Load balancing. More... | |
virtual void | balancePost () |
virtual void | reinitAfterBalance () |
virtual void | prepareAdaptation () |
virtual void | postAdaptation () |
virtual void | finalizeAdaptation (const MInt) |
virtual void | writeRestartFile (const MInt) |
virtual MInt | noCellDataDlb () const |
Methods to inquire coupler data during balancing. More... | |
virtual MInt | cellDataTypeDlb (const MInt NotUsed(dataId)) const |
virtual MInt | cellDataSizeDlb (const MInt NotUsed(dataId), const MInt NotUsed(cellId)) |
virtual void | getCellDataDlb (const MInt NotUsed(dataId), const MInt NotUsed(oldNoCells), const MInt *const NotUsed(bufferIdToCellId), MInt *const NotUsed(data)) |
virtual void | getCellDataDlb (const MInt NotUsed(dataId), const MInt NotUsed(oldNoCells), const MInt *const NotUsed(bufferIdToCellId), MLong *const NotUsed(data)) |
virtual void | getCellDataDlb (const MInt NotUsed(dataId), const MInt NotUsed(oldNoCells), const MInt *const NotUsed(bufferIdToCellId), MFloat *const NotUsed(data)) |
virtual void | setCellDataDlb (const MInt NotUsed(dataId), const MInt *const NotUsed(data)) |
virtual void | setCellDataDlb (const MInt NotUsed(dataId), const MLong *const NotUsed(data)) |
virtual void | setCellDataDlb (const MInt NotUsed(dataId), const MFloat *const NotUsed(data)) |
virtual void | finalizeBalance (const MInt) |
virtual MInt | noCouplingTimers (const MBool NotUsed(allTimings)) const |
Number of coupling timers. More... | |
virtual void | getCouplingTimings (std::vector< std::pair< MString, MFloat > > &NotUsed(timings), const MBool NotUsed(allTimings)) |
Return coupling timings. More... | |
virtual void | getDomainDecompositionInformation (std::vector< std::pair< MString, MInt > > &NotUsed(domainInfo)) |
Return information on current domain decomposition (e.g. number of coupled cells/elements/...) More... | |
void | setDlbTimer (const MInt timerId) |
void | startLoadTimer (const MString &name) const |
Start the load timer of the coupler. More... | |
void | stopLoadTimer (const MString &name) const |
Stop the load timer of the coupler. More... | |
Public Member Functions inherited from CouplingLB< nDim_, nDist, SysEqn > | |
CouplingLB (const MInt couplingId, Solver *solvers, const MInt noSolvers=1) | |
CouplingLB (const MInt couplingId, std::vector< solverType * > solvers) | |
MFloat | a_physicalTime () const |
MFloat | lsTimeStep () const |
MInt | a_RKStep () const |
MInt | a_noLbCells (const MInt id=0) const |
MInt | a_noLevelSetsMb (const MInt id=0) const |
MFloat | a_Ma (const MInt id=0) const |
MFloat | a_Re (const MInt id=0) const |
MInt | a_pvu (const MInt id=0) const |
MInt | a_pvv (const MInt id=0) const |
MInt | a_pvw (const MInt id=0) const |
MInt | a_pvrho (const MInt id=0) const |
MInt | a_pvt (const MInt id=0) const |
MInt | a_isThermal (const MInt id=0) const |
MInt | a_noDistributions (const MInt id=0) const |
MFloat | a_initTemperatureKelvin (const MInt id=0) const |
MFloat | a_time () const |
MbCellCollector & | a_mbCell (const MInt id=0) |
MInt | a_boundaryCellMb (const MInt cellId, const MInt id=0) |
MFloat & | a_levelSetFunctionMb (const MInt cellId, const MInt set, const MInt id=0) |
MFloat | a_levelSetFunctionMb (const MInt cellId, const MInt set, const MInt id=0) const |
MInt & | a_associatedBodyIdsMb (const MInt cellId, const MInt set, const MInt id=0) |
MInt | a_associatedBodyIdsMb (const MInt cellId, const MInt set, const MInt id=0) const |
MInt | a_parentId (const MInt cellId, const MInt id=0) |
MInt | a_childId (const MInt cellId, const MInt child, const MInt id=0) |
MInt | minCell (const MInt index, const MInt id=0) const |
MInt | noMinCells (const MInt id=0) const |
MInt | a_noCells (const MInt id=0) const |
MFloat | a_cellLengthAtLevel (MInt level, const MInt id=0) |
MInt | a_noEmbeddedBodiesLB (const MInt id=0) const |
MBool | a_isActive (const MInt cellId, const MInt id=0) const |
MBool | a_wasActive (const MInt cellId, const MInt id=0) const |
MInt | a_noVariables (const MInt id=0) const |
MFloat & | a_variable (const MInt cellId, const MInt varId, const MInt id=0) |
MFloat & | a_oldVariable (const MInt cellId, const MInt varId, const MInt id=0) |
MInt | a_bndCellId (const MInt bndCell, const MInt id=0) |
MInt | a_noBndCells (const MInt id=0) |
Public Attributes | |
MFloat * | m_transferBoundingBox {} |
Static Public Attributes | |
static constexpr MInt | nDim = nDim_ |
static constexpr const MBool | m_constructGField = false |
Private Member Functions | |
void | initData () |
void | checkProperties () |
Checks property-data which is read in by both ls-and Lb-Solver. More... | |
void | readProperties () |
void | updateGeometry () |
Updates the member-variables in the geometry-intersection class. More... | |
Static Private Attributes | |
static constexpr const MInt | m_maxNoEmbeddedBodies = 1 |
static constexpr const MInt | m_noCorners = (nDim == 2) ? 4 : 8 |
Additional Inherited Members | |
Protected Member Functions inherited from Coupling | |
MFloat | returnLoadRecord () const |
MFloat | returnIdleRecord () const |
Protected Member Functions inherited from CouplingLB< nDim_, nDist, SysEqn > | |
MInt | noSolvers () const |
solverType & | lbSolver (const MInt solverId=0) const |
LbBndCnd & | lbBndCnd (const MInt id=0) |
using LsLb< nDim_, nDist, SysEqn >::LbSolver = LbSolverDxQy<nDim, nDist, SysEqn> |
using LsLb< nDim_, nDist, SysEqn >::LsSolver = LsCartesianSolver<nDim> |
Definition at line 23 of file lslb.cpp.
Definition at line 598 of file lslb.cpp.
|
inlineoverridevirtual |
void LsLb< nDim_, nDist, SysEqn >::constructGField | ( | ) |
void LsLb< nDim_, nDist, SysEqn >::descendLevelSetValue | ( | const MInt | cellId, |
const MInt * | bodyId, | ||
const MInt | bodyCnt | ||
) |
Reimplemented from Coupling.
Definition at line 505 of file lslb.cpp.
Implements Coupling.
Definition at line 411 of file lslb.cpp.
|
private |
Definition at line 519 of file lslb.cpp.
MFloat LsLb< nDim, nDist, SysEqn >::interpolateLevelSet | ( | MInt * | interpolationCells, |
MFloat * | point, | ||
const MInt | set | ||
) |
interpolates the levelSet value further on fv-cells
Definition at line 663 of file lslb.cpp.
Definition at line 640 of file lslb.cpp.
Definition at line 138 of file lslb.h.
Definition at line 352 of file lslb.cpp.
Implements Coupling.
Definition at line 478 of file lslb.cpp.
Implements Coupling.
Definition at line 434 of file lslb.cpp.
Definition at line 114 of file lslb.cpp.
Definition at line 159 of file lslb.cpp.
void LsLb< nDim_, nDist, SysEqn >::updateBoundaryCellsFromGField | ( | ) |
void LsLb< nDim_, nDist, SysEqn >::updateFlowSolverLevelSet | ( | ) |
Definition at line 389 of file lslb.cpp.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |