EBLevelMACProjector Class Reference

#include <EBLevelMACProjector.H>

Collaboration diagram for EBLevelMACProjector:

Collaboration graph
[legend]

List of all members.


Detailed Description

Class to project a face-centered. velocity field on a level. u -= G (DG^-1)(D u) This class does not assume that the boundary conditions at the embedded boundary are no-flow. Faces over coarse-fine interfaces are not treated any differently than interior faces.

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
EBAMRPoissonOpFactorym_levelOpFactory
RefCountedPtr< BaseEBBCFactorym_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 ()

Constructor & Destructor Documentation

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().


Member Function Documentation

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().


Member Data Documentation

int EBLevelMACProjector::s_curLevel [static, protected]

bool EBLevelMACProjector::s_verbose [static, protected]

string EBLevelMACProjector::s_debugString [static, protected]


The documentation for this class was generated from the following file:

Generated on Tue Apr 14 14:23:22 2009 for Chombo + EB by  doxygen 1.5.5