public class AMG extends Object implements Preconditioner
Constructor and Description |
---|
AMG()
Sets up the algebraic multigrid preconditioner using some default
parameters.
|
AMG(double omegaPreF,
double omegaPreR,
double omegaPostF,
double omegaPostR,
int nu1,
int nu2,
int gamma,
int min,
double omega)
Sets up the algebraic multigrid preconditioner
|
AMG(double omegaPre,
double omegaPost,
int nu1,
int nu2,
int gamma,
int min,
double omega)
Sets up the algebraic multigrid preconditioner.
|
Modifier and Type | Method and Description |
---|---|
Vector |
apply(Vector b,
Vector x)
Solves the approximate problem with the given right hand side.
|
void |
setMatrix(Matrix A)
Sets the operator matrix for the preconditioner.
|
Vector |
transApply(Vector b,
Vector x)
Solves the approximate transpose problem with the given right hand side.
|
public AMG(double omegaPreF, double omegaPreR, double omegaPostF, double omegaPostR, int nu1, int nu2, int gamma, int min, double 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 AMG(double omegaPre, double omegaPost, int nu1, int nu2, int gamma, int min, double 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 AMG()
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 Vector apply(Vector b, Vector x)
Preconditioner
apply
in interface Preconditioner
b
- Right hand side of problemx
- Result is stored herepublic Vector transApply(Vector b, Vector x)
Preconditioner
transApply
in interface Preconditioner
b
- Right hand side of problemx
- Result is stored herepublic void setMatrix(Matrix A)
Preconditioner
setMatrix
in interface Preconditioner
A
- Matrix to setup the preconditioner for. Not modifiedCopyright © 2013. All Rights Reserved.