#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 |
1.2.16