The Open FUSION Toolkit 1.0.0-beta6
Modeling tools for plasma and fusion research and engineering
Loading...
Searching...
No Matches
oft_la_utils Module Reference

Detailed Description

Matrix and vector management routines.

Authors
Chris Hansen
Date
December 2012

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.

Function/Subroutine Documentation

◆ combine_matrices_comp()

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.

◆ combine_matrices_real()

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.

◆ condense_graph()

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.

Parameters
[in]ingraphsArray of graphs representing submatrices
[in,out]outgraphResulting graph
[out]mapsMapping from sub-graphs into full graph
[in]row_mapVector representing matrix rows
[in]col_mapVector representing matrix rows

◆ condense_stitch()

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.

Parameters
[in]stitch_infoArray of seam structures
[in]mapMapping from sub-vectors into full vector
[in,out]stitcherResulting seam structure for full vector

◆ create_identity_graph()

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.

Parameters
[in,out]outgraphResulting graph
[in]vecVector representing matrix rows/columns

◆ create_matrix_comp()

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.

◆ create_matrix_real()

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.

◆ create_vector_comp()

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.

◆ create_vector_real()

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.

◆ csr_remove_redundant()

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.

◆ graph_add_dense_blocks()

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.

Parameters
[in,out]graph_inInput graph to augment
[in,out]graph_outOutput graph
[in]dense_flagIndex of dense blocks (0 for elements outside dense blocks)
[in]dense_nodesIndices for each dense block

◆ graph_add_full_col()

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.

Parameters
[in,out]graph_inInput graph to augment
[in,out]graph_outOutput graph
[in]naddNumber of columns to add
[in]nodes_addIndices of columns to add