CG eigensolver class.
- Note
- Matrix system must be SPD, otherwise solver will fail.
|
| 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.
|
| |
|
| class(oft_matrix), pointer | a => NULL() |
| | LHS matrix.
|
| |
| real(r8) | atol = 1.d-14 |
| | Absolute convergence tolerance \( |res| < atol \).
|
| |
| 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_orthog), 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(oft_bc_proto), pointer, nopass | bc => NULL() |
| | Boundary condition.
|
| |
◆ apply() [1/2]
Solve system.
This solver uses a Non-Linear Conjugate-Gradient method to minimize the Rayleigh Quotient ( \( R = \frac{x*A*x}{x*M*x} \)).
- Parameters
-
| [in,out] | u | Guess/Solution field |
| [in,out] | alam | Eigenvalue |
◆ apply() [2/2]
| procedure(eigsolver_apply), deferred apply |
( |
class(oft_eigsolver), intent(inout) |
self, |
|
|
class(oft_vector), intent(inout) |
u, |
|
|
real(r8), intent(inout) |
alam |
|
) |
| |
|
pure virtualinherited |
◆ delete() [1/2]
Clean-up internal storage.
◆ delete() [2/2]
| procedure(eigsolver_delete), deferred delete |
( |
class(oft_eigsolver), intent(inout) |
self | ) |
|
|
pure virtualinherited |
Clean-up internal storage.
◆ atol
Absolute convergence tolerance \( |res| < atol \).
◆ bc
◆ cits
Number of iteractions to convergence.
◆ initialized
| logical initialized = .FALSE. |
|
inherited |
Solver has been constructed.
◆ itplot
Output frequency for iterative solvers when pm=.TRUE.
◆ its
◆ ninner
◆ nrestarts
| integer(i4) nrestarts = 2 |
◆ orthog
◆ pm
Performance monitor override.
◆ pre
◆ rtol
Relative convergence tolerance \( |res|/|res_0| < rtol \).
The documentation for this type was generated from the following file: