#include <EBLevelCCProjector.H>
Public Member Functions | |
~EBLevelCCProjector () | |
EBLevelCCProjector (const DisjointBoxLayout &a_grids, const DisjointBoxLayout &a_gridsCoar, const EBISLayout &a_ebisl, const EBISLayout &a_ebislCoar, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, const int &a_refToCoar, const bool &a_hasCoarser, const LinearSolver< LevelData< EBCellFAB > > &a_bottomSolver, const RefCountedPtr< BaseEBBCFactory > &a_ebbcPhi, const RefCountedPtr< BaseDomainBCFactory > &a_domainbcPhi, const RefCountedPtr< BaseDomainBCFactory > &a_domainbcVel, const int &a_numSmooths, const int &a_mgCycle, const int &a_maxIterations, const Real &a_tolerance, const int &a_maxDepth, const Real &a_time, const bool &a_doEBCFCrossing, const IntVect &a_nghostPhi, const IntVect &a_nghostRhs) | |
void | project (LevelData< EBCellFAB > &a_velocity, LevelData< EBCellFAB > &a_gradient, const LevelData< EBCellFAB > &a_velCoar, const LevelData< BaseIVFAB< Real > > *const a_boundaryVel=NULL) |
void | kappaDivergence (LevelData< EBCellFAB > &a_divergence, LevelData< EBCellFAB > &a_velocity, const LevelData< EBCellFAB > &a_velCoar, const LevelData< BaseIVFAB< Real > > *const a_boundaryVel=NULL) |
Protected Attributes | |
DisjointBoxLayout | m_grids |
EBISLayout | m_ebisl |
DisjointBoxLayout | m_gridsCoar |
EBISLayout | m_ebislCoar |
ProblemDomain | m_domain |
RealVect | m_dx |
EBLevelMACProjector * | m_macProjector |
EBQuadCFInterp | m_patcher |
bool | m_doEBCFCrossing |
int | m_refToCoar |
bool | m_hasCoarser |
IntVect | m_nghostPhi |
IntVect | m_nghostRhs |
LayoutData< IntVectSet > | m_cfivs |
Private Member Functions | |
EBLevelCCProjector () | |
EBLevelCCProjector (const EBLevelCCProjector &a_input) | |
void | operator= (const EBLevelCCProjector &a_input) |
EBLevelCCProjector::~EBLevelCCProjector | ( | ) |
EBLevelCCProjector::EBLevelCCProjector | ( | const DisjointBoxLayout & | a_grids, | |
const DisjointBoxLayout & | a_gridsCoar, | |||
const EBISLayout & | a_ebisl, | |||
const EBISLayout & | a_ebislCoar, | |||
const ProblemDomain & | a_domain, | |||
const RealVect & | a_dx, | |||
const RealVect & | a_origin, | |||
const int & | a_refToCoar, | |||
const bool & | a_hasCoarser, | |||
const LinearSolver< LevelData< EBCellFAB > > & | a_bottomSolver, | |||
const RefCountedPtr< BaseEBBCFactory > & | a_ebbcPhi, | |||
const RefCountedPtr< BaseDomainBCFactory > & | a_domainbcPhi, | |||
const RefCountedPtr< BaseDomainBCFactory > & | a_domainbcVel, | |||
const int & | a_numSmooths, | |||
const int & | a_mgCycle, | |||
const int & | a_maxIterations, | |||
const Real & | a_tolerance, | |||
const int & | a_maxDepth, | |||
const Real & | a_time, | |||
const bool & | a_doEBCFCrossing, | |||
const IntVect & | a_nghostPhi, | |||
const IntVect & | a_nghostRhs | |||
) |
a_grids: boxes on the level \ a_ebisl: ebislayout at this level \ a_domain: domain of compuation at this refinement \ a_dx: grid spacing \ a_origin: physical location of the lower corner of the domain \\ a_bottomSolver: bottom solver for multigrid \ a_ebbcPhi: boundary conditions for phi at embedded boundary \ a_refToCoar: refinement ratio to next coarser AMR level \ a_hasCoaser true if there is a coarser AMR level \ a_domainbcPhi: boundary conditons for phi at domain boundary \ a_domainbcVel: boundary conditons for velocity at domain boundary \ a_numSmooths: number of smoothings that multigrid uses \ a_mgCycle: 1 for v cycle, 2 for w cycle \ a_maxIterations: max number of multigrid iterations \ a_tolerance: factor to reduce residual by in solve \ a_maxDepth: maximum multigrid depth. -1 for all the way down. \ a_time: time for boundary conditions \ a_doEBCFCrossing: true to enable EB Coarse-Fine interface code. \
EBLevelCCProjector::EBLevelCCProjector | ( | ) | [inline, private] |
References MayDay::Error().
EBLevelCCProjector::EBLevelCCProjector | ( | const EBLevelCCProjector & | a_input | ) | [inline, private] |
References MayDay::Error().
void EBLevelCCProjector::project | ( | LevelData< EBCellFAB > & | a_velocity, | |
LevelData< EBCellFAB > & | a_gradient, | |||
const LevelData< EBCellFAB > & | a_velCoar, | |||
const LevelData< BaseIVFAB< Real > > *const | a_boundaryVel = NULL | |||
) |
velocity--input and output as divergence-free gradient--pure gradient component of input velocity. Coarse-Fine Boundary conditions for the velocity are interpolated from the coarser level. For no-flow through eb, leave boundaryvel = NULL.
void EBLevelCCProjector::kappaDivergence | ( | LevelData< EBCellFAB > & | a_divergence, | |
LevelData< EBCellFAB > & | a_velocity, | |||
const LevelData< EBCellFAB > & | a_velCoar, | |||
const LevelData< BaseIVFAB< Real > > *const | a_boundaryVel = NULL | |||
) |
void EBLevelCCProjector::operator= | ( | const EBLevelCCProjector & | a_input | ) | [inline, private] |
References MayDay::Error().
DisjointBoxLayout EBLevelCCProjector::m_grids [protected] |
EBISLayout EBLevelCCProjector::m_ebisl [protected] |
DisjointBoxLayout EBLevelCCProjector::m_gridsCoar [protected] |
EBISLayout EBLevelCCProjector::m_ebislCoar [protected] |
ProblemDomain EBLevelCCProjector::m_domain [protected] |
RealVect EBLevelCCProjector::m_dx [protected] |
EBLevelMACProjector* EBLevelCCProjector::m_macProjector [protected] |
EBQuadCFInterp EBLevelCCProjector::m_patcher [protected] |
bool EBLevelCCProjector::m_doEBCFCrossing [protected] |
int EBLevelCCProjector::m_refToCoar [protected] |
bool EBLevelCCProjector::m_hasCoarser [protected] |
IntVect EBLevelCCProjector::m_nghostPhi [protected] |
IntVect EBLevelCCProjector::m_nghostRhs [protected] |
LayoutData<IntVectSet> EBLevelCCProjector::m_cfivs [protected] |