Reference documentation for deal.II version 9.2.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Classes | Namespaces | Macros | Typedefs | Functions
dof_renumbering.cc File Reference
#include <deal.II/base/quadrature_lib.h>
#include <deal.II/base/template_constraints.h>
#include <deal.II/base/types.h>
#include <deal.II/base/utilities.h>
#include <deal.II/distributed/tria.h>
#include <deal.II/dofs/dof_accessor.h>
#include <deal.II/dofs/dof_handler.h>
#include <deal.II/dofs/dof_renumbering.h>
#include <deal.II/dofs/dof_tools.h>
#include <deal.II/fe/fe.h>
#include <deal.II/grid/tria.h>
#include <deal.II/grid/tria_iterator.h>
#include <deal.II/hp/dof_handler.h>
#include <deal.II/hp/fe_collection.h>
#include <deal.II/hp/fe_values.h>
#include <deal.II/lac/affine_constraints.h>
#include <deal.II/lac/dynamic_sparsity_pattern.h>
#include <deal.II/lac/sparsity_pattern.h>
#include <deal.II/lac/sparsity_tools.h>
#include <deal.II/multigrid/mg_tools.h>
#include <boost/config.hpp>
#include <boost/graph/adjacency_list.hpp>
#include <boost/graph/bandwidth.hpp>
#include <boost/graph/cuthill_mckee_ordering.hpp>
#include <boost/graph/king_ordering.hpp>
#include <boost/graph/minimum_degree_ordering.hpp>
#include <boost/graph/properties.hpp>
#include <boost/random.hpp>
#include <boost/random/uniform_int_distribution.hpp>
#include <algorithm>
#include <cmath>
#include <functional>
#include <map>
#include <vector>
#include "dof_renumbering.inst"

Go to the source code of this file.

Classes

struct  DoFRenumbering::internal::ClockCells< dim >
 

Namespaces

 DoFRenumbering
 
 DoFRenumbering::boost
 
 DoFRenumbering::boost::boosttypes
 
 DoFRenumbering::boost::internal
 
 DoFRenumbering::internal
 

Macros

#define BOOST_BIND_GLOBAL_PLACEHOLDERS
 

Typedefs

using DoFRenumbering::boost::boosttypes::Graph = adjacency_list< vecS, vecS, undirectedS, property< vertex_color_t, default_color_type, property< vertex_degree_t, int > >>
 
using DoFRenumbering::boost::boosttypes::Vertex = graph_traits< Graph >::vertex_descriptor
 
using DoFRenumbering::boost::boosttypes::size_type = graph_traits< Graph >::vertices_size_type
 
using DoFRenumbering::boost::boosttypes::Pair = std::pair< size_type, size_type >
 

Functions

template<typename DoFHandlerType >
void DoFRenumbering::boost::internal::create_graph (const DoFHandlerType &dof_handler, const bool use_constraints, boosttypes::Graph &graph, boosttypes::property_map< boosttypes::Graph, boosttypes::vertex_degree_t >::type &graph_degree)
 
template<typename DoFHandlerType >
void DoFRenumbering::boost::Cuthill_McKee (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::boost::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 DoFRenumbering::boost::king_ordering (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::boost::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 DoFRenumbering::boost::minimum_degree (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::boost::compute_minimum_degree (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 DoFRenumbering::Cuthill_McKee (DoFHandlerType &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false, const std::vector< types::global_dof_index > &starting_indices=std::vector< types::global_dof_index >())
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_Cuthill_McKee (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &, const bool reversed_numbering=false, const bool use_constraints=false, const std::vector< types::global_dof_index > &starting_indices=std::vector< types::global_dof_index >())
 
template<typename DoFHandlerType >
void DoFRenumbering::Cuthill_McKee (DoFHandlerType &dof_handler, const unsigned int level, const bool reversed_numbering=false, const std::vector< types::global_dof_index > &starting_indices=std::vector< types::global_dof_index >())
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_cell_wise (std::vector< types::global_dof_index > &new_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof, const typename std::vector< typename DoFHandlerType::active_cell_iterator > &cells)
 
template<typename DoFHandlerType >
void DoFRenumbering::cell_wise (DoFHandlerType &dof, const unsigned int level, const typename std::vector< typename DoFHandlerType::level_cell_iterator > &cells)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_cell_wise (std::vector< types::global_dof_index > &new_order, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof, const unsigned int level, const typename std::vector< typename DoFHandlerType::level_cell_iterator > &cells)
 
Component-wise numberings
template<typename DoFHandlerType >
void DoFRenumbering::component_wise (DoFHandlerType &dof_handler, const std::vector< unsigned int > &target_component=std::vector< unsigned int >())
 
template<typename DoFHandlerType >
void DoFRenumbering::component_wise (DoFHandlerType &dof_handler, const unsigned int level, const std::vector< unsigned int > &target_component=std::vector< unsigned int >())
 
template<int dim, int spacedim, typename CellIterator >
types::global_dof_index DoFRenumbering::compute_component_wise (std::vector< types::global_dof_index > &new_dof_indices, const CellIterator &start, const typename identity< CellIterator >::type &end, const std::vector< unsigned int > &target_component, const bool is_level_operation)
 
Block-wise numberings
template<int dim, int spacedim>
void DoFRenumbering::block_wise (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
void DoFRenumbering::block_wise (DoFHandler< dim, spacedim > &dof_handler, const unsigned int level)
 
template<int dim, int spacedim>
void DoFRenumbering::block_wise (hp::DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim, class ITERATOR , class ENDITERATOR >
types::global_dof_index DoFRenumbering::compute_block_wise (std::vector< types::global_dof_index > &new_dof_indices, const ITERATOR &start, const ENDITERATOR &end, bool is_level_operation)
 
Directional numberings
template<typename DoFHandlerType >
void DoFRenumbering::downstream (DoFHandlerType &dof_handler, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::downstream (DoFHandlerType &dof_handler, const unsigned int level, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof_handler, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof_handler, const unsigned int level, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering)
 
template<typename DoFHandlerType >
void DoFRenumbering::clockwise_dg (DoFHandlerType &dof_handler, const Point< DoFHandlerType::space_dimension > &center, const bool counter=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::clockwise_dg (DoFHandlerType &dof_handler, const unsigned int level, const Point< DoFHandlerType::space_dimension > &center, const bool counter=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_clockwise_dg (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const Point< DoFHandlerType::space_dimension > &center, const bool counter)
 
Selective and random numberings
template<typename DoFHandlerType >
void DoFRenumbering::sort_selected_dofs_back (DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs)
 
template<typename DoFHandlerType >
void DoFRenumbering::sort_selected_dofs_back (DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::random (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::random (DoFHandlerType &dof_handler, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const unsigned int level)
 
Numberings based on cell attributes
template<typename DoFHandlerType >
void DoFRenumbering::subdomain_wise (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_subdomain_wise (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler)
 
Component-wise numberings
template<typename DoFHandlerType >
void DoFRenumbering::component_wise (DoFHandlerType &dof_handler, const std::vector< unsigned int > &target_component=std::vector< unsigned int >())
 
template<typename DoFHandlerType >
void DoFRenumbering::component_wise (DoFHandlerType &dof_handler, const unsigned int level, const std::vector< unsigned int > &target_component=std::vector< unsigned int >())
 
template<int dim, int spacedim, typename CellIterator >
types::global_dof_index DoFRenumbering::compute_component_wise (std::vector< types::global_dof_index > &new_dof_indices, const CellIterator &start, const typename identity< CellIterator >::type &end, const std::vector< unsigned int > &target_component, const bool is_level_operation)
 
Block-wise numberings
template<int dim, int spacedim>
void DoFRenumbering::block_wise (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
void DoFRenumbering::block_wise (hp::DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
void DoFRenumbering::block_wise (DoFHandler< dim, spacedim > &dof_handler, const unsigned int level)
 
template<int dim, int spacedim, class ITERATOR , class ENDITERATOR >
types::global_dof_index DoFRenumbering::compute_block_wise (std::vector< types::global_dof_index > &new_dof_indices, const ITERATOR &start, const ENDITERATOR &end, bool is_level_operation)
 
Various cell-wise numberings
template<typename DoFHandlerType >
void DoFRenumbering::hierarchical (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::cell_wise (DoFHandlerType &dof_handler, const std::vector< typename DoFHandlerType::active_cell_iterator > &cell_order)
 
Selective and random numberings
template<typename DoFHandlerType >
void DoFRenumbering::sort_selected_dofs_back (DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs)
 
template<typename DoFHandlerType >
void DoFRenumbering::sort_selected_dofs_back (DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::random (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::random (DoFHandlerType &dof_handler, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const unsigned int level)
 
Directional numberings
template<typename DoFHandlerType >
void DoFRenumbering::downstream (DoFHandlerType &dof_handler, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof_handler, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering)
 
template<typename DoFHandlerType >
void DoFRenumbering::downstream (DoFHandlerType &dof_handler, const unsigned int level, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof_handler, const unsigned int level, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering)
 
template<typename DoFHandlerType >
void DoFRenumbering::clockwise_dg (DoFHandlerType &dof_handler, const Point< DoFHandlerType::space_dimension > &center, const bool counter=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_clockwise_dg (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const Point< DoFHandlerType::space_dimension > &center, const bool counter)
 
template<typename DoFHandlerType >
void DoFRenumbering::clockwise_dg (DoFHandlerType &dof_handler, const unsigned int level, const Point< DoFHandlerType::space_dimension > &center, const bool counter=false)
 
Numberings based on cell attributes
template<typename DoFHandlerType >
void DoFRenumbering::subdomain_wise (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_subdomain_wise (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler)
 
Component-wise numberings
template<typename DoFHandlerType >
void DoFRenumbering::component_wise (DoFHandlerType &dof_handler, const std::vector< unsigned int > &target_component=std::vector< unsigned int >())
 
template<typename DoFHandlerType >
void DoFRenumbering::component_wise (DoFHandlerType &dof_handler, const unsigned int level, const std::vector< unsigned int > &target_component=std::vector< unsigned int >())
 
template<int dim, int spacedim, typename CellIterator >
types::global_dof_index DoFRenumbering::compute_component_wise (std::vector< types::global_dof_index > &new_dof_indices, const CellIterator &start, const typename identity< CellIterator >::type &end, const std::vector< unsigned int > &target_component, const bool is_level_operation)
 
Block-wise numberings
template<int dim, int spacedim>
void DoFRenumbering::block_wise (DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim>
void DoFRenumbering::block_wise (DoFHandler< dim, spacedim > &dof_handler, const unsigned int level)
 
template<int dim, int spacedim>
void DoFRenumbering::block_wise (hp::DoFHandler< dim, spacedim > &dof_handler)
 
template<int dim, int spacedim, class ITERATOR , class ENDITERATOR >
types::global_dof_index DoFRenumbering::compute_block_wise (std::vector< types::global_dof_index > &new_dof_indices, const ITERATOR &start, const ENDITERATOR &end, bool is_level_operation)
 
Directional numberings
template<typename DoFHandlerType >
void DoFRenumbering::downstream (DoFHandlerType &dof_handler, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::downstream (DoFHandlerType &dof_handler, const unsigned int level, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof_handler, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandlerType &dof_handler, const unsigned int level, const Tensor< 1, DoFHandlerType::space_dimension > &direction, const bool dof_wise_renumbering)
 
template<typename DoFHandlerType >
void DoFRenumbering::clockwise_dg (DoFHandlerType &dof_handler, const Point< DoFHandlerType::space_dimension > &center, const bool counter=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::clockwise_dg (DoFHandlerType &dof_handler, const unsigned int level, const Point< DoFHandlerType::space_dimension > &center, const bool counter=false)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_clockwise_dg (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const Point< DoFHandlerType::space_dimension > &center, const bool counter)
 
Selective and random numberings
template<typename DoFHandlerType >
void DoFRenumbering::sort_selected_dofs_back (DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs)
 
template<typename DoFHandlerType >
void DoFRenumbering::sort_selected_dofs_back (DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::random (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::random (DoFHandlerType &dof_handler, const unsigned int level)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler, const unsigned int level)
 
Numberings based on cell attributes
template<typename DoFHandlerType >
void DoFRenumbering::subdomain_wise (DoFHandlerType &dof_handler)
 
template<typename DoFHandlerType >
void DoFRenumbering::compute_subdomain_wise (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandlerType &dof_handler)
 

Macro Definition Documentation

◆ BOOST_BIND_GLOBAL_PLACEHOLDERS

#define BOOST_BIND_GLOBAL_PLACEHOLDERS

Definition at line 45 of file dof_renumbering.cc.