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