|
MAIA bb96820c
Multiphysics at AIA
|
#include <fvmbzonal.h>
Public Types | |
| using | FvMbSolver = FvMbCartesianSolverXD< nDim, SysEqn > |
| using | FVBndryCnd = FvBndryCndXD< nDim, SysEqn > |
Public Types inherited from CouplingFvMb< nDim, SysEqn > | |
| using | solverType = FvMbCartesianSolverXD< nDim, SysEqn > |
Public Member Functions | |
| CouplerFvMbZonal (const MInt couplingId, FvMbSolver *upStream, FvMbSolver *downStream) | |
| ~CouplerFvMbZonal () | |
| void | init () override |
| void | finalizeSubCoupleInit (MInt) |
| void | postCouple (MInt) override |
| unify the time-Step More... | |
| void | cleanUp () |
| void | checkProperties () override |
| void | readProperties () override |
| void | finalizeCouplerInit () |
| create first zonal mapping for the zonal exchange More... | |
| void | finalizeBalance (const MInt) override |
| update zonal mapping after balance More... | |
| void | finalizeAdaptation (const MInt) override |
| update zonal mapping after adaptation More... | |
| void | subCouple (MInt, MInt, std::vector< MBool > &) |
| exchange zonal variables each runge-Kutta Step More... | |
| void | preCouple (MInt) override |
| exchange zonal variables before each runge-Kutta Step More... | |
Public Member Functions inherited from CouplingFvMb< nDim, SysEqn > | |
| CouplingFvMb (const MInt couplingId, solverType *b) | |
| solverType & | fvMbSolver () const |
| MInt | a_noFvCells () const |
| MInt | a_noFvGridCells () const |
| MInt | a_noLevelSetsMb () const |
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... | |
Private Member Functions | |
| FvMbSolver & | upStream () const |
| FvMbSolver & | downStream () const |
| MInt | couplerId () const |
| void | createZonalMapping () |
| create the cell mapping which allows for a faster exchange during each RK-Step. This requires little additional memory. More... | |
| void | updateZonalMapping () |
| update the zonal mapping before the FVMb-timeStep as the bndryCell order might have changed! NOTE: currently unused, as its not necessary, the bndry-ghostCell values are updated inside the solutionStep. More... | |
| void | exchangeZonalValues (const MInt) |
| exchange zonal variables around the zonal coordinate from upstream to downstream solver and the other way around! More... | |
| void | unifyTimeStep () |
| set the same timeStep both FvMb-solvers More... | |
| MInt | up2downId (MInt, const MBool) |
| conversion from upStream solverId to the downStream solverId NOTE: also handles bndry-ghost cell conversion! More... | |
| MInt | down2upId (MInt, const MBool) |
| conversion from downStream to upStream cellId NOTE: also handles bndry-ghost cells More... | |
Private Attributes | |
| FvMbSolver * | m_solverUp |
| FvMbSolver * | m_solverDown |
| MInt | m_upStreamId {} |
| MInt | m_downStreamId {} |
| MInt | m_couplingId {} |
| MString | m_zonalMethod {} |
| MInt | m_zonalDir {} |
| MFloat | m_zonalCoordinate {} |
| MBool | m_zonalDualTimeStepping = false |
| std::vector< std::pair< MInt, MInt > > | m_upDown |
| std::vector< std::pair< MInt, MInt > > | m_downUp |
| MInt | m_upStreamOffset = 0 |
| MInt | m_downStreamOffset = 0 |
| MInt | m_RKStep = 0 |
| MInt | m_noRKSteps = -1 |
Additional Inherited Members | |
Protected Member Functions inherited from Coupling | |
| MFloat | returnLoadRecord () const |
| MFloat | returnIdleRecord () const |
Definition at line 31 of file fvmbzonal.h.
| using CouplerFvMbZonal< nDim, SysEqn >::FVBndryCnd = FvBndryCndXD<nDim, SysEqn> |
Definition at line 34 of file fvmbzonal.h.
| using CouplerFvMbZonal< nDim, SysEqn >::FvMbSolver = FvMbCartesianSolverXD<nDim, SysEqn> |
Definition at line 33 of file fvmbzonal.h.
| CouplerFvMbZonal< nDim, SysEqn >::CouplerFvMbZonal | ( | const MInt | couplingId, |
| FvMbSolver * | upStream, | ||
| FvMbSolver * | downStream | ||
| ) |
Definition at line 23 of file fvmbzonal.cpp.
|
inline |
Definition at line 38 of file fvmbzonal.h.
|
inlineoverridevirtual |
|
inlinevirtual |
|
inlineprivate |
Definition at line 60 of file fvmbzonal.h.
|
private |
Definition at line 201 of file fvmbzonal.cpp.
|
private |
Definition at line 438 of file fvmbzonal.cpp.
|
inlineprivate |
Definition at line 59 of file fvmbzonal.h.
|
private |
Definition at line 326 of file fvmbzonal.cpp.
|
overridevirtual |
Reimplemented from Coupling.
Definition at line 123 of file fvmbzonal.cpp.
|
overridevirtual |
Reimplemented from Coupling.
Definition at line 134 of file fvmbzonal.cpp.
|
virtual |
Implements Coupling.
Definition at line 113 of file fvmbzonal.cpp.
|
inlinevirtual |
|
inlineoverridevirtual |
|
overridevirtual |
Implements Coupling.
Definition at line 185 of file fvmbzonal.cpp.
|
overridevirtual |
Implements Coupling.
Definition at line 171 of file fvmbzonal.cpp.
|
overridevirtual |
Implements Coupling.
|
virtual |
Implements Coupling.
Definition at line 144 of file fvmbzonal.cpp.
|
private |
Definition at line 509 of file fvmbzonal.cpp.
|
private |
Definition at line 367 of file fvmbzonal.cpp.
|
private |
Definition at line 266 of file fvmbzonal.cpp.
|
inlineprivate |
Definition at line 58 of file fvmbzonal.h.
|
private |
Definition at line 67 of file fvmbzonal.h.
|
private |
Definition at line 66 of file fvmbzonal.h.
|
private |
Definition at line 79 of file fvmbzonal.h.
|
private |
Definition at line 76 of file fvmbzonal.h.
|
private |
Definition at line 81 of file fvmbzonal.h.
|
private |
Definition at line 80 of file fvmbzonal.h.
|
private |
Definition at line 63 of file fvmbzonal.h.
|
private |
Definition at line 62 of file fvmbzonal.h.
|
private |
Definition at line 75 of file fvmbzonal.h.
|
private |
Definition at line 65 of file fvmbzonal.h.
|
private |
Definition at line 78 of file fvmbzonal.h.
|
private |
Definition at line 71 of file fvmbzonal.h.
|
private |
Definition at line 70 of file fvmbzonal.h.
|
private |
Definition at line 73 of file fvmbzonal.h.
|
private |
Definition at line 69 of file fvmbzonal.h.