Reference documentation for deal.II version 9.1.1
|
Functions | |
template<typename DoFHandlerType > | |
void | Cuthill_McKee (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false) |
template<typename DoFHandlerType > | |
void | compute_Cuthill_McKee (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &, const bool reversed_numbering=false, const bool use_constraints=false) |
template<typename DoFHandlerType > | |
void | king_ordering (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false) |
template<typename DoFHandlerType > | |
void | compute_king_ordering (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &, const bool reversed_numbering=false, const bool use_constraints=false) |
template<typename DoFHandlerType > | |
void | minimum_degree (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false) |
template<typename DoFHandlerType > | |
void | compute_minimum_degree (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &, const bool reversed_numbering=false, const bool use_constraints=false) |
A namespace for the implementation of some renumbering algorithms based on algorithms implemented in the Boost Graph Library (BGL) by Jeremy Siek and others.
While often slightly slower to compute, the algorithms using BOOST often lead to matrices with smaller bandwidths and sparse ILUs based on this numbering are therefore more efficient.
For a comparison of these algorithms with the ones defined in DoFRenumbering, see the comparison section in the documentation of the DoFRenumbering namespace.
void DoFRenumbering::boost::Cuthill_McKee | ( | DoFHandlerType & | dof_handler, |
const bool | reversed_numbering = false , |
||
const bool | use_constraints = false |
||
) |
Renumber the degrees of freedom according to the Cuthill-McKee method, eventually using the reverse numbering scheme.
See the general documentation of the parent class for details on the different methods.
As an example of the results of this algorithm, take a look at the comparison of various algorithms in the documentation of the DoFRenumbering namespace.
Definition at line 125 of file dof_renumbering.cc.
void DoFRenumbering::boost::compute_Cuthill_McKee | ( | std::vector< types::global_dof_index > & | new_dof_indices, |
const DoFHandlerType & | dof_handler, | ||
const bool | reversed_numbering = false , |
||
const bool | use_constraints = false |
||
) |
Compute the renumbering vector needed by the Cuthill_McKee() function. Does not perform the renumbering on the DoFHandler dofs but returns the renumbering vector.
Definition at line 145 of file dof_renumbering.cc.
void DoFRenumbering::boost::king_ordering | ( | DoFHandlerType & | dof_handler, |
const bool | reversed_numbering = false , |
||
const bool | use_constraints = false |
||
) |
Renumber the degrees of freedom based on the BOOST implementation of the King algorithm. This often results in slightly larger (by a few percent) bandwidths than the Cuthill-McKee algorithm, but sparse ILUs are often slightly (also by a few percent) better preconditioners.
As an example of the results of this algorithm, take a look at the comparison of various algorithms in the documentation of the DoFRenumbering namespace.
This algorithm is used in step-22.
Definition at line 187 of file dof_renumbering.cc.
void DoFRenumbering::boost::compute_king_ordering | ( | std::vector< types::global_dof_index > & | new_dof_indices, |
const DoFHandlerType & | dof_handler, | ||
const bool | reversed_numbering = false , |
||
const bool | use_constraints = false |
||
) |
Compute the renumbering for the King algorithm but do not actually renumber the degrees of freedom in the DoF handler argument.
Definition at line 207 of file dof_renumbering.cc.
void DoFRenumbering::boost::minimum_degree | ( | DoFHandlerType & | dof_handler, |
const bool | reversed_numbering = false , |
||
const bool | use_constraints = false |
||
) |
Renumber the degrees of freedom based on the BOOST implementation of the minimum degree algorithm. Unlike the Cuthill-McKee algorithm, this algorithm does not attempt to minimize the bandwidth of a matrix but to minimize the amount of fill-in when doing an LU decomposition. It may sometimes yield better ILUs because of this property.
As an example of the results of this algorithm, take a look at the comparison of various algorithms in the documentation of the DoFRenumbering namespace.
Definition at line 243 of file dof_renumbering.cc.
void DoFRenumbering::boost::compute_minimum_degree | ( | std::vector< types::global_dof_index > & | new_dof_indices, |
const DoFHandlerType & | dof_handler, | ||
const bool | reversed_numbering = false , |
||
const bool | use_constraints = false |
||
) |
Compute the renumbering for the minimum degree algorithm but do not actually renumber the degrees of freedom in the DoF handler argument.
Definition at line 263 of file dof_renumbering.cc.