|
The Open FUSION Toolkit 1.0.0-beta5
Modeling tools for plasma and fusion research and engineering
|
Native module for direct solves. Available interfaces:
Data Types | |
| interface | lapack_cholesky |
| interface | lapack_matinv |
| Interface to dgssv from UMFPACK. More... | |
| type | native_ilu_struc |
| Native ILU(0) preconditioner information object. More... | |
| type | oft_ilusolver |
| ILU solver class. More... | |
| type | oft_lusolver |
| LU solver class. More... | |
| type | pardiso_struc |
| Pardiso solver information. More... | |
| type | superlu_struc |
| SuperLU solver information. More... | |
Functions/Subroutines | |
| subroutine | convert_csr_to_csc (csr_graph, csc_graph, map) |
| Convert csr graph to csc storage. | |
| subroutine | ilu0 (n, a, lc, kr, alu, jlu, ju, ierr) |
| Native Incomplete LU factorization with no fill. | |
| recursive subroutine | ilusolver_apply (self, u, g) |
| Solve a linear system using a direct solve. | |
| recursive logical function | ilusolver_check_thread (self) |
| Check for thread safety. | |
| subroutine | ilusolver_delete (self) |
| Destroy direct solver and deallocate all internal storage. | |
| subroutine | ilusolver_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | ilusolver_update (self, new_pattern) |
| Update solver after changing settings/operators. | |
| subroutine | lapack_cholesky_real (nrows, amat, error) |
| Needs Docs. | |
| subroutine | lapack_matinv_complex (nrows, amat, error) |
| Needs Docs. | |
| subroutine | lapack_matinv_real (nrows, amat, error) |
| Needs Docs. | |
| subroutine | lusol (n, nrhs, x, alu, jlu, ju) |
| Approximate solve using ILU(0) factorization produced by ilu0. | |
| recursive subroutine | lusolver_apply (self, u, g) |
| Solve a linear system using a direct solve. | |
| recursive logical function | lusolver_check_thread (self) |
| Check for thread safety. | |
| subroutine | lusolver_delete (self) |
| Destroy direct solver and deallocate all internal storage. | |
| subroutine | lusolver_setup_xml (self, solver_node, level) |
| Setup solver from XML definition. | |
| recursive subroutine | lusolver_update (self, new_pattern) |
| Update solver after changing settings/operators. | |
|
private |
Convert csr graph to csc storage.
| [in,out] | csr_graph | Original graph in csr format |
| [in,out] | csc_graph | Resulting graph in csc format |
| [in,out] | map | Mapping from csr entries to csc entries |
|
private |
Native Incomplete LU factorization with no fill.
Based on ILU++ by Mayer (https://dx.doi.org/10.1002/pamm.200700911)
| [in] | n | Size of matrix |
| [in] | a | Matrix entries |
| [in,out] | alu | Entries for L/U factors |
| [in,out] | lc | Column indices |
| [in,out] | kr | Row pointer |
| [in,out] | jlu | Column indices for alu |
| [in,out] | ju | Diagonal indices for alu |
| [out] | ierr | Error flag |
|
private |
Solve a linear system using a direct solve.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Check for thread safety.
|
private |
Destroy direct solver and deallocate all internal storage.
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Leve in MG hierarchy (optional) |
|
private |
Update solver after changing settings/operators.
| [in] | new_pattern | Update matrix pattern (optional) |
|
private |
Needs Docs.
|
private |
Needs Docs.
|
private |
Needs Docs.
|
private |
Approximate solve using ILU(0) factorization produced by ilu0.
| [in] | n | Size of matrix |
| [in] | nrhs | Number of RHS to solve |
| [in,out] | x | Input: RHS, Output: Solution |
| [in] | alu | Entries for L/U factors |
| [in] | jlu | Column indices for alu |
| [in] | ju | Diagonal indices for alu |
|
private |
Solve a linear system using a direct solve.
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
|
private |
Check for thread safety.
|
private |
Destroy direct solver and deallocate all internal storage.
|
private |
Setup solver from XML definition.
| [in] | solver_node | XML node containing solver definition |
| [in] | level | Leve in MG hierarchy (optional) |
|
private |
Update solver after changing settings/operators.
| [in] | new_pattern | Update matrix pattern (optional) |