|
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.