public class FloatAMG extends Object implements FloatPreconditioner
Constructor and Description |
---|
FloatAMG()
Sets up the algebraic multigrid preconditioner using some default
parameters.
|
FloatAMG(float omegaPreF,
float omegaPreR,
float omegaPostF,
float omegaPostR,
int nu1,
int nu2,
int gamma,
int min,
float omega)
Sets up the algebraic multigrid preconditioner
|
FloatAMG(float omegaPre,
float omegaPost,
int nu1,
int nu2,
int gamma,
int min,
float omega)
Sets up the algebraic multigrid preconditioner.
|
Modifier and Type | Method and Description |
---|---|
FloatMatrix1D |
apply(FloatMatrix1D b,
FloatMatrix1D x)
Solves the approximate problem with the given right hand side.
|
void |
setMatrix(FloatMatrix2D A)
Sets the operator matrix for the preconditioner.
|
FloatMatrix1D |
transApply(FloatMatrix1D b,
FloatMatrix1D x)
Solves the approximate transpose problem with the given right hand side.
|
public FloatAMG(float omegaPreF, float omegaPreR, float omegaPostF, float omegaPostR, int nu1, int nu2, int gamma, int min, float omega)
omegaPreF
- Overrelaxation parameter in the forward sweep of the
pre-smoothingomegaPreR
- Overrelaxation parameter in the backwards sweep of the
pre-smoothingomegaPostF
- Overrelaxation parameter in the forward sweep of the
post-smoothingomegaPostR
- Overrelaxation parameter in the backwards sweep of the
post-smoothingnu1
- Number of pre-relaxations to performnu2
- Number of post-relaxations to performgamma
- Number of times to go to a coarser levelmin
- Smallest matrix size before using a direct solveromega
- Jacobi damping parameter, between zero and one. If it equals
zero, the method reduces to the standard aggregate multigrid
methodpublic FloatAMG(float omegaPre, float omegaPost, int nu1, int nu2, int gamma, int min, float omega)
omegaPre
- Overrelaxation parameter in the pre-smoothingomegaPost
- Overrelaxation parameter in the post-smoothingnu1
- Number of pre-relaxations to performnu2
- Number of post-relaxations to performgamma
- Number of times to go to a coarser levelmin
- Smallest matrix size before using a direct solveromega
- Jacobi damping parameter, between zero and one. If it equals
zero, the method reduces to the standard aggregate multigrid
methodpublic FloatAMG()
omegaF=1
and
omegaR=1.85
, while in the postsmoothing,
omegaF=1.85
and omegaR=1
. Sets
nu1=nu2=gamma=1
, has a smallest matrix size of 40, and sets
omega=2/3
.public FloatMatrix1D apply(FloatMatrix1D b, FloatMatrix1D x)
FloatPreconditioner
apply
in interface FloatPreconditioner
b
- Right hand side of problemx
- Result is stored herepublic FloatMatrix1D transApply(FloatMatrix1D b, FloatMatrix1D x)
FloatPreconditioner
transApply
in interface FloatPreconditioner
b
- Right hand side of problemx
- Result is stored herepublic void setMatrix(FloatMatrix2D A)
FloatPreconditioner
setMatrix
in interface FloatPreconditioner
A
- Matrix to setup the preconditioner for. Not modifiedJump to the Parallel Colt Homepage