MAIA bb96820c
Multiphysics at AIA
|
Interface class holding all relevant data and methods for treating prolongation, restriction and initialization of new cells for the DxQy lattice model. More...
#include <lbinterfacedxqy.h>
Public Types | |
using | Ld = LbLatticeDescriptor< nDim, nDist > |
Public Member Functions | |
LbInterfaceDxQy (LbSolver< nDim > *solver) | |
virtual | ~LbInterfaceDxQy () |
D'tor for the interface class. More... | |
void | prolongation () |
Performing the chosen prolongation method. More... | |
void | restriction () |
Performing the chosen restriction method. More... | |
virtual void | refineCell (const MInt parentId, const MInt *childIds) override final |
virtual void | removeChildren (const MInt parentId) override final |
Public Member Functions inherited from LbInterface< nDim > | |
LbInterface (LbSolver< nDim > *solver) | |
Base class for the concrete interface treatment. More... | |
virtual | ~LbInterface () |
Destructor. More... | |
virtual void | refineCell (const MInt parentId, const MInt *childIds)=0 |
virtual void | removeChildren (const MInt parentId)=0 |
virtual void | printInterfaceCells () |
void | colorInterface () |
Sets the interface cells to defined values (to be watched e.g. in DX) More... | |
Public Attributes | |
LbSolverDxQy< nDim, nDist, SysEqn > * | m_solver |
Protected Member Functions | |
virtual void | prolongation0 () |
virtual void | restriction0 () |
virtual void | prolongation10 () |
virtual void | restriction10 () |
template<MBool compressible = false> | |
void | prolongationDupuis_ () |
Coarse to fine. More... | |
template<MBool compressible = false> | |
void | restrictionDupuis_ () |
Fine to coarse grid. More... | |
virtual void | prolongationDupuis () |
virtual void | restrictionDupuis () |
void | prolongationDupuisCompressible () |
void | restrictionDupuisCompressible () |
virtual void | prolongationRohde () |
virtual void | restrictionRohde () |
virtual void | prolongationThermalDupuis () |
Coarse to fine grid for thermal LB. More... | |
virtual void | restrictionThermalDupuis () |
Fine to coarse grid for thermal LB. More... | |
virtual void | prolongationThermalRohde () |
Coarse to fine grid for thermal LB. More... | |
virtual void | restrictionThermalRohde () |
Fine to coarse grid fot thermal LB. More... | |
virtual void | refineCellDupuis (const MInt parentId, const MInt *childIds) |
Initialize child variables from parent. More... | |
virtual void | refineCellCopyPaste (const MInt parentId, const MInt *childIds) |
Initialize child variables from parent. More... | |
virtual void | removeChildsDupuisFilippova (const MInt parentId) |
Initialize parent variables from children. More... | |
virtual void | removeChildsCopyPaste (const MInt parentId) |
Initialize parent variables from children. More... | |
void | getCellForcing (std::array< MFloat, nDist > &F, const MInt cellId=-1) |
General accessor for potentially cell dependent forcing. More... | |
Private Types | |
typedef void(LbInterfaceDxQy::* | InterfaceFunction) () |
typedef void(LbInterfaceDxQy::* | RefineCellFunction) (const MInt parentId, const MInt *childIds) |
typedef void(LbInterfaceDxQy::* | RemoveChildrenFunction) (const MInt parentId) |
Private Member Functions | |
void | setInterfaceFunctions () |
Setting function pointer to the chosen interface treatment method. More... | |
void | setAdaptationFunctions () |
Setting the adaptation functions chosen via property. More... | |
Private Attributes | |
InterfaceFunction | fProlongation |
InterfaceFunction | fRestriction |
RefineCellFunction | fRefineCell |
RemoveChildrenFunction | fRemoveChildren |
MFloat | m_static_prolongation10_tmp {} |
MFloat | m_static_prolongation10_tmp2 {} |
MFloat | m_static_prolongation10_b [2 *nDim] {} |
MFloat | m_static_prolongation10_c [nDim *nDim] {} |
MFloat | m_static_prolongation10_trace {} |
MInt | m_static_prolongation10_tmpDistId {} |
MFloat | m_static_restriction10_tmp {} |
MFloat | m_static_restriction10_tmp2 {} |
MFloat | m_static_restriction10_b [2 *nDim] {} |
MFloat | m_static_restriction10_c [nDim *nDim] {} |
MFloat | m_static_restriction10_trace {} |
MInt | m_static_restriction10_tmpDistId {} |
Friends | |
template<MInt nDim_, MInt nDist_, class SysEqn_ > | |
class | LbSolverDxQy |
Additional Inherited Members | |
Protected Attributes inherited from LbInterface< nDim > | |
MInt | m_interfaceId {} |
MInt | m_noDistributions |
std::vector< Collector< LbInterfaceCell > * > | m_interfaceChildren |
std::vector< Collector< LbParentCell > * > | m_interfaceParents |
MBool | m_cellDependentForcing |
MBool | m_externalForcing |
MBool | m_isEELiquid |
MInt | m_methodId |
MFloat * | m_Fext {} |
MFloat * | m_Fg {} |
MPrimitiveVariables< nDim > * | PV |
MFloat | m_nu |
MString | m_interfaceMethod |
MString | m_adaptationInitMethod |
MInt | m_noCoefficients {} |
MInt | m_isThermal |
MInt | m_innerEnergy |
LbSolver< nDim > * | m_solver |
Definition at line 22 of file lbinterfacedxqy.h.
|
private |
Definition at line 96 of file lbinterfacedxqy.h.
using LbInterfaceDxQy< nDim, nDist, SysEqn >::Ld = LbLatticeDescriptor<nDim, nDist> |
Definition at line 42 of file lbinterfacedxqy.h.
|
private |
Definition at line 103 of file lbinterfacedxqy.h.
|
private |
Definition at line 106 of file lbinterfacedxqy.h.
LbInterfaceDxQy< nDim, nDist, SysEqn >::LbInterfaceDxQy | ( | LbSolver< nDim > * | solver | ) |
|
virtualdefault |
|
inlineprotected |
[out] | F | Forcing term |
[in] | cellId | Cell id (-1 if global forcing is needed) |
Definition at line 135 of file lbinterfacedxqy.h.
void LbInterfaceDxQy< nDim, nDist, SysEqn >::prolongation |
Definition at line 122 of file lbinterfacedxqy.cpp.
|
inlineprotectedvirtual |
Definition at line 58 of file lbinterfacedxqy.h.
|
protectedvirtual |
coarse to fine grid
trilinear spatial interpolation + linear interpolation in time and transformation of non-eq parts
Definition at line 143 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Definition at line 960 of file lbinterfacedxqy.cpp.
|
protected |
trilinear spatial interpolation + linear interpolation in time and transformation of non-eq parts according to Dupuis et al.
Definition at line 772 of file lbinterfacedxqy.cpp.
|
protected |
Definition at line 965 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
coarse to fine grid
outgoing distributions are handed over from parent to children
Definition at line 1416 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Definition at line 978 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Outgoing distributions are handed over from parent to children.
Definition at line 1494 of file lbinterfacedxqy.cpp.
|
finaloverridevirtual |
Implements LbInterface< nDim >.
Definition at line 1695 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Copy parent --> children
[in] | parentId | Solver cell id of parent that will be coarsen childIds: Solver ids of new children |
Definition at line 1988 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Definition at line 1714 of file lbinterfacedxqy.cpp.
|
finaloverridevirtual |
Implements LbInterface< nDim >.
Definition at line 1700 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Average children --> parent
[in] | parentId | Solver cell id of parent that will be coarsen |
Definition at line 2011 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
[in] | parentId | Solver cell id of parent that will be coarsen |
Definition at line 2065 of file lbinterfacedxqy.cpp.
void LbInterfaceDxQy< nDim, nDist, SysEqn >::restriction |
Definition at line 132 of file lbinterfacedxqy.cpp.
|
inlineprotectedvirtual |
Definition at line 59 of file lbinterfacedxqy.h.
|
protectedvirtual |
fine to coarse grid
average all child cell values and add appropriate non-eq parts
Definition at line 602 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Definition at line 1310 of file lbinterfacedxqy.cpp.
|
protected |
average all child cell values and transform the non-eq parts according to Dupuis et al.
Definition at line 1235 of file lbinterfacedxqy.cpp.
|
protected |
Definition at line 1315 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
fine to coarse grid
missing incoming distributions of parent are filled with average child cell values
Definition at line 1576 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Definition at line 1328 of file lbinterfacedxqy.cpp.
|
protectedvirtual |
Missing incoming distributions of parent are filled with average child cell values.
Definition at line 1622 of file lbinterfacedxqy.cpp.
|
private |
Definition at line 1670 of file lbinterfacedxqy.cpp.
|
private |
Definition at line 78 of file lbinterfacedxqy.cpp.
|
friend |
Definition at line 25 of file lbinterfacedxqy.h.
|
private |
Definition at line 97 of file lbinterfacedxqy.h.
|
private |
Definition at line 104 of file lbinterfacedxqy.h.
|
private |
Definition at line 107 of file lbinterfacedxqy.h.
|
private |
Definition at line 98 of file lbinterfacedxqy.h.
LbSolverDxQy<nDim, nDist, SysEqn>* LbInterfaceDxQy< nDim, nDist, SysEqn >::m_solver |
Definition at line 44 of file lbinterfacedxqy.h.
|
private |
Definition at line 115 of file lbinterfacedxqy.h.
|
private |
Definition at line 116 of file lbinterfacedxqy.h.
|
private |
Definition at line 113 of file lbinterfacedxqy.h.
|
private |
Definition at line 114 of file lbinterfacedxqy.h.
|
private |
Definition at line 118 of file lbinterfacedxqy.h.
|
private |
Definition at line 117 of file lbinterfacedxqy.h.
|
private |
Definition at line 122 of file lbinterfacedxqy.h.
|
private |
Definition at line 123 of file lbinterfacedxqy.h.
|
private |
Definition at line 120 of file lbinterfacedxqy.h.
|
private |
Definition at line 121 of file lbinterfacedxqy.h.
|
private |
Definition at line 125 of file lbinterfacedxqy.h.
|
private |
Definition at line 124 of file lbinterfacedxqy.h.