The Open FUSION Toolkit 1.0.0-8905cc5
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 | Level in MG hierarchy (optional) |
|
private |
Update solver after changing settings/operators.
[in] | new_pattern | Update matrix pattern (optional) |
|
private |
Needs Docs.
[in] | nrows | Number of rows/columns |
[in,out] | amat | Matrix to invert |
[out] | error | Error flag |
|
private |
Needs Docs.
[in] | nrows | Number of rows/columns |
[in,out] | amat | Matrix to invert |
[out] | error | Error flag |
|
private |
Needs Docs.
[in] | nrows | Number of rows/columns |
[in,out] | amat | Matrix to invert |
[out] | error | Error flag |
|
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 | Level in MG hierarchy (optional) |
|
private |
Update solver after changing settings/operators.
[in] | new_pattern | Update matrix pattern (optional) |