#include <PetscSolver.H>
Public Member Functions | |
PetscSolverPoisson () | |
virtual void | define (Real a_dx, bool a_homogeneous=true) |
virtual void | define (LinearOp< T > *a_op, bool a_homogeneous=true) |
virtual int | formMatrix (Mat, const LevelData< FArrayBox > *=0, PetscInt my0=0, PetscInt nloc=0, PetscInt *d=0, PetscInt *o=0) |
Public Attributes | |
Real | m_alpha |
Real | m_beta |
PetscSolverPoisson< T >::PetscSolverPoisson | ( | ) |
virtual void PetscSolverPoisson< T >::define | ( | Real | a_dx, | |
bool | a_homogeneous = true | |||
) | [virtual] |
Reimplemented from PetscSolver< T >.
virtual void PetscSolverPoisson< T >::define | ( | LinearOp< T > * | a_operator, | |
bool | a_homogeneous = true | |||
) | [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.
Reimplemented from PetscSolver< T >.
References PetscSolver< T >::define().
virtual int PetscSolverPoisson< T >::formMatrix | ( | Mat | , | |
const LevelData< FArrayBox > * | = 0 , |
|||
PetscInt | my0 = 0 , |
|||
PetscInt | nloc = 0 , |
|||
PetscInt * | d = 0 , |
|||
PetscInt * | o = 0 | |||
) | [virtual] |
Real PetscSolverPoisson< T >::m_alpha |
Real PetscSolverPoisson< T >::m_beta |