![]() |
FrontISTR
6.0.0
Large-scale structural analysis program with finit element method
|
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... | |
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)
| 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.
| 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.
| 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.
| subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_finalize | ( | type(hecmwst_mf_symbolic), intent(inout) | sym | ) |
| subroutine, public hecmw_mf_symbolic::hecmw_mf_symbolic_print | ( | type(hecmwst_mf_symbolic), intent(in) | sym | ) |