public class DoubleAMG extends Object implements DoublePreconditioner
| Constructor and Description |
|---|
DoubleAMG()
Sets up the algebraic multigrid preconditioner using some default
parameters.
|
DoubleAMG(double omegaPreF,
double omegaPreR,
double omegaPostF,
double omegaPostR,
int nu1,
int nu2,
int gamma,
int min,
double omega)
Sets up the algebraic multigrid preconditioner
|
DoubleAMG(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 |
|---|---|
DoubleMatrix1D |
apply(DoubleMatrix1D b,
DoubleMatrix1D x)
Solves the approximate problem with the given right hand side.
|
void |
setMatrix(DoubleMatrix2D A)
Sets the operator matrix for the preconditioner.
|
DoubleMatrix1D |
transApply(DoubleMatrix1D b,
DoubleMatrix1D x)
Solves the approximate transpose problem with the given right hand side.
|
public DoubleAMG(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 DoubleAMG(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 DoubleAMG()
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 DoubleMatrix1D apply(DoubleMatrix1D b, DoubleMatrix1D x)
DoublePreconditionerapply in interface DoublePreconditionerb - Right hand side of problemx - Result is stored herepublic DoubleMatrix1D transApply(DoubleMatrix1D b, DoubleMatrix1D x)
DoublePreconditionertransApply in interface DoublePreconditionerb - Right hand side of problemx - Result is stored herepublic void setMatrix(DoubleMatrix2D A)
DoublePreconditionersetMatrix in interface DoublePreconditionerA - Matrix to setup the preconditioner for. Not modifiedJump to the Parallel Colt Homepage