#include <GenLevelOp.H>
Inheritance diagram for GenLevelOp< T >:
Public Methods | |
GenLevelOp () | |
virtual | ~GenLevelOp () |
virtual GenLevelOp * | newOp () const=0 |
virtual void | setToZero (LevelData< T > &a_one) |
a_one = 0 | |
virtual void | copy (LevelData< T > &a_one, const LevelData< T > &a_two) |
a_one = a_two | |
virtual void | scalarMul (LevelData< T > &a_one, const Real a_scalar) |
a_one = a_scalar * a_one | |
virtual void | negate (LevelData< T > &a_one) |
a_one = -a_one | |
virtual void | sum (LevelData< T > &a_one, const LevelData< T > &a_two) |
a_one = a_one + a_two | |
virtual void | diff (LevelData< T > &a_one, const LevelData< T > &a_two) |
a_one = a_one - a_two | |
virtual Real | dotProduct (const LevelData< T > &a_one, const LevelData< T > &a_two) |
Return dot product of "a_one" and "a_two". | |
virtual Real | norm (const LevelData< T > &a_one, const int a_power) |
Return "a_power"-norm of "a_one". | |
virtual void | defineOpData (LevelData< T > &a_data) |
Define data so that the operator can be applied to it. | |
virtual void | defineData (LevelData< T > &a_data) |
Define data which won't have the operator applied to it. | |
virtual void | levelPreconditioner (LevelData< T > &a_phihat, const LevelData< T > &a_rhshat)=0 |
virtual void | CFInterp (LevelData< T > &a_phif, const LevelData< T > &a_phic)=0 |
virtual void | homogeneousCFInterp (LevelData< T > &a_phif)=0 |
virtual void | homogeneousCFInterp (LevelData< T > &a_phif, const DataIndex &a_datInd, int a_idir, Side::LoHiSide a_hiorlo)=0 |
GenLevelOp<T> is a pure base class to encapsulate level operations API for elliptic solvers. All elliptic operators used by AMRSolver inherit the GenLevelOp<T> interface.
|
|
|
|
|
Coarse / Fine interpolation operator. Fill ghost cells of phi Implemented in EBPoissonOp, RegHelmholtzOp, and RegPoissonOp. |
|
a_one = a_two Copy a_two to a_one, a_one = a_two |
|
Define data which won't have the operator applied to it. Define data which won't have the operator applied to it |
|
Define data so that the operator can be applied to it. Define data so that the operator can be applied to it |
|
a_one = a_one - a_two Subtract a_two from a_one and store in a_one, a_one = a_one - a_two |
|
Return dot product of "a_one" and "a_two". Return dot product of "a_one" and "a_two" |
|
does homogeneous coarse/fine interpolation for one grid Implemented in EBPoissonOp, RegHelmholtzOp, and RegPoissonOp. |
|
homogeneous coarse/fine interpolation operator Implemented in EBPoissonOp, RegHelmholtzOp, and RegPoissonOp. |
|
apply preconditioning to the solution on this level. Given rhshat, returns phihat from M(phihat) = rhshat Implemented in EBPoissonOp, RegHelmholtzOp, and RegPoissonOp. |
|
a_one = -a_one Negate a_one, a_one = -a_one |
|
this gets around the "no virtual constructor" rule Implements GenAMRLevelMGOp< LevelData< T > >. Implemented in EBLevelOp, EBPoissonOp, RegHelmholtzOp, RegLevelOp, and RegPoissonOp. |
|
Return "a_power"-norm of "a_one". Return "a_power"-norm of "a_one" |
|
a_one = a_scalar * a_one Multiply a_one by the scalar, a_scalar, a_one = a_scalar * a_one |
|
a_one = 0 Set all a_one to zero, a_one = 0 |
|
a_one = a_one + a_two Add a_two to a_one and store in a_one, a_one = a_one + a_two |