|
The Open FUSION Toolkit 1.0.0-beta5
Modeling tools for plasma and fusion research and engineering
|
Abstract solver interfaces and select native implementations.
Abstract interface definitions
Native solver implementations
Preconditioner implementations
Data Types | |
| type | oft_bc_ptr |
| Boundary condition container. More... | |
| type | oft_bjprecond |
| Block-Jacobi preconditioner. More... | |
| type | oft_diag_cscale |
| Diagonal preconditioner. More... | |
| type | oft_diag_scale |
| Diagonal preconditioner. More... | |
| interface | oft_getop_proto |
| Abstract operator retrieval prototype. More... | |
| type | oft_identity_inv |
| Identity matrix inversion. More... | |
| interface | oft_interp_proto |
| Abstract interpolation prototype. More... | |
| type | oft_jblock_precond |
| Symmetric Jacobi smoother. More... | |
| type | oft_ml_precond |
| Multi-level preconditioner level. More... | |
| type | oft_ml_trans |
| Multi-level transfer level. More... | |
| type | oft_native_cg_eigsolver |
| CG eigensolver class. More... | |
| type | oft_native_cg_solver |
| CG solver class. More... | |
| type | oft_native_gmres_csolver |
| GMRES solver class. More... | |
| type | oft_native_gmres_solver |
| GMRES solver class. More... | |
| type | oft_nksolver |
| Native Newton solver. More... | |
| interface | oft_update_jacobian |
| Abstract operator retrieval prototype. More... | |
| interface | oft_veccreate_proto |
| Abstract field creation prototype. More... | |
Functions/Subroutines | |
| recursive subroutine | bjprecond_apply (self, u, g) |
| Precondition a linear system using a Block-Jacobi method. | |
| subroutine | bjprecond_delete (self) |
| Destroy Block-Jacobi preconditioner and deallocate all internal storage. | |
| subroutine | bjprecond_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | bjprecond_update (self, new_pattern) |
| Update solver after changing settings/operators. | |
| subroutine | cdiag_scale_apply (self, u, g) |
| Apply diagonal scaling. | |
| subroutine | cdiag_scale_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | cg_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | cg_eig_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | cg_eigsolver_apply (self, u, alam) |
| Solve a general eigenvalue system using the Conjugate-Gradient method. | |
| subroutine | cg_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | cg_solver_apply (self, u, g) |
| Solve a linear system using the Conjugate-Gradient method. | |
| subroutine | cgmres_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | cgmres_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | cgmres_solver_apply (self, u, g) |
| Temp doc. | |
| subroutine | diag_scale_apply (self, u, g) |
| Apply diagonal scaling. | |
| integer(i4) function, public | diag_scale_cast (self, source) |
| Cast oft_solver to oft_diag_scale. | |
| subroutine | diag_scale_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | gmres_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | gmres_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | gmres_solver_apply (self, u, g) |
| Temp doc. | |
| subroutine | identity_inv_apply (self, u, g) |
| Solver container for trivial inverse of the identity matrix. | |
| subroutine | identity_inv_delete (self) |
| Destroy diagonal preconditioner and deallocate all internal storage. | |
| subroutine | jblock_precond_apply (self, u, g) |
| Apply 1-step of a symmetric Jacobi smoother with native CRS matrices. | |
| integer(i4) function, public | jblock_precond_cast (self, source) |
| Cast oft_solver to oft_jblock_precond. | |
| subroutine | jblock_precond_delete (self) |
| Destroy symmetric Jacobi preconditioner and deallocate all internal storage. | |
| subroutine | jblock_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | ml_precond_apply (self, u, g) |
| Apply 1-step of a Multi-Level preconditioner. | |
| integer(i4) function, public | ml_precond_cast (self, source) |
| Cast oft_solver to oft_ml_precond. | |
| recursive subroutine | ml_precond_delete (self) |
| Destroy Multi-Level preconditioner and deallocate all internal storage. | |
| recursive subroutine | ml_precond_update (self, new_pattern) |
| Update solver after changing settings/operators. | |
| recursive subroutine | ml_precond_view (self) |
| Print solver configuration. | |
| recursive subroutine | ml_trans_apply (self, u, g) |
| Transfer solution between distributed and shared levels as part of a ML preconditioner. | |
| integer(i4) function, public | ml_trans_cast (self, source) |
| Cast oft_solver to oft_ml_trans. | |
| subroutine | ml_trans_delete (self) |
| Destroy Multi-Level preconditioner and deallocate all internal storage. | |
| integer(i4) function | native_cg_eigsolver_cast (self, source) |
| Cast oft_solver to oft_native_cg_solver. | |
| integer(i4) function, public | native_cg_solver_cast (self, source) |
| Cast oft_solver to oft_native_cg_solver. | |
| integer(i4) function, public | native_gmres_solver_cast (self, source) |
| Cast oft_solver to oft_native_gmres_solver. | |
| subroutine | nksolver_apply (self, u, g) |
| Apply Newton's method to compute \( F(u) = g\). | |
| subroutine | nksolver_delete (self) |
| Destroy Newton solver and deallocate all internal storage. | |
|
private |
Precondition a linear system using a Block-Jacobi method.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Destroy Block-Jacobi preconditioner and deallocate all internal storage.
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Level in MG hierarchy (optional) |
|
private |
Update solver after changing settings/operators.
| [in] | new_pattern | Update matrix pattern (optional) |
|
private |
Apply diagonal scaling.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Solve a general eigenvalue system using the Conjugate-Gradient method.
This solver uses a Non-Linear Conjugate-Gradient method to minimize the Rayleigh Quotient ( \( R = \frac{x*A*x}{x*M*x} \)).
| [in,out] | u | Guess/Solution field |
| [in,out] | alam | Eigenvalue |
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Level in MG hierarchy (optional) |
|
private |
Solve a linear system using the Conjugate-Gradient method.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Level in MG hierarchy (optional) |
|
private |
Temp doc.
| [in,out] | self | Temp doc |
| [in,out] | u | Temp doc |
| [in,out] | g | Temp doc |
|
private |
Apply diagonal scaling.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
| integer(i4) function, public diag_scale_cast | ( | type(oft_diag_scale), intent(out), pointer | self, |
| class(oft_solver), intent(in), target | source | ||
| ) |
Cast oft_solver to oft_diag_scale.
| [out] | self | Object of desired type, unassociated if cast fails |
| [in] | source | Source object to cast |
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Level in MG hierarchy (optional) |
|
private |
Temp doc.
| [in,out] | self | Temp doc |
| [in,out] | u | Temp doc |
| [in,out] | g | Temp doc |
|
private |
Solver container for trivial inverse of the identity matrix.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Destroy diagonal preconditioner and deallocate all internal storage.
|
private |
Apply 1-step of a symmetric Jacobi smoother with native CRS matrices.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
| integer(i4) function, public jblock_precond_cast | ( | type(oft_jblock_precond), intent(out), pointer | self, |
| class(oft_solver), intent(in), target | source | ||
| ) |
Cast oft_solver to oft_jblock_precond.
| [out] | self | Object of desired type, unassociated if cast fails |
| [in] | source | Source object to cast |
|
private |
Destroy symmetric Jacobi preconditioner and deallocate all internal storage.
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Level in MG hierarchy (optional) |
|
private |
Apply 1-step of a Multi-Level preconditioner.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
| integer(i4) function, public ml_precond_cast | ( | class(oft_ml_precond), intent(out), pointer | self, |
| class(oft_solver), intent(in), target | source | ||
| ) |
Cast oft_solver to oft_ml_precond.
| [out] | self | Object of desired type, unassociated if cast fails |
| [in] | source | Source object to cast |
|
private |
Destroy Multi-Level preconditioner and deallocate all internal storage.
|
private |
Update solver after changing settings/operators.
|
private |
Print solver configuration.
|
private |
Transfer solution between distributed and shared levels as part of a ML preconditioner.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
| integer(i4) function, public ml_trans_cast | ( | class(oft_ml_trans), intent(out), pointer | self, |
| class(oft_solver), intent(in), target | source | ||
| ) |
Cast oft_solver to oft_ml_trans.
| [out] | self | Object of desired type, unassociated if cast fails |
| [in] | source | Source object to cast |
|
private |
Destroy Multi-Level preconditioner and deallocate all internal storage.
|
private |
Cast oft_solver to oft_native_cg_solver.
The source eigsolver must be cg_eigsolver or a child class, otherwise an error will be thrown.
| [out] | self | Pointer to cast cg_eigsolver |
| [in] | source | Source eigsolver to cast |
| integer(i4) function, public native_cg_solver_cast | ( | type(oft_native_cg_solver), intent(out), pointer | self, |
| class(oft_solver), intent(in), target | source | ||
| ) |
Cast oft_solver to oft_native_cg_solver.
The source solver must be cg_solver or a child class, otherwise an error will be thrown.
| [out] | self | Pointer to cast cg_solver |
| [in] | source | Source solver to cast |
| integer(i4) function, public native_gmres_solver_cast | ( | type(oft_native_gmres_solver), intent(out), pointer | self, |
| class(oft_solver), intent(in), target | source | ||
| ) |
Cast oft_solver to oft_native_gmres_solver.
The source solver must be gmres_solver or a child class, otherwise an error will be thrown.
| [out] | self | Pointer to cast gmres_solver |
| [in] | source | Source solver to cast |
|
private |
Apply Newton's method to compute \( F(u) = g\).
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Destroy Newton solver and deallocate all internal storage.