|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Needs docs.

Public Member Functions | |
| procedure | add_values (self, i_inds, j_inds, b, n, m, iblock, jblock, loc_cache) |
| Add values to a matrix. | |
| procedure(mat_add_values), deferred | add_values (self, i_inds, j_inds, b, n, m, iblock, jblock, loc_cache) |
| Add values to the matrix. | |
| generic | apply (self, a, b) |
| Compute matrix-vector product. | |
| generic | apply (self, a, b) |
| Compute matrix-vector product. | |
| procedure | apply_bop (self, a, bx, by, bz) |
| Apply B-field operator. | |
| procedure | apply_complex (self, a, b) |
| Compute matrix vector product (complex) | |
| procedure | apply_real (self, a, b) |
| Apply the matrix to a field. | |
| procedure(mat_apply_vec), deferred | apply_real (self, a, b) |
| procedure | apply_real (self, a, b) |
| Apply the matrix (L) | |
| generic | applyt (self, a, b) |
| Compute matrix-vector product for matrix transpose. | |
| generic | applyt (self, a, b) |
| Compute matrix-vector product for matrix transpose. | |
| procedure | applyt_complex (self, a, b) |
| Apply the matrix to a field. | |
| procedure | applyt_complex (self, a, b) |
| Apply matrix vector product for matrix transpose (complex vector) | |
| procedure | applyt_real (self, a, b) |
| Apply the matrix to a field. | |
| procedure(mat_apply_vec), deferred | applyt_real (self, a, b) |
| procedure | assemble (self, diag) |
| Finish assembly of matrix and optionally extract diagonals. | |
| procedure(mat_assemble), deferred | assemble (self, diag) |
| Complete matrix assembly. | |
| procedure | assemble (self, diag) |
| Assemble matrix (L) | |
| procedure | atomic_add_values (self, i_inds, j_inds, b, n, m, iblock, jblock, loc_cache) |
| Add values to a matrix. | |
| procedure(mat_add_values), deferred | atomic_add_values (self, i_inds, j_inds, b, n, m, iblock, jblock, loc_cache) |
| Add values atomically to the matrix. | |
| procedure | compute_b (self, save_file) |
| Compute compressed B-field operators. | |
| procedure | compute_l (self, save_file) |
| Compute compressed inductance operator. | |
| procedure | delete (self) |
| Delete matrix. | |
| procedure | delete (self) |
| Delete matrix. | |
| procedure | set_values (self, i_inds, j_inds, b, n, m, iblock, jblock) |
| Set values of a matrix. | |
| procedure(mat_set_values), deferred | set_values (self, i_inds, j_inds, b, n, m, iblock, jblock) |
| Set values of the matrix. | |
| procedure | setup (self, required) |
| Setup HODLR by performing partitioning and tagging block-block interactions. | |
| procedure | zero (self) |
| Zero all entries in matrix. | |
| procedure(mat_zero), deferred | zero (self) |
| Zero all elements. | |
| procedure | zero_rows (self, nrows, irows, iblock, keep_diag) |
| Zero all entries in the specified rows. | |
| procedure(mat_zero_rows), deferred | zero_rows (self, nrows, irows, iblock, keep_diag) |
| Zero all elements in a given row. | |
Public Attributes | |
| type(oft_native_dense_matrix), dimension(:,:), pointer | aca_b_dense => NULL() |
| Fallback dense matrices for compressed off-diagonal interactions (B-field) | |
| type(oft_native_dense_matrix), dimension(:,:), pointer | aca_bu_mats => NULL() |
| U matrices for compressed off-diagonal interactions (B-field) | |
| type(oft_native_dense_matrix), dimension(:,:), pointer | aca_bv_mats => NULL() |
| V matrices for compressed off-diagonal interactions (B-field) | |
| type(oft_native_dense_matrix), dimension(:), pointer | aca_dense => NULL() |
| Fallback dense matrices for compressed off-diagonal interactions (L) | |
| integer(4) | aca_min_its = 20 |
| Minimum number of ACA+ iterations. | |
| type(oft_native_dense_matrix), dimension(:), pointer | aca_u_mats => NULL() |
| U matrices for compressed off-diagonal interactions (L) | |
| type(oft_native_dense_matrix), dimension(:), pointer | aca_v_mats => NULL() |
| V matrices for compressed off-diagonal interactions (L) | |
| real(8) | b_aca_tol = -1.d0 |
| ACA+ tolerance for B-field operators. | |
| real(8) | b_svd_tol = -1.d0 |
| SVD tolerance for B-field operators. | |
| type(oft_tw_block), dimension(:), pointer | blocks => NULL() |
| REMOVE. | |
| class(oft_vector), pointer | d => NULL() |
| Diagonal entries for scaling. | |
| type(oft_native_dense_matrix), dimension(:,:), pointer | dense_b_mats => NULL() |
| Dense matrices for diagonal interactions (B-field) | |
| integer(4), dimension(:,:), pointer | dense_blocks => NULL() |
| Indices of diagonal interactions. | |
| type(oft_native_dense_matrix), dimension(:), pointer | dense_mats => NULL() |
| Dense matrices for diagonal interactions (L) | |
| logical | force_local = .FALSE. |
| Do not stitch resulting vector? (Native ONLY) | |
| real(8), dimension(:,:,:), pointer | hole_vcoil_bmat => NULL() |
| Dense coupling matrix to holes and Vcoils (B-field) | |
| type(oft_native_dense_matrix) | hole_vcoil_mat |
| Dense coupling matrix to holes and Vcoils (L) | |
| type(oft_map), dimension(:), pointer | i_map => NULL() |
| Row block mapping. | |
| real(8), dimension(:,:,:), pointer | icoil_bmat => NULL() |
| Dense coupling matrix to Icoils (B-fieldß) | |
| type(oft_map), dimension(:), pointer | j_map => NULL() |
| Column block mapping. | |
| real(8) | l_aca_tol = -1.d0 |
| ACA+ tolerance for inductance matrix. | |
| real(8) | l_svd_tol = -1.d0 |
| SVD tolerance for inductance matrix. | |
| integer(4) | leaf_target = 1500 |
| Target size for leaves on lowest level. | |
| type(oft_tw_level), dimension(:), pointer | levels => NULL() |
| Block heirarchy. | |
| integer(4) | min_rank = 10 |
| Minimum rank of compressed off-diagonal matrices. | |
| integer(4) | nblocks = 0 |
| Number of blocks on the lowest level. | |
| integer(i4) | nc |
| Local number of columns. | |
| integer(i8) | ncg |
| Gobal number of columns. | |
| integer(i4) | ncslice = 0 |
| Number of owned columns. | |
| integer(4) | ndense = 0 |
| Number of diagonal interactions. | |
| integer(i4) | ni = 0 |
| Number of row blocks. | |
| integer(i4) | nj = 0 |
| Number of column blocks. | |
| integer(4) | nlevels = 0 |
| Number of levels in block heirarchy. | |
| integer(i4) | nr |
| Local number of rows. | |
| integer(i8) | nrg |
| Gobal number of rows. | |
| integer(i4) | nrslice = 0 |
| Number of owned rows. | |
| integer(4) | nsparse = 0 |
| Number of compressed off-diagonal interactions. | |
| integer(4), dimension(:,:), pointer | sparse_blocks => NULL() |
| Indices of compressed off-diagonal interactions. | |
| type(tw_type), pointer | tw_obj => NULL() |
|
inherited |
Add values to a matrix.
| [in] | i_inds | Row indices of entries to add [n] |
| [in] | j_inds | Column indices of entries to add [m] |
| [in] | b | Values to set [n,m] |
| [in] | n | Number of rows in local matrix |
| [in] | m | Number of columns in local matrix |
| [in] | iblock | Row block (optional) |
| [in] | jblock | Column block (optional) |
| [in,out] | loc_cache | Cache of entry locations |
|
pure virtualinherited |
Add values to the matrix.
| [in,out] | self | Matrix object |
| [in] | i_inds | Row indices of entries to add [n] |
| [in] | j_inds | Column indices of entries to add [m] |
| [in] | b | Values to set [n,m] |
| [in] | n | Number of rows in local matrix |
| [in] | m | Number of columns in local matrix |
| [in] | iblock | Row block (optional) |
| [in] | jblock | Column block (optional) |
| [in,out] | loc_cache | Cache of entry locations |
|
inherited |
Compute matrix-vector product.
b = self * a
| [in,out] | self | Matrix object |
| [in,out] | a | Vector object |
| [in,out] | b | Result vector |
|
inherited |
Compute matrix-vector product.
| [in,out] | self | Matrix object |
| [in,out] | a | Source vector |
| [in,out] | b | Result of matrix product |
| procedure apply_bop | ( | 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 B-field operator.
b = self * a
| [in] | a | Source field |
| [out] | b | Result of matrix product |
|
inherited |
Compute matrix vector product (complex)
b = self * a
| [in,out] | self | Matrix object |
| [in,out] | a | Vector object |
| [in,out] | b | Result vector |
|
inherited |
Apply the matrix to a field.
b = self * a
| [in,out] | a | Source field |
| [in,out] | b | Result of matrix product |
|
pure virtualinherited |
| [in,out] | self | Matrix object |
| [in,out] | a | Source vector |
| [in,out] | b | Result of matrix product |
| procedure apply_real | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| class(oft_vector), intent(inout), target | a, | ||
| class(oft_vector), intent(inout) | b | ||
| ) |
Apply the matrix (L)
b = self * a
| [in] | a | Source field |
| [out] | b | Result of matrix product |
|
inherited |
Compute matrix-vector product for matrix transpose.
b = self^T * a
| [in,out] | self | Matrix object |
| [in,out] | a | Vector object |
| [in,out] | b | Result vector |
|
inherited |
Compute matrix-vector product for matrix transpose.
| [in,out] | self | Matrix object |
| [in,out] | a | Source vector |
| [in,out] | b | Result of matrix product |
|
inherited |
Apply the matrix to a field.
b = self * a
| [in,out] | a | Source field |
| [in,out] | b | Result of matrix product |
|
inherited |
Apply matrix vector product for matrix transpose (complex vector)
b = self^T * a
| [in,out] | self | Matrix object |
| [in,out] | a | Vector object |
| [in,out] | b | Result vector |
|
inherited |
Apply the matrix to a field.
b = self * a
| [in,out] | a | Source field |
| [in,out] | b | Result of matrix product |
|
pure virtualinherited |
| [in,out] | self | Matrix object |
| [in,out] | a | Source vector |
| [in,out] | b | Result of matrix product |
|
inherited |
Finish assembly of matrix and optionally extract diagonals.
| [in,out] | diag | Diagonal entries of matrix [nr] (optional) |
|
pure virtualinherited |
Complete matrix assembly.
| [in,out] | self | Matrix object |
| [in,out] | diag | Diagonal entries of matrix [nr] (optional) |
| procedure assemble | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| class(oft_vector), intent(inout), optional, target | diag | ||
| ) |
Assemble matrix (L)
|
inherited |
Add values to a matrix.
| [in] | i_inds | Row indices of entries to add [n] |
| [in] | j_inds | Column indices of entries to add [m] |
| [in] | b | Values to set [n,m] |
| [in] | n | Number of rows in local matrix |
| [in] | m | Number of columns in local matrix |
| [in] | iblock | Row block (optional) |
| [in] | jblock | Column block (optional) |
| [in,out] | loc_cache | Cache of entry locations |
|
pure virtualinherited |
Add values atomically to the matrix.
| [in,out] | self | Matrix object |
| [in] | i_inds | Row indices of entries to add [n] |
| [in] | j_inds | Column indices of entries to add [m] |
| [in] | b | Values to set [n,m] |
| [in] | n | Number of rows in local matrix |
| [in] | m | Number of columns in local matrix |
| [in] | iblock | Row block (optional) |
| [in] | jblock | Column block (optional) |
| [in,out] | loc_cache | Cache of entry locations |
| procedure compute_b | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| character(len=*), intent(in), optional | save_file | ||
| ) |
Compute compressed B-field operators.
| procedure compute_l | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| character(len=*), intent(in), optional | save_file | ||
| ) |
Compute compressed inductance operator.
|
inherited |
Delete matrix.
|
inherited |
Delete matrix.
|
inherited |
Set values of a matrix.
| [in] | i_inds | Row indices of entries to set [n] |
| [in] | j_inds | Column indices of entries to set [m] |
| [in] | b | Values to set [n,m] |
| [in] | n | Number of rows in local matrix |
| [in] | m | Number of columns in local matrix |
| [in] | iblock | Row block (optional) |
| [in] | jblock | Column block (optional) |
|
pure virtualinherited |
Set values of the matrix.
| [in,out] | self | Matrix object |
| [in] | i_inds | Row indices of entries to set [n] |
| [in] | j_inds | Column indices of entries to set [m] |
| [in] | b | Values to set [n,m] |
| [in] | n | Number of rows in local matrix |
| [in] | m | Number of columns in local matrix |
| [in] | iblock | Row block (optional) |
| [in] | jblock | Column block (optional) |
| procedure setup | ( | class(oft_tw_hodlr_op), intent(inout) | self, |
| logical, intent(in) | required | ||
| ) |
Setup HODLR by performing partitioning and tagging block-block interactions.
|
inherited |
Zero all entries in matrix.
|
pure virtualinherited |
Zero all elements.
| [in,out] | self | Matrix object |
|
inherited |
Zero all entries in the specified rows.
| [in] | nrows | Number of rows to zero |
| [in] | irows | Indices of rows to zero [nrows] |
| [in] | iblock | Row block (optional) |
| [in] | keep_diag | Keep diagonal entries |
|
pure virtualinherited |
Zero all elements in a given row.
| [in,out] | self | Matrix object |
| [in] | nrows | Number of rows to zero |
| [in] | irows | Indices of rows to zero [nrows] |
| [in] | iblock | Row block (optional) |
| [in] | keep_diag | Keep diagonal entries |
| type(oft_native_dense_matrix), dimension(:,:), pointer aca_b_dense => NULL() |
Fallback dense matrices for compressed off-diagonal interactions (B-field)
| type(oft_native_dense_matrix), dimension(:,:), pointer aca_bu_mats => NULL() |
U matrices for compressed off-diagonal interactions (B-field)
| type(oft_native_dense_matrix), dimension(:,:), pointer aca_bv_mats => NULL() |
V matrices for compressed off-diagonal interactions (B-field)
| type(oft_native_dense_matrix), dimension(:), pointer aca_dense => NULL() |
Fallback dense matrices for compressed off-diagonal interactions (L)
| integer(4) aca_min_its = 20 |
Minimum number of ACA+ iterations.
| type(oft_native_dense_matrix), dimension(:), pointer aca_u_mats => NULL() |
U matrices for compressed off-diagonal interactions (L)
| type(oft_native_dense_matrix), dimension(:), pointer aca_v_mats => NULL() |
V matrices for compressed off-diagonal interactions (L)
| real(8) b_aca_tol = -1.d0 |
ACA+ tolerance for B-field operators.
| real(8) b_svd_tol = -1.d0 |
SVD tolerance for B-field operators.
| type(oft_tw_block), dimension(:), pointer blocks => NULL() |
REMOVE.
|
inherited |
Diagonal entries for scaling.
| type(oft_native_dense_matrix), dimension(:,:), pointer dense_b_mats => NULL() |
Dense matrices for diagonal interactions (B-field)
| integer(4), dimension(:,:), pointer dense_blocks => NULL() |
Indices of diagonal interactions.
| type(oft_native_dense_matrix), dimension(:), pointer dense_mats => NULL() |
Dense matrices for diagonal interactions (L)
|
inherited |
Do not stitch resulting vector? (Native ONLY)
| real(8), dimension(:,:,:), pointer hole_vcoil_bmat => NULL() |
Dense coupling matrix to holes and Vcoils (B-field)
| type(oft_native_dense_matrix) hole_vcoil_mat |
Dense coupling matrix to holes and Vcoils (L)
|
inherited |
Row block mapping.
| real(8), dimension(:,:,:), pointer icoil_bmat => NULL() |
Dense coupling matrix to Icoils (B-fieldß)
|
inherited |
Column block mapping.
| real(8) l_aca_tol = -1.d0 |
ACA+ tolerance for inductance matrix.
| real(8) l_svd_tol = -1.d0 |
SVD tolerance for inductance matrix.
| integer(4) leaf_target = 1500 |
Target size for leaves on lowest level.
| type(oft_tw_level), dimension(:), pointer levels => NULL() |
Block heirarchy.
| integer(4) min_rank = 10 |
Minimum rank of compressed off-diagonal matrices.
| integer(4) nblocks = 0 |
Number of blocks on the lowest level.
|
inherited |
Local number of columns.
|
inherited |
Gobal number of columns.
|
inherited |
Number of owned columns.
| integer(4) ndense = 0 |
Number of diagonal interactions.
|
inherited |
Number of row blocks.
|
inherited |
Number of column blocks.
| integer(4) nlevels = 0 |
Number of levels in block heirarchy.
|
inherited |
Local number of rows.
|
inherited |
Gobal number of rows.
|
inherited |
Number of owned rows.
| integer(4) nsparse = 0 |
Number of compressed off-diagonal interactions.
| integer(4), dimension(:,:), pointer sparse_blocks => NULL() |
Indices of compressed off-diagonal interactions.
| type(tw_type), pointer tw_obj => NULL() |