#include <RelaxSolver.H>
Public Member Functions | |
RelaxSolver () | |
virtual | ~RelaxSolver () |
virtual void | setHomogeneous (bool a_homogeneous) |
virtual void | define (LinearOp< T > *a_op, bool a_homogeneous) |
virtual void | solve (T &a_phi, const T &a_rhs) |
Public Attributes | |
bool | m_homogeneous |
LinearOp< T > * | m_op |
int | m_imax |
int | m_verbosity |
Real | m_eps |
RelaxSolver< T >::RelaxSolver | ( | ) | [inline] |
RelaxSolver< T >::~RelaxSolver | ( | ) | [inline, virtual] |
virtual void RelaxSolver< T >::setHomogeneous | ( | bool | a_homogeneous | ) | [inline, virtual] |
Set whether the solver uses only homogeneous boundary conditions
Implements LinearSolver< T >.
References RelaxSolver< T >::m_homogeneous.
void RelaxSolver< T >::define | ( | LinearOp< T > * | a_op, | |
bool | a_homogeneous | |||
) | [inline, virtual] |
Define the solver. a_op is the linear operator.
Implements LinearSolver< T >.
References RelaxSolver< T >::m_homogeneous, and RelaxSolver< T >::m_op.
void RelaxSolver< T >::solve | ( | T & | a_phi, | |
const T & | a_rhs | |||
) | [inline, virtual] |
Solve L(phi) = rho
Implements LinearSolver< T >.
References CH_TIME, RelaxSolver< T >::m_eps, RelaxSolver< T >::m_homogeneous, RelaxSolver< T >::m_imax, RelaxSolver< T >::m_op, RelaxSolver< T >::m_verbosity, norm(), and pout().
bool RelaxSolver< T >::m_homogeneous |
public member data: whether or not to use inhomogeneous boundary conditions.
Referenced by RelaxSolver< T >::define(), RelaxSolver< T >::setHomogeneous(), and RelaxSolver< T >::solve().
LinearOp<T>* RelaxSolver< T >::m_op |
public member data: linear operator.
Referenced by RelaxSolver< T >::define(), and RelaxSolver< T >::solve().
int RelaxSolver< T >::m_imax |
public member data: maximum number of iterations
Referenced by RelaxSolver< T >::solve().
int RelaxSolver< T >::m_verbosity |
public member data: how much screen output user wants
Referenced by RelaxSolver< T >::solve().
Real RelaxSolver< T >::m_eps |
public member data: solver tolerance
Referenced by RelaxSolver< T >::solve().