#include <EBLevelMACProjector.H>
Public Member Functions | |
~EBLevelMACProjector () | |
EBLevelMACProjector (const DisjointBoxLayout &a_grids, const EBISLayout &a_ebisl, const ProblemDomain &a_domain, const RealVect &a_dx, const RealVect &a_origin, 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 IntVect &a_nghostPhi, const IntVect &a_nghostRhs) | |
void | project (LevelData< EBFluxFAB > &a_velocity, LevelData< EBFluxFAB > &a_gradient, const LevelData< BaseIVFAB< Real > > *const a_boundaryVelocity=NULL) |
Static Public Member Functions | |
static void | setVerbose (bool a_verbose) |
static void | setCurLevel (int a_curLevel) |
static void | setDebugString (string a_debugString) |
static string | getDebugString () |
static int | getCurLevel () |
static bool | getVerbose () |
Protected Member Functions | |
void | solve (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs) |
Protected Attributes | |
int | m_maxIterations |
Real | m_tolerance |
DisjointBoxLayout | m_grids |
EBISLayout | m_ebisl |
ProblemDomain | m_domain |
RealVect | m_dx |
RealVect | m_origin |
EBAMRPoissonOpFactory * | m_levelOpFactory |
RefCountedPtr< BaseEBBCFactory > | m_ebbcPhi |
RefCountedPtr < BaseDomainBCFactory > | m_domainBCFactPhi |
RefCountedPtr < BaseDomainBCFactory > | m_domainBCFactVel |
IntVect | m_nghostPhi |
IntVect | m_nghostRhs |
MultiGrid< LevelData< EBCellFAB > > | m_solver |
Static Protected Attributes | |
static int | s_curLevel |
static bool | s_verbose |
static string | s_debugString |
Private Member Functions | |
EBLevelMACProjector (const EBLevelMACProjector &a_input) | |
void | operator= (const EBLevelMACProjector &a_input) |
EBLevelMACProjector () |
EBLevelMACProjector::~EBLevelMACProjector | ( | ) |
EBLevelMACProjector::EBLevelMACProjector | ( | const DisjointBoxLayout & | a_grids, | |
const EBISLayout & | a_ebisl, | |||
const ProblemDomain & | a_domain, | |||
const RealVect & | a_dx, | |||
const RealVect & | a_origin, | |||
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 IntVect & | a_nghostPhi, | |||
const IntVect & | a_nghostRhs | |||
) |
a_grids: boxes on the level \ 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_ebbcVel: boundary conditions for velocity at embedded boundary \ 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 \
EBLevelMACProjector::EBLevelMACProjector | ( | const EBLevelMACProjector & | a_input | ) | [inline, private] |
References MayDay::Error().
EBLevelMACProjector::EBLevelMACProjector | ( | ) | [inline, private] |
References MayDay::Error().
void EBLevelMACProjector::project | ( | LevelData< EBFluxFAB > & | a_velocity, | |
LevelData< EBFluxFAB > & | a_gradient, | |||
const LevelData< BaseIVFAB< Real > > *const | a_boundaryVelocity = NULL | |||
) |
velocity--input and output as divergence-free gradient--pure gradient component of input velocity. Setting boundary velocity to null makes it zero.
static void EBLevelMACProjector::setVerbose | ( | bool | a_verbose | ) | [static] |
static void EBLevelMACProjector::setCurLevel | ( | int | a_curLevel | ) | [static] |
static void EBLevelMACProjector::setDebugString | ( | string | a_debugString | ) | [static] |
static string EBLevelMACProjector::getDebugString | ( | ) | [static] |
static int EBLevelMACProjector::getCurLevel | ( | ) | [static] |
static bool EBLevelMACProjector::getVerbose | ( | ) | [static] |
void EBLevelMACProjector::solve | ( | LevelData< EBCellFAB > & | a_phi, | |
const LevelData< EBCellFAB > & | a_rhs | |||
) | [protected] |
void EBLevelMACProjector::operator= | ( | const EBLevelMACProjector & | a_input | ) | [inline, private] |
References MayDay::Error().
int EBLevelMACProjector::m_maxIterations [protected] |
Real EBLevelMACProjector::m_tolerance [protected] |
DisjointBoxLayout EBLevelMACProjector::m_grids [protected] |
EBISLayout EBLevelMACProjector::m_ebisl [protected] |
ProblemDomain EBLevelMACProjector::m_domain [protected] |
RealVect EBLevelMACProjector::m_dx [protected] |
RealVect EBLevelMACProjector::m_origin [protected] |
RefCountedPtr<BaseEBBCFactory> EBLevelMACProjector::m_ebbcPhi [protected] |
IntVect EBLevelMACProjector::m_nghostPhi [protected] |
IntVect EBLevelMACProjector::m_nghostRhs [protected] |
MultiGrid<LevelData<EBCellFAB> > EBLevelMACProjector::m_solver [protected] |
int EBLevelMACProjector::s_curLevel [static, protected] |
bool EBLevelMACProjector::s_verbose [static, protected] |
string EBLevelMACProjector::s_debugString [static, protected] |