|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
CG eigensolver class.

Public Member Functions | |
| procedure | apply (self, u, alam) |
| Solve system. | |
| procedure(eigsolver_apply), deferred | apply (self, u, alam) |
| Solve Eigen-system. | |
| procedure | delete (self) |
| Clean-up internal storage. | |
| procedure(eigsolver_delete), deferred | delete (self) |
| Clean-up internal storage. | |
Public Attributes | |
| class(oft_matrix), pointer | a => NULL() |
| LHS matrix. | |
| real(r8) | atol = 1.d-14 |
| Absolute convergence tolerance \( |res| < atol \). | |
| class(oft_solver_bc), pointer | bc => NULL() |
| Boundary condition. | |
| integer(i4) | cits = 0 |
| Number of iteractions to convergence. | |
| logical | initialized = .FALSE. |
| Solver has been constructed. | |
| integer(i4) | itplot =10 |
| Output frequency for iterative solvers when pm=.TRUE. | |
| integer(i4) | its = -1 |
| Maximum iteration count. | |
| class(oft_matrix), pointer | m => NULL() |
| RHS matrix. | |
| integer(i4) | ninner = -1 |
| integer(i4) | nrestarts = 2 |
| class(oft_solver_bc), pointer | orthog => NULL() |
| Orthogonalization. | |
| logical | pm = .FALSE. |
| Performance monitor override. | |
| class(oft_solver), pointer | pre => NULL() |
| Preconditioner. | |
| real(r8) | rtol = 1.d-14 |
| Relative convergence tolerance \( |res|/|res_0| < rtol \). | |
| procedure apply | ( | class(oft_native_cg_eigsolver), intent(inout) | self, |
| class(oft_vector), intent(inout) | u, | ||
| real(r8), intent(inout) | alam ) |
Solve system.
This solver uses a Non-Linear Conjugate-Gradient method to minimize the Rayleigh Quotient ( \( R = \frac{x*A*x}{x*M*x} \)).
| [in,out] | self | Solver object |
| [in,out] | u | Guess (input), Solution (output) |
| [in,out] | alam | Eigenvalue |
|
pure virtualinherited |
Solve Eigen-system.
| [in,out] | self | Solver object |
| [in,out] | u | Guess/Solution field |
| [in,out] | alam | Eigenvalue |
| procedure delete | ( | class(oft_native_cg_eigsolver), intent(inout) | self | ) |
Clean-up internal storage.
| [in,out] | self | Solver object |
|
pure virtualinherited |
Clean-up internal storage.
| [in,out] | self | Solver object |
|
inherited |
LHS matrix.
|
inherited |
Absolute convergence tolerance \( |res| < atol \).
| class(oft_solver_bc), pointer bc => NULL() |
Boundary condition.
|
inherited |
Number of iteractions to convergence.
|
inherited |
Solver has been constructed.
|
inherited |
Output frequency for iterative solvers when pm=.TRUE.
|
inherited |
Maximum iteration count.
|
inherited |
RHS matrix.
| integer(i4) ninner = -1 |
| integer(i4) nrestarts = 2 |
| class(oft_solver_bc), pointer orthog => NULL() |
Orthogonalization.
|
inherited |
Performance monitor override.
|
inherited |
Preconditioner.
|
inherited |
Relative convergence tolerance \( |res|/|res_0| < rtol \).