|
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) |
Public Member Functions inherited from LinearSolver< T > | |
| 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 >::define(), RelaxSolver< T >::m_homogeneous, and RelaxSolver< T >::solve().
|
virtual |
Define the solver. a_op is the linear operator.
Implements LinearSolver< T >.
References RelaxSolver< T >::m_homogeneous, and RelaxSolver< T >::m_op.
Referenced by RelaxSolver< T >::setHomogeneous().
|
virtual |
Solve L(phi) = rho
Implements LinearSolver< T >.
References CH_assert, CH_TIME, RelaxSolver< T >::m_eps, RelaxSolver< T >::m_hang, RelaxSolver< T >::m_homogeneous, RelaxSolver< T >::m_imax, RelaxSolver< T >::m_minNorm, RelaxSolver< T >::m_normType, RelaxSolver< T >::m_op, RelaxSolver< T >::m_verbosity, norm(), and pout().
Referenced by RelaxSolver< T >::setHomogeneous().
| 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_normType |
public member data: which type of norm to use (default is 2-norm)
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().
| 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)
Referenced by RelaxSolver< T >::solve().
|
private |
Referenced by RelaxSolver< T >::solve().
1.8.13