The Open FUSION Toolkit 1.0.0-8905cc5
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