|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Hierarchical Off-Diagonal Low Rank matrix approximation functionality for ThinCurr.
Data Types | |
| type | cmat_container |
| Needs docs. More... | |
| type | oft_tw_block |
| Needs docs. More... | |
| type | oft_tw_hodlr_bjpre |
| Complex block-Jacobi preconditioner for ThinCurr HODLR matrices. More... | |
| type | oft_tw_hodlr_op |
| Needs docs. More... | |
| type | oft_tw_hodlr_rbjpre |
| Real block-Jacobi preconditioner for ThinCurr HODLR matrices. More... | |
| type | oft_tw_level |
| Needs docs. More... | |
| type | rmat_container |
| Needs docs. More... | |
Functions/Subroutines | |
| recursive subroutine | bjprecond_apply (self, u, g) |
| Precondition a linear system using a Block-Jacobi method (complex) | |
| subroutine | bjprecond_delete (self) |
| Destroy Block-Jacobi preconditioner and deallocate all internal storage. | |
| subroutine | get_qr (mat, q, r) |
| recursive subroutine | rbjprecond_apply (self, u, g) |
| Precondition a linear system using a Block-Jacobi method (real) | |
| subroutine | rbjprecond_delete (self) |
| Destroy Block-Jacobi preconditioner and deallocate all internal storage. | |
| subroutine | tw_compute_bops_block (self, bop, row_block, col_block, dir) |
| Needs Docs. | |
| subroutine | tw_compute_bops_hole (self, bop, bop_dr) |
| Needs Docs. | |
| subroutine | tw_compute_lmatblock (row_obj, col_obj, lmat, row_block, col_block) |
| Compute mutual inductance matrix between two thin-wall models. | |
| subroutine | tw_compute_lmathole (row_obj, col_obj, lmat) |
| Compute mutual inductance matrix between two thin-wall models. | |
| subroutine | tw_hodlr_bapply (self, a, bx, by, bz) |
| Apply the matrix to a field. | |
| subroutine | tw_hodlr_bcompute (self, save_file) |
| Needs Docs. | |
| subroutine | tw_hodlr_lapply (self, a, b) |
| Apply the matrix to a field. | |
| subroutine | tw_hodlr_lassemble (self, diag) |
| Needs docs. | |
| subroutine | tw_hodlr_lcompute (self, save_file) |
| Needs Docs. | |
| subroutine | tw_hodlr_setup (self, required) |
| Needs Docs. | |
| subroutine | tw_part_mesh (self, leaf_target, nlevels, levels) |
| Needs Docs. | |
| recursive subroutine bjprecond_apply | ( | class(oft_tw_hodlr_bjpre), intent(inout) | self, |
| class(oft_cvector), intent(inout) | u, | ||
| class(oft_cvector), intent(inout) | g | ||
| ) |
Precondition a linear system using a Block-Jacobi method (complex)
| [in,out] | self | Solver object |
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
| subroutine bjprecond_delete | ( | class(oft_tw_hodlr_bjpre), intent(inout) | self | ) |
Destroy Block-Jacobi preconditioner and deallocate all internal storage.
| subroutine get_qr | ( | real(8), dimension(:,:), intent(in) | mat, |
| real(8), dimension(:,:), intent(out), allocatable | q, | ||
| real(8), dimension(:,:), intent(out), allocatable | r | ||
| ) |
| recursive subroutine rbjprecond_apply | ( | class(oft_tw_hodlr_rbjpre), intent(inout) | self, |
| class(oft_vector), intent(inout) | u, | ||
| class(oft_vector), intent(inout) | g | ||
| ) |
Precondition a linear system using a Block-Jacobi method (real)
| [in,out] | self | Solver object |
| [in,out] | u | Guess/Solution field |
| [in,out] | g | RHS/Residual field |
| subroutine rbjprecond_delete | ( | class(oft_tw_hodlr_rbjpre), intent(inout) | self | ) |
Destroy Block-Jacobi preconditioner and deallocate all internal storage.
| subroutine tw_compute_bops_block | ( | type(tw_type), intent(inout) | self, |
| real(8), dimension(:,:), intent(out) | bop, | ||
| type(oft_tw_block), intent(in) | row_block, | ||
| type(oft_tw_block), intent(in) | col_block, | ||
| integer(4), intent(in) | dir | ||
| ) |
Needs Docs.
| [out] | bop | Magnetic field evaluation matrix |
| [in] | row_block | Block of rows to compute |
| [in] | col_block | Block of columns to compute |
| subroutine tw_compute_bops_hole | ( | type(tw_type), intent(inout) | self, |
| real(8), dimension(:,:,:), intent(out) | bop, | ||
| real(8), dimension(:,:,:), intent(out) | bop_dr | ||
| ) |
Needs Docs.
| [out] | bop | Magnetic field evaluation matrix |
| [out] | bop_dr | Magnetic field evaluation matrix |
| subroutine tw_compute_lmatblock | ( | type(tw_type), intent(in) | row_obj, |
| type(tw_type), intent(in) | col_obj, | ||
| real(8), dimension(:,:), intent(out) | lmat, | ||
| type(oft_tw_block), intent(in) | row_block, | ||
| type(oft_tw_block), intent(in) | col_block | ||
| ) |
Compute mutual inductance matrix between two thin-wall models.
| [in] | row_obj | Thin-wall model object for rows |
| [in] | col_obj | Thin-wall model object for columns |
| [in] | row_block | Block of rows to compute |
| [in] | col_block | Block of columns to compute |
| [out] | lmat | Mutual inductance matrix |
| subroutine tw_compute_lmathole | ( | type(tw_type), intent(in) | row_obj, |
| type(tw_type), intent(in) | col_obj, | ||
| real(8), dimension(:,:), intent(inout), pointer, contiguous | lmat | ||
| ) |
Compute mutual inductance matrix between two thin-wall models.
| [in] | row_obj | Thin-wall model object for rows |
| [in] | col_obj | Thin-wall model object for columns |
| [in,out] | lmat | Mutual inductance matrix |
| subroutine tw_hodlr_bapply | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| class(oft_vector), intent(inout), target | a, | ||
| class(oft_vector), intent(inout) | bx, | ||
| class(oft_vector), intent(inout) | by, | ||
| class(oft_vector), intent(inout) | bz | ||
| ) |
Apply the matrix to a field.
b = self * a
| [in] | a | Source field |
| [out] | b | Result of matrix product |
| subroutine tw_hodlr_bcompute | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| character(len=*), intent(in), optional | save_file | ||
| ) |
Needs Docs.
| subroutine tw_hodlr_lapply | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| class(oft_vector), intent(inout), target | a, | ||
| class(oft_vector), intent(inout) | b | ||
| ) |
Apply the matrix to a field.
b = self * a
| [in] | a | Source field |
| [out] | b | Result of matrix product |
| subroutine tw_hodlr_lassemble | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| class(oft_vector), intent(inout), optional, target | diag | ||
| ) |
Needs docs.
| subroutine tw_hodlr_lcompute | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| character(len=*), intent(in), optional | save_file | ||
| ) |
Needs Docs.
| subroutine tw_hodlr_setup | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| logical, intent(in) | required | ||
| ) |
Needs Docs.
| subroutine tw_part_mesh | ( | type(tw_type), intent(inout) | self, |
| integer(4), intent(in) | leaf_target, | ||
| integer(4), intent(out) | nlevels, | ||
| type(oft_tw_level), dimension(:), intent(out), pointer | levels | ||
| ) |
Needs Docs.
Need docs
Need docs