Chombo + EB
3.0
|
#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) |
![]() | |
virtual | ~LinearSolver () |
virtual void | setConvergenceMetrics (Real a_metric, Real a_tolerance) |
Set a convergence metric, along with solver tolerance, if desired. More... | |
Public Attributes | |
bool | m_homogeneous |
LinearOp< T > * | m_op |
int | m_imax |
int | m_normType |
int | m_verbosity |
Real | m_eps |
Real | m_hang |
Private Attributes | |
Real | m_minNorm |
Iterative solver which only uses the operator's preconditioner. Probably only useful as a bottom solver.
RelaxSolver< T >::RelaxSolver | ( | ) |
|
virtual |
|
inlinevirtual |
Set whether the solver uses only homogeneous boundary conditions
Implements LinearSolver< T >.
References RelaxSolver< T >::m_homogeneous.
|
virtual |
Define the solver. a_op is the linear operator.
Implements LinearSolver< T >.
|
virtual |
bool RelaxSolver< T >::m_homogeneous |
public member data: whether or not to use inhomogeneous boundary conditions.
Referenced by RelaxSolver< T >::setHomogeneous().
LinearOp<T>* RelaxSolver< T >::m_op |
public member data: linear operator.
int RelaxSolver< T >::m_imax |
public member data: maximum number of iterations
int RelaxSolver< T >::m_normType |
public member data: which type of norm to use (default is 2-norm)
int RelaxSolver< T >::m_verbosity |
public member data: how much screen output user wants
Real RelaxSolver< T >::m_eps |
public member data: solver tolerance
Real RelaxSolver< T >::m_hang |
public member data: hang when min(previous residual norms) < m_hang * current residual norm (default is zero – don't check for hanging)
|
private |