PLaSK library
Loading...
Searching...
No Matches
plask::IterativeMatrixParams Struct Reference

#include <plask/common/fem/iterative_matrix.hpp>

Public Types

enum  Accelelator {
  ACCEL_CG , ACCEL_SI , ACCEL_SOR , ACCEL_SRCG ,
  ACCEL_SRSI , ACCEL_BASIC , ACCEL_ME , ACCEL_CGNR ,
  ACCEL_LSQR , ACCEL_ODIR , ACCEL_OMIN , ACCEL_ORES ,
  ACCEL_IOM , ACCEL_GMRES , ACCEL_USYMLQ , ACCEL_USYMQR ,
  ACCEL_LANDIR , ACCEL_LANMIN , ACCEL_LANRES , ACCEL_CGCR ,
  ACCEL_BCGS
}
 NSPCG acceleration method. More...
 
enum  Preconditioner {
  PRECOND_RICH , PRECOND_JAC , PRECOND_LJAC , PRECOND_LJACX ,
  PRECOND_SOR , PRECOND_SSOR , PRECOND_IC , PRECOND_MIC ,
  PRECOND_LSP , PRECOND_NEU , PRECOND_LSOR , PRECOND_LSSOR ,
  PRECOND_LLSP , PRECOND_LNEU , PRECOND_BIC , PRECOND_BICX ,
  PRECOND_MBIC , PRECOND_MBICX
}
 NSPCG preconditioner. More...
 
enum  NoConvergenceBehavior { NO_CONVERGENCE_ERROR , NO_CONVERGENCE_WARNING , NO_CONVERGENCE_CONTINUE }
 

Public Attributes

Accelelator accelerator = ACCEL_CG
 NSPCG acceleration method.
 
Preconditioner preconditioner = PRECOND_IC
 NSPCG preconditioner.
 
int maxit = 1000
 Maximum number of iterations.
 
double maxerr = 1e-6
 Maximum allowed residual error of iteration.
 
int nfact = 10
 Frequency of partial factorization.
 
int ns1 = 5
 Number of old vectors to be saved for truncated acceleration methods.
 
int ns2 = 100000
 Frequency of restarting restarted accelerations methods.
 
int lvfill = 0
 Level of fill-in for incomplete Cholesky factorization.
 
int ltrunc = 0
 Level of truncation for Cholesky factorization.
 
int ndeg = 1
 Degree of the polynomial preconditioner.
 
double omega = 1.0
 Relaxation parameter.
 
NoConvergenceBehavior no_convergence_behavior = NO_CONVERGENCE_WARNING
 What to do if the solution does not converge.
 
bool converged = true
 True if the solution converged.
 
int iters = 0
 Number of iterations.
 
double err = 0
 Residual error of the solution.
 

Detailed Description

Definition at line 25 of file iterative_matrix.hpp.

Member Enumeration Documentation

◆ Accelelator

NSPCG acceleration method.

Enumerator
ACCEL_CG 
ACCEL_SI 
ACCEL_SOR 
ACCEL_SRCG 
ACCEL_SRSI 
ACCEL_BASIC 
ACCEL_ME 
ACCEL_CGNR 
ACCEL_LSQR 
ACCEL_ODIR 
ACCEL_OMIN 
ACCEL_ORES 
ACCEL_IOM 
ACCEL_GMRES 
ACCEL_USYMLQ 
ACCEL_USYMQR 
ACCEL_LANDIR 
ACCEL_LANMIN 
ACCEL_LANRES 
ACCEL_CGCR 
ACCEL_BCGS 

Definition at line 27 of file iterative_matrix.hpp.

◆ NoConvergenceBehavior

Enumerator
NO_CONVERGENCE_ERROR 
NO_CONVERGENCE_WARNING 
NO_CONVERGENCE_CONTINUE 

Definition at line 86 of file iterative_matrix.hpp.

◆ Preconditioner

NSPCG preconditioner.

Enumerator
PRECOND_RICH 
PRECOND_JAC 
PRECOND_LJAC 
PRECOND_LJACX 
PRECOND_SOR 
PRECOND_SSOR 
PRECOND_IC 
PRECOND_MIC 
PRECOND_LSP 
PRECOND_NEU 
PRECOND_LSOR 
PRECOND_LSSOR 
PRECOND_LLSP 
PRECOND_LNEU 
PRECOND_BIC 
PRECOND_BICX 
PRECOND_MBIC 
PRECOND_MBICX 

Definition at line 53 of file iterative_matrix.hpp.

Member Data Documentation

◆ accelerator

Accelelator plask::IterativeMatrixParams::accelerator = ACCEL_CG

NSPCG acceleration method.

Definition at line 50 of file iterative_matrix.hpp.

◆ converged

bool plask::IterativeMatrixParams::converged = true

True if the solution converged.

Definition at line 91 of file iterative_matrix.hpp.

◆ err

double plask::IterativeMatrixParams::err = 0

Residual error of the solution.

Definition at line 93 of file iterative_matrix.hpp.

◆ iters

int plask::IterativeMatrixParams::iters = 0

Number of iterations.

Definition at line 92 of file iterative_matrix.hpp.

◆ ltrunc

int plask::IterativeMatrixParams::ltrunc = 0

Level of truncation for Cholesky factorization.

Definition at line 82 of file iterative_matrix.hpp.

◆ lvfill

int plask::IterativeMatrixParams::lvfill = 0

Level of fill-in for incomplete Cholesky factorization.

Definition at line 81 of file iterative_matrix.hpp.

◆ maxerr

double plask::IterativeMatrixParams::maxerr = 1e-6

Maximum allowed residual error of iteration.

Definition at line 76 of file iterative_matrix.hpp.

◆ maxit

int plask::IterativeMatrixParams::maxit = 1000

Maximum number of iterations.

Definition at line 75 of file iterative_matrix.hpp.

◆ ndeg

int plask::IterativeMatrixParams::ndeg = 1

Degree of the polynomial preconditioner.

Definition at line 83 of file iterative_matrix.hpp.

◆ nfact

int plask::IterativeMatrixParams::nfact = 10

Frequency of partial factorization.

Definition at line 77 of file iterative_matrix.hpp.

◆ no_convergence_behavior

NoConvergenceBehavior plask::IterativeMatrixParams::no_convergence_behavior = NO_CONVERGENCE_WARNING

What to do if the solution does not converge.

Definition at line 87 of file iterative_matrix.hpp.

◆ ns1

int plask::IterativeMatrixParams::ns1 = 5

Number of old vectors to be saved for truncated acceleration methods.

Definition at line 79 of file iterative_matrix.hpp.

◆ ns2

int plask::IterativeMatrixParams::ns2 = 100000

Frequency of restarting restarted accelerations methods.

Definition at line 80 of file iterative_matrix.hpp.

◆ omega

double plask::IterativeMatrixParams::omega = 1.0

Relaxation parameter.

Definition at line 84 of file iterative_matrix.hpp.

◆ preconditioner

Preconditioner plask::IterativeMatrixParams::preconditioner = PRECOND_IC

NSPCG preconditioner.

Definition at line 73 of file iterative_matrix.hpp.


The documentation for this struct was generated from the following file: