|
Chombo + EB + MF
3.2
|
#include <MultiBlockFaceRegister.H>

Public Member Functions | |
| MultiBlockFaceRegister (const MultiBlockCoordSys *const a_coordSys) | |
| ~MultiBlockFaceRegister () | |
| Destructor. More... | |
| void | define (const DisjointBoxLayout &a_FnGrid, const DisjointBoxLayout &a_CrGrid, const ProblemDomain &a_FnProbDom, int a_nRefine, int a_nComp, bool a_scaleFineFaces=true) |
| Define everything (overrides base) More... | |
| void | define (const DisjointBoxLayout &a_FnGrid, const DisjointBoxLayout &a_CrGrid, const ProblemDomain &a_FnProbDom, IntVect a_ivRefine, int a_nComp, bool a_scaleFineFaces=true) |
| Define everything (overrides base) More... | |
| void | defineFine (const DisjointBoxLayout &a_FnGrid, const ProblemDomain &a_FnProbDom, int a_nRefine, int a_nComp, bool a_scaleFineFaces=true) |
| Define the fine register. More... | |
| void | defineFine (const DisjointBoxLayout &a_FnGrid, const ProblemDomain &a_FnProbDom, IntVect a_ivRefine, int a_nComp, bool a_scaleFineFaces=true) |
| Define the fine register. More... | |
| void | defineCoarse (const DisjointBoxLayout &a_CrGrid) |
| Define the coarse register and copiers. More... | |
| void | reface (LevelData< FluxBox > &a_uCoarse, const Interval &a_coarse_interval, const Interval &a_face_interval, const Real a_scale, const bool a_directional=true) |
Public Member Functions inherited from LevelFluxRegister | |
| LevelFluxRegister () | |
| LevelFluxRegister (const DisjointBoxLayout &a_dbl, const DisjointBoxLayout &a_dblCoarse, const ProblemDomain &a_dProblem, int a_nRefine, int a_nComp, bool a_scaleFineFluxes=true, int a_unrefinedDirection=-1) | |
| LevelFluxRegister (const DisjointBoxLayout &a_dbl, const DisjointBoxLayout &a_dblCoarse, const Box &a_dProblem, int a_nRefine, int a_nComp, bool a_scaleFineFluxes=true, int a_unrefinedDirection=-1) | |
| This is an old style constructor - do not use if at all possible. More... | |
| virtual | ~LevelFluxRegister () |
| virtual void | define (const DisjointBoxLayout &a_dbl, const DisjointBoxLayout &a_dblCoarse, const ProblemDomain &a_dProblem, int a_nRefine, int a_nComp, bool a_scaleFineFluxes, int a_unrefinedDirection=-1) |
| virtual void | define (const DisjointBoxLayout &a_dbl, const DisjointBoxLayout &a_dblCoarse, const ProblemDomain &a_dProblem, int a_nRefine, int a_nComp) |
| virtual void | define (const DisjointBoxLayout &a_dbl, const DisjointBoxLayout &a_dblCoarse, const Box &a_dProblem, int a_nRefine, int a_nComp, bool a_scaleFineFluxes=true) |
| This is an old style define - do not use if at all possible. More... | |
| virtual void | undefine () |
| virtual void | setToZero () |
| virtual void | incrementCoarse (const FArrayBox &a_coarseFlux, Real a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_srcInterval, const Interval &a_dstInterval, int a_dir) |
| virtual void | incrementCoarse (const FArrayBox &a_coarseFlux, Real a_scale, const DataIndex &a_coarseDataIndex, const Interval &a_srcInterval, const Interval &a_dstInterval, int a_dir, Side::LoHiSide a_sd) |
| virtual void | incrementFine (const FArrayBox &a_fineFlux, Real a_scale, const DataIndex &a_fineDataIndex, const Interval &a_srcInterval, const Interval &a_dstInterval, int a_dir) |
| virtual void | incrementFine (const FArrayBox &a_fineFlux, Real a_scale, const DataIndex &a_fineDataIndex, const Interval &a_srcInterval, const Interval &a_dstInterval, int a_dir, Side::LoHiSide a_sd) |
| virtual void | reflux (LevelData< FArrayBox > &a_uCoarse, Real a_scale) |
| virtual void | reflux (LevelData< FArrayBox > &a_uCoarse, const Interval &a_coarseVectorIntv, Real a_scale) |
| virtual void | reflux (LevelData< FArrayBox > &a_uCoarse, const Interval &a_coarse_interval, const Interval &a_flux_interval, Real a_scale) |
| virtual void | reflux (LevelData< FArrayBox > &a_uCoarse, Real a_scale, const Interval &a_coarseInterv, const Interval &a_fluxInterval, const LevelData< FArrayBox > &a_beta) |
| same as above with a variable scale multiplied in More... | |
| bool | hasCF (const DataIndex &a_fineDataIndex, Side::LoHiSide) const |
| bool | hasCF (const DataIndex &a_coarseIndex) const |
| bool | isDefined () const |
| bool | isAllDefined () const |
| void | poutCoarseRegisters () const |
| void | poutFineRegisters () const |
| LayoutData< Vector< Box > > & | getCoarseLocations (int a_idir, Side::LoHiSide a_sd) |
| Copier & | getReverseCopier () |
Private Attributes | |
| const MultiBlockCoordSys *const | m_coordSys |
| Multi-block coordinate system. More... | |
| RemoteCopier | m_remoteCopiers [SpaceDim][2] |
Additional Inherited Members | |
Static Public Attributes inherited from LevelFluxRegister | |
| static bool | s_verbose |
Protected Types inherited from LevelFluxRegister | |
| enum | FluxRegDefineStatus { FluxRegUndefined = 0, FluxRegDefined = (1 << 0), FluxRegFineDefined = (1 << 1), FluxRegCoarseDefined = (1 << 2), FluxRegAllDefined = (1 << 3) - 1 } |
| Define status. More... | |
Protected Attributes inherited from LevelFluxRegister | |
| LevelData< FArrayBox > | m_coarFlux |
| LevelData< FArrayBox > | m_fineFlux |
| LayoutData< Vector< Box > > | m_coarseLocations [CH_SPACEDIM *2] |
| ProblemDomain | m_domain |
| int | m_isDefined |
| IntVect | m_nRefine |
| bool | m_scaleFineFluxes |
| int | m_unrefinedDirection |
| Copier | m_reverseCopier |
| bool | m_noRealCoarseFineInterface |
This subclass of LevelFluxRegister handles multi-block AMR refluxing.
| MultiBlockFaceRegister::MultiBlockFaceRegister | ( | const MultiBlockCoordSys *const | a_coordSys | ) |
Creates a face register that handles multi-block refluxing. This capability requires a multi-block coordinate system, which handles block connectivity as well as coordinate mappings.
| MultiBlockFaceRegister::~MultiBlockFaceRegister | ( | ) |
Destructor.
| void MultiBlockFaceRegister::define | ( | const DisjointBoxLayout & | a_FnGrid, |
| const DisjointBoxLayout & | a_CrGrid, | ||
| const ProblemDomain & | a_FnProbDom, | ||
| int | a_nRefine, | ||
| int | a_nComp, | ||
| bool | a_scaleFineFaces = true |
||
| ) |
Define everything (overrides base)
| void MultiBlockFaceRegister::define | ( | const DisjointBoxLayout & | a_FnGrid, |
| const DisjointBoxLayout & | a_CrGrid, | ||
| const ProblemDomain & | a_FnProbDom, | ||
| IntVect | a_ivRefine, | ||
| int | a_nComp, | ||
| bool | a_scaleFineFaces = true |
||
| ) |
Define everything (overrides base)
| void MultiBlockFaceRegister::defineFine | ( | const DisjointBoxLayout & | a_FnGrid, |
| const ProblemDomain & | a_FnProbDom, | ||
| int | a_nRefine, | ||
| int | a_nComp, | ||
| bool | a_scaleFineFaces = true |
||
| ) |
Define the fine register.
| void MultiBlockFaceRegister::defineFine | ( | const DisjointBoxLayout & | a_FnGrid, |
| const ProblemDomain & | a_FnProbDom, | ||
| IntVect | a_ivRefine, | ||
| int | a_nComp, | ||
| bool | a_scaleFineFaces = true |
||
| ) |
Define the fine register.
| void MultiBlockFaceRegister::defineCoarse | ( | const DisjointBoxLayout & | a_CrGrid | ) |
Define the coarse register and copiers.
| void MultiBlockFaceRegister::reface | ( | LevelData< FluxBox > & | a_uCoarse, |
| const Interval & | a_coarse_interval, | ||
| const Interval & | a_face_interval, | ||
| const Real | a_scale, | ||
| const bool | a_directional = true |
||
| ) |
|
private |
Multi-block coordinate system.
Coordinate system from the coarse level
|
private |
Copier for moving values from fine faces on other blocks to blocks where the corresponding coarse faces are defined. One copier per dimension.
1.8.13