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.