|
The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
|
Matrix and vector management routines.
Data Types | |
| interface | combine_matrices |
| Combine a set of non-overlapping sub-matrices into a single matrix. More... | |
| interface | create_matrix |
| Create a matrix using a set of non-overlapping graphs. More... | |
| interface | create_vector |
| Create a new vector by combining a set of vectors. More... | |
Functions/Subroutines | |
| subroutine | combine_matrices_comp (mats, nr, nc, mat) |
| Real implementation for combine_matrices. | |
| subroutine | combine_matrices_real (mats, nr, nc, mat) |
| Real implementation for combine_matrices. | |
| subroutine | condense_graph (ingraphs, outgraph, maps, row_map, col_map) |
| Combine a set of non-overlapping CRS-graphs into a graph. | |
| subroutine | condense_stitch (stitch_info, map, stitcher) |
| Combine seam information for a set of vectors. | |
| subroutine | create_identity_graph (outgraph, vec) |
| Create an identity graph for a given vector. | |
| subroutine | create_matrix_comp (mat, ingraphs, row_vec, col_vec, native) |
| Real implementation for create_matrix. | |
| subroutine | create_matrix_real (mat, ingraphs, row_vec, col_vec, native) |
| Real implementation for create_matrix. | |
| subroutine | create_vector_comp (vec, stitch_info, maps, native) |
| Complex implementation for create_vector. | |
| subroutine | create_vector_real (vec, stitch_info, maps, native) |
| Real implementation for create_vector. | |
| subroutine | csr_remove_redundant (nr, kr, nnz, lc) |
| Needs Docs. | |
| subroutine | graph_add_dense_blocks (graph_in, graph_out, dense_flag, dense_nodes) |
| Modify a CSR graph by adding dense blocks. | |
| subroutine | graph_add_full_col (graph_in, graph_out, nadd, nodes_add) |
| Modify a CSR graph by adding dense columns at specified indices. | |
| subroutine combine_matrices_comp | ( | type(oft_cmatrix_ptr), dimension(:,:), intent(in) | mats, |
| integer(i4), intent(in) | nr, | ||
| integer(i4), intent(in) | nc, | ||
| class(oft_cmatrix), intent(inout), pointer | mat | ||
| ) |
Real implementation for combine_matrices.
| subroutine combine_matrices_real | ( | type(oft_matrix_ptr), dimension(:,:), intent(in) | mats, |
| integer(i4), intent(in) | nr, | ||
| integer(i4), intent(in) | nc, | ||
| class(oft_matrix), intent(inout), pointer | mat | ||
| ) |
Real implementation for combine_matrices.
| subroutine condense_graph | ( | type(oft_graph_ptr), dimension(:,:), intent(in) | ingraphs, |
| type(oft_graph), intent(inout), pointer | outgraph, | ||
| type(oft_matrix_map), dimension(:,:), intent(out), pointer | maps, | ||
| type(oft_map), dimension(:), intent(in) | row_map, | ||
| type(oft_map), dimension(:), intent(in) | col_map | ||
| ) |
Combine a set of non-overlapping CRS-graphs into a graph.
| [in] | ingraphs | Array of graphs representing submatrices |
| [in,out] | outgraph | Resulting graph |
| [out] | maps | Mapping from sub-graphs into full graph |
| [in] | row_map | Vector representing matrix rows |
| [in] | col_map | Vector representing matrix rows |
| subroutine condense_stitch | ( | type(seam_list), dimension(:), intent(in) | stitch_info, |
| type(oft_map), dimension(:), intent(in) | map, | ||
| type(oft_seam), intent(inout) | stitcher | ||
| ) |
Combine seam information for a set of vectors.
| [in] | stitch_info | Array of seam structures |
| [in] | map | Mapping from sub-vectors into full vector |
| [in,out] | stitcher | Resulting seam structure for full vector |
| subroutine create_identity_graph | ( | type(oft_graph), intent(inout), pointer | outgraph, |
| class(oft_vector), intent(in), pointer | vec | ||
| ) |
Create an identity graph for a given vector.
| [in,out] | outgraph | Resulting graph |
| [in] | vec | Vector representing matrix rows/columns |
| subroutine create_matrix_comp | ( | class(oft_cmatrix), intent(inout), pointer | mat, |
| type(oft_graph_ptr), dimension(:,:), intent(in) | ingraphs, | ||
| class(oft_cvector), intent(in), pointer | row_vec, | ||
| class(oft_cvector), intent(in), pointer | col_vec, | ||
| logical, intent(in), optional | native | ||
| ) |
Real implementation for create_matrix.
| subroutine create_matrix_real | ( | class(oft_matrix), intent(inout), pointer | mat, |
| type(oft_graph_ptr), dimension(:,:), intent(in) | ingraphs, | ||
| class(oft_vector), intent(in), pointer | row_vec, | ||
| class(oft_vector), intent(in), pointer | col_vec, | ||
| logical, intent(in), optional | native | ||
| ) |
Real implementation for create_matrix.
| subroutine create_vector_comp | ( | class(oft_cvector), intent(inout), pointer | vec, |
| type(seam_list), dimension(:), intent(inout) | stitch_info, | ||
| type(map_list), dimension(:), intent(inout) | maps, | ||
| logical, intent(in), optional | native | ||
| ) |
Complex implementation for create_vector.
| subroutine create_vector_real | ( | class(oft_vector), intent(inout), pointer | vec, |
| type(seam_list), dimension(:), intent(inout) | stitch_info, | ||
| type(map_list), dimension(:), intent(inout) | maps, | ||
| logical, intent(in), optional | native | ||
| ) |
Real implementation for create_vector.
| subroutine csr_remove_redundant | ( | integer(4), intent(in) | nr, |
| integer(4), dimension(nr+1), intent(inout) | kr, | ||
| integer(4), intent(inout) | nnz, | ||
| integer(4), dimension(:), intent(inout), pointer | lc | ||
| ) |
Needs Docs.
| subroutine graph_add_dense_blocks | ( | type(oft_graph), intent(inout) | graph_in, |
| type(oft_graph), intent(inout) | graph_out, | ||
| integer(4), dimension(:), intent(in) | dense_flag, | ||
| type(oft_1d_int), dimension(:), intent(in) | dense_nodes | ||
| ) |
Modify a CSR graph by adding dense blocks.
| [in,out] | graph_in | Input graph to augment |
| [in,out] | graph_out | Output graph |
| [in] | dense_flag | Index of dense blocks (0 for elements outside dense blocks) |
| [in] | dense_nodes | Indices for each dense block |
| subroutine graph_add_full_col | ( | type(oft_graph), intent(inout) | graph_in, |
| type(oft_graph), intent(inout) | graph_out, | ||
| integer(4), intent(in) | nadd, | ||
| integer(4), dimension(nadd), intent(in) | nodes_add | ||
| ) |
Modify a CSR graph by adding dense columns at specified indices.
| [in,out] | graph_in | Input graph to augment |
| [in,out] | graph_out | Output graph |
| [in] | nadd | Number of columns to add |
| [in] | nodes_add | Indices of columns to add |