MAIA bb96820c
Multiphysics at AIA
|
#include <lslbsurface.h>
Classes | |
struct | ConversionFactors |
struct | Timers |
Public Types | |
using | LsSolver = LsCartesianSolver< nDim > |
using | LbSolver = LbSolverDxQy< nDim, nDist, SysEqn > |
using | CouplingLs = CouplingLS< nDim > |
using | CouplingLb = CouplingLB< 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 | |
LsLbSurface (MInt couplingId, LsSolver *ls, LbSolver *lb) | |
~LsLbSurface () | |
void | init () override |
void | finalizeSubCoupleInit (MInt) override |
void | finalizeCouplerInit () override |
void | preCouple (MInt) override |
void | subCouple (MInt, MInt, std::vector< MBool > &) override |
void | postCouple (MInt recipeStep=0) override |
void | cleanUp () override |
void | reinitAfterBalance () |
MInt | ls2lbId (MInt) |
MInt | lb2lsId (MInt) |
MInt | ls2lbIdParent (MInt) |
MInt | lb2lsIdParent (MInt) |
void | updateBoundaryCellsFromGField () |
void | refillEmergedCells () |
void | interpolateCurvature (MFloatScratchSpace &curvature) |
void | interpolateNormal () |
void | evaluateContour () |
void | bc3060 (MInt) |
void | transferLevelSetFieldValues (MBool) |
void | setExtensionVelocity () |
void | setExtensionVelocityB () |
void | computeGCellTimeStep () |
MInt | a_bodyIdG (const MInt cellId, const MInt set) const |
MInt & | a_bodyIdG (const MInt cellId, const MInt set) |
MInt | a_bodyToSet (const MInt bodyId) const |
MFloat | a_coordinateG (const MInt gCellId, const MInt dim) const |
MFloat | a_curvatureG (const MInt gCellId, const MInt set) const |
MFloat & | a_extensionVelocityG (const MInt cellId, const MInt dim, const MInt setId) |
MInt | a_G0CellId (const MInt id, const MInt set) const |
MFloat & | a_levelSetFunctionG (const MInt cellId, const MInt setId) |
MInt | a_noEmbeddedBodies () const |
MInt | a_noG0Cells (MInt set) const |
MInt | a_noLsCells () const |
MFloat | a_normalVectorG (const MInt gCellId, const MInt dim, const MInt set) const |
MInt | a_noSets () const |
MFloat | a_outsideGValue () const |
solverType & | lsSolver () 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_boundaryCellMb (const MInt cellId, const MInt id=0) |
MFloat | a_cellLengthAtLevel (MInt level, const MInt id=0) |
MInt | a_childId (const MInt cellId, const MInt child, const MInt id=0) |
MBool | a_isActive (const MInt cellId, const MInt id=0) const |
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 |
MFloat | a_Ma (const MInt id=0) const |
MbCellCollector & | a_mbCell (const MInt id=0) |
MInt | a_noCells (const MInt id=0) const |
MInt | a_noDistributions (const MInt id=0) const |
MInt | a_noEmbeddedBodiesLB (const MInt id=0) const |
MInt | a_noLbCells (const MInt id=0) const |
MInt | a_noLevelSetsMb (const MInt id=0) const |
MInt | a_noVariables (const MInt id=0) const |
MFloat & | a_oldVariable (const MInt cellId, const MInt varId, const MInt id=0) |
MInt | a_parentId (const MInt cellId, const MInt id=0) |
MFloat | a_Re (const MInt id=0) const |
MFloat & | a_variable (const MInt cellId, const MInt varId, const MInt id=0) |
MBool | a_wasActive (const MInt cellId, const MInt id=0) const |
LbBndCnd & | lbBndCnd (const MInt id=0) |
solverType & | lbSolver (const MInt solverId=0) const |
MInt | minCell (const MInt index, const MInt id=0) const |
MInt | noMinCells (const MInt id=0) const |
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 | |
MInt | m_lbSolverId {} |
MInt | m_lsSolverId {} |
MBool | m_static_updateLevelSetFlowSolver_firstRun = true |
Static Public Attributes | |
static constexpr MInt | m_noCorners = (nDim == 2) ? 4 : 8 |
Private Member Functions | |
void | initData () |
Initialize coupling-class-specific Data. More... | |
void | initTimers () |
void | checkProperties () |
Checks property-data which is read in by both ls-and Lb-Solver. More... | |
void | readProperties () |
reads lsfvmb-coupling-specific data More... | |
void | updateGeometry () |
Updates the member-variables in the geometry-intersection class. More... | |
Private Attributes | |
MBool | m_calcWallForces {} |
ConversionFactors | conversionLsLb |
ConversionFactors | conversionLbLs |
MFloat | m_surfaceTension = 0.0 |
MFloat | m_gravity {} |
MFloat | m_Ga = 0.0 |
MFloat | m_Eo = 1.0 |
MFloat | m_initCurvature = 0.0 |
MFloat | m_initHeight = 0.0 |
std::array< MInt, Timers::_count > | m_timers |
maia::coupling::Mapping | bndryToVolumeMap {} |
maia::coupling::Mapping | volumeToBndryMap {} |
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) |
Definition at line 27 of file lslbsurface.h.
using LsLbSurface< nDim, nDist, SysEqn >::CouplingLb = CouplingLB<nDim, nDist, SysEqn> |
Definition at line 33 of file lslbsurface.h.
using LsLbSurface< nDim, nDist, SysEqn >::CouplingLs = CouplingLS<nDim> |
Definition at line 32 of file lslbsurface.h.
using LsLbSurface< nDim, nDist, SysEqn >::LbSolver = LbSolverDxQy<nDim, nDist, SysEqn> |
Definition at line 31 of file lslbsurface.h.
using LsLbSurface< nDim, nDist, SysEqn >::LsSolver = LsCartesianSolver<nDim> |
Definition at line 30 of file lslbsurface.h.
LsLbSurface< nDim, nDist, SysEqn >::LsLbSurface | ( | MInt | couplingId, |
LsSolver * | ls, | ||
LbSolver * | lb | ||
) |
Definition at line 24 of file lslbsurface.cpp.
LsLbSurface< nDim, nDist, SysEqn >::~LsLbSurface |
Definition at line 43 of file lslbsurface.cpp.
|
inline |
Definition at line 498 of file coupling.h.
|
inline |
Definition at line 502 of file coupling.h.
|
inline |
Definition at line 205 of file coupling.h.
|
inline |
Definition at line 203 of file coupling.h.
|
inline |
Definition at line 220 of file coupling.h.
|
inline |
Definition at line 487 of file coupling.h.
|
inline |
Definition at line 518 of file coupling.h.
|
inline |
Definition at line 508 of file coupling.h.
|
inline |
Definition at line 207 of file coupling.h.
|
inline |
Definition at line 215 of file coupling.h.
|
inline |
Definition at line 226 of file coupling.h.
|
inline |
Definition at line 209 of file coupling.h.
|
inline |
Definition at line 522 of file coupling.h.
|
inline |
Definition at line 199 of file coupling.h.
|
inline |
Definition at line 490 of file coupling.h.
|
inline |
Definition at line 494 of file coupling.h.
|
inline |
Definition at line 472 of file coupling.h.
|
inline |
Definition at line 486 of file coupling.h.
|
inline |
Definition at line 516 of file coupling.h.
|
inline |
Definition at line 481 of file coupling.h.
|
inline |
Definition at line 221 of file coupling.h.
|
inline |
Definition at line 520 of file coupling.h.
|
inline |
Definition at line 194 of file coupling.h.
|
inline |
Definition at line 470 of file coupling.h.
|
inline |
Definition at line 471 of file coupling.h.
|
inline |
Definition at line 191 of file coupling.h.
|
inline |
Definition at line 211 of file coupling.h.
|
inline |
Definition at line 222 of file coupling.h.
|
inline |
Definition at line 526 of file coupling.h.
|
inline |
Definition at line 533 of file coupling.h.
|
inline |
Definition at line 192 of file coupling.h.
|
inline |
Definition at line 506 of file coupling.h.
|
inline |
Definition at line 473 of file coupling.h.
|
inline |
Definition at line 528 of file coupling.h.
|
inline |
Definition at line 524 of file coupling.h.
void LsLbSurface< nDim, nDist, SysEqn >::bc3060 | ( | MInt | ) |
|
privatevirtual |
Implements Coupling.
Definition at line 170 of file lslbsurface.cpp.
|
inlineoverridevirtual |
void LsLbSurface< nDim, nDist, SysEqn >::computeGCellTimeStep | ( | ) |
void LsLbSurface< nDim, nDist, SysEqn >::evaluateContour |
Definition at line 729 of file lslbsurface.cpp.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Implements Coupling.
Definition at line 208 of file lslbsurface.cpp.
|
private |
Definition at line 87 of file lslbsurface.cpp.
|
private |
Definition at line 50 of file lslbsurface.cpp.
void LsLbSurface< nDim, nDist, SysEqn >::interpolateCurvature | ( | MFloatScratchSpace & | curvature | ) |
Definition at line 604 of file lslbsurface.cpp.
void LsLbSurface< nDim, nDist, SysEqn >::interpolateNormal |
Definition at line 648 of file lslbsurface.cpp.
MInt LsLbSurface< nDim, nDist, SysEqn >::lb2lsId | ( | MInt | ) |
MInt LsLbSurface< nDim, nDist, SysEqn >::lb2lsIdParent | ( | MInt | ) |
|
inline |
Definition at line 461 of file coupling.h.
|
inline |
Definition at line 454 of file coupling.h.
MInt LsLbSurface< nDim, nDist, SysEqn >::ls2lbId | ( | MInt | ) |
MInt LsLbSurface< nDim, nDist, SysEqn >::ls2lbIdParent | ( | MInt | ) |
|
inline |
Definition at line 188 of file coupling.h.
|
inline |
Definition at line 512 of file coupling.h.
|
inline |
Definition at line 514 of file coupling.h.
|
overridevirtual |
Implements Coupling.
Definition at line 346 of file lslbsurface.cpp.
|
overridevirtual |
Implements Coupling.
Definition at line 217 of file lslbsurface.cpp.
|
privatevirtual |
Implements Coupling.
Definition at line 189 of file lslbsurface.cpp.
void LsLbSurface< nDim, nDist, SysEqn >::refillEmergedCells |
Definition at line 700 of file lslbsurface.cpp.
|
inlinevirtual |
void LsLbSurface< nDim, nDist, SysEqn >::setExtensionVelocity |
Definition at line 411 of file lslbsurface.cpp.
void LsLbSurface< nDim, nDist, SysEqn >::setExtensionVelocityB |
Definition at line 514 of file lslbsurface.cpp.
|
inlineoverridevirtual |
void LsLbSurface< nDim, nDist, SysEqn >::transferLevelSetFieldValues | ( | MBool | ) |
void LsLbSurface< nDim, nDist, SysEqn >::updateBoundaryCellsFromGField | ( | ) |
|
private |
Definition at line 688 of file lslbsurface.cpp.
|
private |
Definition at line 136 of file lslbsurface.h.
|
private |
Definition at line 100 of file lslbsurface.h.
|
private |
Definition at line 99 of file lslbsurface.h.
|
private |
Definition at line 87 of file lslbsurface.h.
|
private |
Definition at line 105 of file lslbsurface.h.
|
private |
Definition at line 104 of file lslbsurface.h.
|
private |
Definition at line 103 of file lslbsurface.h.
|
private |
Definition at line 106 of file lslbsurface.h.
|
private |
Definition at line 107 of file lslbsurface.h.
MInt LsLbSurface< nDim, nDist, SysEqn >::m_lbSolverId {} |
Definition at line 39 of file lslbsurface.h.
MInt LsLbSurface< nDim, nDist, SysEqn >::m_lsSolverId {} |
Definition at line 40 of file lslbsurface.h.
|
staticconstexpr |
Definition at line 42 of file lslbsurface.h.
MBool LsLbSurface< nDim, nDist, SysEqn >::m_static_updateLevelSetFlowSolver_firstRun = true |
Definition at line 44 of file lslbsurface.h.
|
private |
Definition at line 102 of file lslbsurface.h.
|
private |
Definition at line 133 of file lslbsurface.h.
|
private |
Definition at line 137 of file lslbsurface.h.