![]() |
deal.II version 9.7.0
|
#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/fe/fe_q_base.h>#include <deal.II/fe/mapping_q1.h>#include <deal.II/grid/tria.h>#include <deal.II/grid/tria_iterator.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/matrix_free/matrix_free.h>#include <deal.II/multigrid/mg_constrained_dofs.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 "dofs/dof_renumbering.inst"Go to the source code of this file.
Classes | |
| struct | DoFRenumbering::internal::ClockCells< dim > |
Namespaces | |
| namespace | DoFRenumbering |
| namespace | DoFRenumbering::boost |
| namespace | DoFRenumbering::boost::boosttypes |
| namespace | DoFRenumbering::boost::internal |
| namespace | DoFRenumbering::internal |
Macros | |
| #define | BOOST_BIND_GLOBAL_PLACEHOLDERS |
Typedefs | |
| using | DoFRenumbering::boost::boosttypes::Graph |
| 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<int dim, int spacedim> | |
| void | DoFRenumbering::boost::internal::create_graph (const DoFHandler< dim, spacedim > &dof_handler, const bool use_constraints, boosttypes::Graph &graph, boosttypes::property_map< boosttypes::Graph, boosttypes::vertex_degree_t >::type &graph_degree) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::boost::Cuthill_McKee (DoFHandler< dim, spacedim > &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::boost::compute_Cuthill_McKee (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &, const bool reversed_numbering=false, const bool use_constraints=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::boost::king_ordering (DoFHandler< dim, spacedim > &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::boost::compute_king_ordering (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &, const bool reversed_numbering=false, const bool use_constraints=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::boost::minimum_degree (DoFHandler< dim, spacedim > &dof_handler, const bool reversed_numbering=false, const bool use_constraints=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::boost::compute_minimum_degree (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &, const bool reversed_numbering=false, const bool use_constraints=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::Cuthill_McKee (DoFHandler< dim, spacedim > &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<int dim, int spacedim> | |
| void | DoFRenumbering::compute_Cuthill_McKee (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &, 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 >(), const unsigned int level=numbers::invalid_unsigned_int) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::Cuthill_McKee (DoFHandler< dim, spacedim > &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<int dim, int spacedim> | |
| void | DoFRenumbering::compute_cell_wise (std::vector< types::global_dof_index > &new_indices, std::vector< types::global_dof_index > &reverse, const DoFHandler< dim, spacedim > &dof, const typename std::vector< typename DoFHandler< dim, spacedim >::active_cell_iterator > &cells) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::cell_wise (DoFHandler< dim, spacedim > &dof, const unsigned int level, const typename std::vector< typename DoFHandler< dim, spacedim >::level_cell_iterator > &cells) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_cell_wise (std::vector< types::global_dof_index > &new_order, std::vector< types::global_dof_index > &reverse, const DoFHandler< dim, spacedim > &dof, const unsigned int level, const typename std::vector< typename DoFHandler< dim, spacedim >::level_cell_iterator > &cells) |
Component-wise numberings | |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::component_wise (DoFHandler< dim, spacedim > &dof_handler, const std::vector< unsigned int > &target_component=std::vector< unsigned int >()) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::component_wise (DoFHandler< dim, spacedim > &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 std_cxx20::type_identity_t< CellIterator > &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, class IteratorType, class EndIteratorType> | |
| types::global_dof_index | DoFRenumbering::compute_block_wise (std::vector< types::global_dof_index > &new_dof_indices, const IteratorType &start, const EndIteratorType &end, const bool is_level_operation) |
Various cell-wise numberings | |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::hierarchical (DoFHandler< dim, spacedim > &dof_handler) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::cell_wise (DoFHandler< dim, spacedim > &dof_handler, const std::vector< typename DoFHandler< dim, spacedim >::active_cell_iterator > &cell_order) |
Selective and random numberings | |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::sort_selected_dofs_back (DoFHandler< dim, spacedim > &dof_handler, const std::vector< bool > &selected_dofs) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::sort_selected_dofs_back (DoFHandler< dim, spacedim > &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler, const std::vector< bool > &selected_dofs) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_sort_selected_dofs_back (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler, const std::vector< bool > &selected_dofs, const unsigned int level) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::random (DoFHandler< dim, spacedim > &dof_handler) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::random (DoFHandler< dim, spacedim > &dof_handler, const unsigned int level) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_random (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler, const unsigned int level) |
Directional numberings | |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::downstream (DoFHandler< dim, spacedim > &dof_handler, const Tensor< 1, spacedim > &direction, const bool dof_wise_renumbering=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandler< dim, spacedim > &dof_handler, const Tensor< 1, spacedim > &direction, const bool dof_wise_renumbering) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::downstream (DoFHandler< dim, spacedim > &dof_handler, const unsigned int level, const Tensor< 1, spacedim > &direction, const bool dof_wise_renumbering=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_downstream (std::vector< types::global_dof_index > &new_dof_indices, std::vector< types::global_dof_index > &reverse, const DoFHandler< dim, spacedim > &dof_handler, const unsigned int level, const Tensor< 1, spacedim > &direction, const bool dof_wise_renumbering) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::clockwise_dg (DoFHandler< dim, spacedim > &dof_handler, const Point< spacedim > ¢er, const bool counter=false) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_clockwise_dg (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler, const Point< spacedim > ¢er, const bool counter) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::clockwise_dg (DoFHandler< dim, spacedim > &dof_handler, const unsigned int level, const Point< spacedim > ¢er, const bool counter=false) |
Numberings based on cell attributes | |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::subdomain_wise (DoFHandler< dim, spacedim > &dof_handler) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_subdomain_wise (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler) |
Numberings based on properties of the finite element space | |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::support_point_wise (DoFHandler< dim, spacedim > &dof_handler) |
| template<int dim, int spacedim> | |
| void | DoFRenumbering::compute_support_point_wise (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim, spacedim > &dof_handler) |
| template<int dim> | |
| void | DoFRenumbering::lexicographic (DoFHandler< dim > &dof_handler, const double tolerance=1e-12) |
| template<int dim> | |
| void | DoFRenumbering::compute_lexicographic (std::vector< types::global_dof_index > &new_dof_indices, const DoFHandler< dim > &handler, const double tolerance=1e-12) |
Numberings for better performance with the MatrixFree infrastructure | |
| template<int dim, int spacedim, typename Number, typename VectorizedArrayType> | |
| void | DoFRenumbering::matrix_free_data_locality (DoFHandler< dim, spacedim > &dof_handler, const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free) |
| template<int dim, int spacedim, typename Number, typename AdditionalDataType> | |
| void | DoFRenumbering::matrix_free_data_locality (DoFHandler< dim, spacedim > &dof_handler, const AffineConstraints< Number > &constraints, const AdditionalDataType &matrix_free_additional_data) |
| template<int dim, int spacedim, typename Number, typename AdditionalDataType> | |
| std::vector< types::global_dof_index > | DoFRenumbering::compute_matrix_free_data_locality (const DoFHandler< dim, spacedim > &dof_handler, const AffineConstraints< Number > &constraints, const AdditionalDataType &matrix_free_additional_data) |
| template<int dim, int spacedim, typename Number, typename VectorizedArrayType> | |
| std::vector< types::global_dof_index > | DoFRenumbering::compute_matrix_free_data_locality (const DoFHandler< dim, spacedim > &dof_handler, const MatrixFree< dim, Number, VectorizedArrayType > &matrix_free) |
| #define BOOST_BIND_GLOBAL_PLACEHOLDERS |
Definition at line 47 of file dof_renumbering.cc.