FrontISTR  6.0.0
Large-scale structural analysis program with finit element method
hecmw_mf_symbolic Module Reference

Symbolic factorization (elimination tree, column counts, supernodes, row structure) for the multifrontal direct solver, on the node level graph. More...

Functions/Subroutines

subroutine, public hecmw_mf_symbolic_build (graph, perm, relax_nodes, sym)
 perm(k) is the original node placed at position k by a fill reducing ordering; any topological reordering of the elimination tree gives the same factor structure, so the stored perm differs from the input by postordering and amalgamation only. relax_nodes: a child supernode is merged into its parent while the merged column count (in nodes) does not exceed this value; 0 keeps the fundamental supernodes. More...
 
subroutine, public hecmw_mf_symbolic_finalize (sym)
 
subroutine, public hecmw_mf_symbolic_check (graph, sym, nerr)
 Consistency checks of a built structure against its graph; every violation is reported on unit 6 and counted in nerr. More...
 
subroutine, public hecmw_mf_symbolic_print (sym)
 
subroutine, public hecmw_mf_symbolic_cluster (graph, sym, perm)
 Refined permutation for the BLR compression: the own nodes of every supernode are reordered by a BFS on the induced subgraph, restarted per connected component from an unvisited node of least internal degree, so that geometrically close separator nodes stay in neighboring columns and the panel tiles keep low ranks. The order across supernodes is unchanged (any order within a supernode is a valid elimination order); the caller rebuilds the symbolic structure with the returned permutation. More...
 

Detailed Description

Symbolic factorization (elimination tree, column counts, supernodes, row structure) for the multifrontal direct solver, on the node level graph.

References: Liu, "The role of elimination trees in sparse factorization", SIAM J. Matrix Anal. Appl. 11 (1990) Gilbert, Ng, Peyton, "An efficient algorithm to compute row and column counts for sparse Cholesky factorization", SIAM J. Matrix Anal. Appl. 15 (1994) Ashcraft, Grimes, "The influence of relaxed supernode partitions on the multifrontal method", ACM TOMS 15 (1989)

Function/Subroutine Documentation

◆ hecmw_mf_symbolic_build()

subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_build ( type(hecmwst_mf_graph), intent(in)  graph,
integer(kind=kint), dimension(:), intent(in)  perm,
integer(kind=kint), intent(in)  relax_nodes,
type(hecmwst_mf_symbolic), intent(out)  sym 
)

perm(k) is the original node placed at position k by a fill reducing ordering; any topological reordering of the elimination tree gives the same factor structure, so the stored perm differs from the input by postordering and amalgamation only. relax_nodes: a child supernode is merged into its parent while the merged column count (in nodes) does not exceed this value; 0 keeps the fundamental supernodes.

Definition at line 61 of file hecmw_mf_symbolic.f90.

Here is the caller graph for this function:

◆ hecmw_mf_symbolic_check()

subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_check ( type(hecmwst_mf_graph), intent(in)  graph,
type(hecmwst_mf_symbolic), intent(in)  sym,
integer(kind=kint), intent(out)  nerr 
)

Consistency checks of a built structure against its graph; every violation is reported on unit 6 and counted in nerr.

Definition at line 625 of file hecmw_mf_symbolic.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hecmw_mf_symbolic_cluster()

subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_cluster ( type(hecmwst_mf_graph), intent(in)  graph,
type(hecmwst_mf_symbolic), intent(in)  sym,
integer(kind=kint), dimension(:), intent(out)  perm 
)

Refined permutation for the BLR compression: the own nodes of every supernode are reordered by a BFS on the induced subgraph, restarted per connected component from an unvisited node of least internal degree, so that geometrically close separator nodes stay in neighboring columns and the panel tiles keep low ranks. The order across supernodes is unchanged (any order within a supernode is a valid elimination order); the caller rebuilds the symbolic structure with the returned permutation.

Definition at line 853 of file hecmw_mf_symbolic.f90.

Here is the caller graph for this function:

◆ hecmw_mf_symbolic_finalize()

subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_finalize ( type(hecmwst_mf_symbolic), intent(inout)  sym)

Definition at line 93 of file hecmw_mf_symbolic.f90.

Here is the caller graph for this function:

◆ hecmw_mf_symbolic_print()

subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_print ( type(hecmwst_mf_symbolic), intent(in)  sym)

Definition at line 823 of file hecmw_mf_symbolic.f90.

Here is the caller graph for this function: