Elmer FEM solver
Elmer is an open source finite element software for multiphysical problems
 All Classes Files Functions Variables Typedefs Macros Groups Pages
bandwidthoptimize Module Reference

Data Types

type  label_t
 
type  labelpointer_t
 
integer function computebandwidth (N, List, Reorder, InvInitialReorder)
 
integer function optimizebandwidth (ListMatrix, Perm, InvInitialReorder, LocalNodes, Optimize, UseOptimized, Equation)
 
integer function lexiographicsearch (Model, Perm)
 
integer function depthfirstsearch (Model, Perm)
 

Member Function/Subroutine Documentation

integer function bandwidthoptimize::computebandwidth ( integer  N,
type(listmatrix_t), dimension(:)  List,
integer, dimension(:), optional  Reorder,
integer, dimension(:), optional  InvInitialReorder 
)

Subroutine for computing the bandwidth of a sparse matrix.

Referenced by optimizebandwidth().

Here is the caller graph for this function:

integer function bandwidthoptimize::depthfirstsearch ( type(model_t), pointer  Model,
integer, dimension(:)  Perm 
)

References renumber().

Here is the call graph for this function:

integer function bandwidthoptimize::lexiographicsearch ( type(model_t), pointer  Model,
integer, dimension(:)  Perm 
)
Deprecated:
The LexiographicSearch for bandwidth optimization is not in use. Can it be removed?

References addpath(), labeladd(), and labelcompare().

Here is the call graph for this function:

integer function bandwidthoptimize::optimizebandwidth ( type(listmatrix_t), dimension(:)  ListMatrix,
integer, dimension(:)  Perm,
integer, dimension(:)  InvInitialReorder,
integer  LocalNodes,
logical  Optimize,
logical  UseOptimized,
character(len=*)  Equation 
)

Subroutine for reordering variables for bandwidth and/or gaussian elimination fillin optimization. Also computes node to element connections (which implies node to node connections, and thus the global matrix structure).

References computebandwidth(), messages::info(), levelize(), and renumber().

Referenced by elementutils::creatematrix(), meshutils::makepermusingmask(), and meshutils::updatesolvermesh().

Here is the call graph for this function:

Here is the caller graph for this function:


The documentation for this module was generated from the following file: