#include <NoOpSolver.H>
Public Member Functions | |
NoOpSolver () | |
virtual | ~NoOpSolver () |
virtual void | setHomogeneous (bool a_homogeneous) |
virtual void | define (LinearOp< T > *a_factory, bool a_homogeneous) |
virtual void | solve (T &a_phi, const T &a_rhs) |
virtual void | setConvergenceMetrics (Real a_metric, Real a_tolerance) |
Set a convergence metric, along with solver tolerance, if desired. |
NoOpSolver< T >::NoOpSolver | ( | ) | [inline] |
virtual NoOpSolver< T >::~NoOpSolver | ( | ) | [inline, virtual] |
virtual void NoOpSolver< T >::setHomogeneous | ( | bool | a_homogeneous | ) | [inline, virtual] |
reset whether the solver is homogeneous.
Implements LinearSolver< T >.
virtual void NoOpSolver< T >::define | ( | LinearOp< T > * | a_operator, | |
bool | a_homogeneous | |||
) | [inline, 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< T >.
void NoOpSolver< T >::solve | ( | T & | a_phi, | |
const T & | a_rhs | |||
) | [inline, virtual] |
Solve L(phi) = rhs (phi = L^-1 (rhs)).
Implements LinearSolver< T >.
virtual void NoOpSolver< T >::setConvergenceMetrics | ( | Real | a_metric, | |
Real | a_tolerance | |||
) | [inline, virtual] |
Set a convergence metric, along with solver tolerance, if desired.
Default implementation does nothing, since there are probably cases (liked direct solves), where this has no real meaning.
Reimplemented from LinearSolver< T >.