#include <EBSimpleSolver.H>
Public Member Functions | |
EBSimpleSolver () | |
virtual | ~EBSimpleSolver () |
virtual void | setHomogeneous (bool a_homogeneous) |
virtual void | define (LinearOp< LevelData< EBCellFAB > > *a_operator, bool a_homogeneous) |
virtual void | setNumSmooths (const int &a_numSmooths) |
virtual void | solve (LevelData< EBCellFAB > &a_phi, const LevelData< EBCellFAB > &a_rhs) |
Private Attributes | |
bool | m_isDefined |
MGLevelOp< LevelData < EBCellFAB > > * | m_operator |
bool | m_homogeneous |
int | m_numSmooths |
EBSimpleSolver::EBSimpleSolver | ( | ) |
virtual EBSimpleSolver::~EBSimpleSolver | ( | ) | [virtual] |
virtual void EBSimpleSolver::setHomogeneous | ( | bool | a_homogeneous | ) | [virtual] |
reset whether the solver is homogeneous.
Implements LinearSolver< LevelData< EBCellFAB > >.
virtual void EBSimpleSolver::define | ( | LinearOp< LevelData< EBCellFAB > > * | a_operator, | |
bool | a_homogeneous | |||
) | [virtual] |
Define the operator and whether it is a homogeneous solver or not. The LinearSolver does not take over ownership of this a_operator object. It does not call delete on it when the LinearSolver is deleted. It is meant to be like a late-binding reference. If you created a_operator with new, you should call delete on it after LinearSolver is deleted if you want to avoid memory leaks.
Implements LinearSolver< LevelData< EBCellFAB > >.
virtual void EBSimpleSolver::setNumSmooths | ( | const int & | a_numSmooths | ) | [virtual] |
virtual void EBSimpleSolver::solve | ( | LevelData< EBCellFAB > & | a_phi, | |
const LevelData< EBCellFAB > & | a_rhs | |||
) | [virtual] |
Solve L(phi) = rhs (phi = L^-1 (rhs)).
Implements LinearSolver< LevelData< EBCellFAB > >.
bool EBSimpleSolver::m_isDefined [private] |
MGLevelOp<LevelData<EBCellFAB> >* EBSimpleSolver::m_operator [private] |
bool EBSimpleSolver::m_homogeneous [private] |
int EBSimpleSolver::m_numSmooths [private] |