16#ifndef dealii_dof_tools_h
17#define dealii_dof_tools_h
44template <
int dim,
typename RangeNumberType>
46template <
int dim,
int spacedim>
50 template <
int dim,
int spacedim>
51 class MappingCollection;
52 template <
int dim,
int spacedim>
55template <
class MeshType>
58template <
int dim,
int spacedim>
60template <
int dim,
class T>
62template <
typename Number>
67 template <
typename CellIterator>
68 struct PeriodicFacePair;
81 template <
int dim,
int spacedim>
257 template <
int dim,
int spacedim>
268 template <
int dim,
int spacedim>
281 template <
int dim,
int spacedim>
282 std::vector<Table<2, Coupling>>
409 template <
int dim,
int spacedim,
typename number =
double>
483 template <
int dim,
int spacedim,
typename number =
double>
513 template <
int dim,
int spacedim>
564 template <
int dim,
int spacedim>
577 template <
int dim,
int spacedim,
typename number>
606 template <
int dim,
int spacedim>
642 template <
int dim,
int spacedim,
typename number>
655 &internal::always_couple_on_faces<dim, spacedim>);
666 template <
int dim,
int spacedim>
690 template <
int dim,
int spacedim,
typename number>
746 template <
int dim,
int spacedim,
typename number>
818 template <
int dim,
int spacedim>
845 template <
int dim,
int spacedim>
853 std::vector<std::map<types::global_dof_index, float>>
1030 template <
typename FaceIterator,
typename number>
1037 const bool face_orientation =
true,
1038 const bool face_flip =
false,
1039 const bool face_rotation =
false,
1042 std::vector<unsigned int>(),
1065 template <
int dim,
int spacedim,
typename number>
1073 std::vector<unsigned int>(),
1107 template <
int dim,
int spacedim,
typename number>
1113 const unsigned int direction,
1145 template <
int dim,
int spacedim,
typename number>
1150 const unsigned int direction,
1172 template <
int dim,
int spacedim>
1208 template <
int dim,
int spacedim>
1236 template <
int dim,
int spacedim>
1245 template <
int dim,
int spacedim>
1256 template <
int dim,
int spacedim>
1317 template <
int dim,
int spacedim>
1322 const std::set<types::boundary_id> &boundary_ids = {});
1366 template <
int dim,
int spacedim>
1370 const std::set<types::boundary_id> &boundary_ids = {});
1378 template <
int dim,
int spacedim>
1383 const std::set<types::boundary_id> &boundary_ids = {});
1401 template <
int dim,
int spacedim>
1407 const std::set<types::boundary_id> &boundary_ids =
1408 std::set<types::boundary_id>());
1437 template <
int dim,
int spacedim,
typename number =
double>
1441 const std::function<
1481 template <
int dim,
int spacedim>
1485 std::vector<std::vector<bool>> & constant_modes);
1501 template <
int dim,
int spacedim>
1521 template <
int dim,
int spacedim>
1541 template <
int dim,
int spacedim>
1552 template <
int dim,
int spacedim>
1556 const unsigned int level);
1566 template <
int dim,
int spacedim>
1571 const unsigned int level);
1582 template <
int dim,
int spacedim>
1596 template <
int dim,
int spacedim>
1610 template <
int dim,
int spacedim>
1611 std::vector<IndexSet>
1629 template <
int dim,
int spacedim>
1630 std::vector<IndexSet>
1648 template <
int dim,
int spacedim>
1649 std::vector<IndexSet>
1657 template <
int dim,
int spacedim>
1661 const unsigned int level);
1669 template <
int dim,
int spacedim>
1673 const unsigned int level,
1707 template <
int dim,
int spacedim>
1710 std::vector<types::subdomain_id> &
subdomain);
1737 template <
int dim,
int spacedim>
1762 template <
int dim,
int spacedim>
1790 template <
int dim,
int spacedim>
1851 template <
int dim,
int spacedim>
1852 std::vector<types::global_dof_index>
1877 template <
int dim,
int spacedim>
1881 const unsigned int level,
1936 template <
int dim,
int spacedim>
1937 std::vector<unsigned int>
1940 const unsigned int level,
1961 template <
int dim,
int spacedim>
1962 std::vector<unsigned int>
1965 const unsigned int level,
2009 template <
int dim,
int spacedim>
2013 const unsigned int level,
2036 template <
int dim,
int spacedim>
2040 const unsigned int level,
2085 template <
int dim,
int spacedim>
2086 std::vector<types::global_dof_index>
2090 const std::vector<unsigned int> &target_component = {});
2108 template <
int dim,
int spacedim>
2109 std::vector<types::global_dof_index>
2112 std::vector<unsigned int>());
2129 template <
int dim,
int spacedim>
2132 std::vector<unsigned int> & active_fe_indices);
2161 template <
int dim,
int spacedim>
2189 template <
int dim,
int spacedim>
2192 std::vector<types::global_dof_index> &mapping);
2204 template <
int dim,
int spacedim>
2207 const std::set<types::boundary_id> &boundary_ids,
2208 std::vector<types::global_dof_index> &mapping);
2238 template <
int dim,
int spacedim>
2248 template <
int dim,
int spacedim>
2285 template <
int dim,
int spacedim>
2286 std::map<types::global_dof_index, Point<spacedim>>
2294 template <
int dim,
int spacedim>
2295 std::map<types::global_dof_index, Point<spacedim>>
2306 template <
int dim,
int spacedim>
2319 template <
int dim,
int spacedim>
2348 template <
int dim,
int spacedim,
class Comp>
2392 template <
int dim,
int spacedim,
typename Number>
2397 const unsigned int component = 0);
2477 template <
int spacedim>
2524 template <
int dim,
int spacedim,
typename number>
2542 template <
int dim,
int spacedim,
typename number>
2637 template <
int dim,
int spacedim,
class Comp>
2648 std::vector<Point<spacedim>>
support_points(dof_handler.n_dofs());
Abstract base class for mapping classes.
#define DEAL_II_DEPRECATED
#define DEAL_II_NAMESPACE_OPEN
#define DEAL_II_CXX20_REQUIRES(condition)
#define DEAL_II_NAMESPACE_CLOSE
#define DeclException0(Exception0)
static ::ExceptionBase & ExcGridNotCoarser()
static ::ExceptionBase & ExcInvalidBoundaryIndicator()
static ::ExceptionBase & ExcFiniteElementsDontMatch()
static ::ExceptionBase & ExcNoFESelected()
static ::ExceptionBase & ExcGridsDontMatch()
typename ActiveSelector::cell_iterator cell_iterator
typename ActiveSelector::active_cell_iterator active_cell_iterator
void compute_intergrid_transfer_representation(const DoFHandler< dim, spacedim > &coarse_grid, const unsigned int coarse_component, const DoFHandler< dim, spacedim > &fine_grid, const unsigned int fine_component, const InterGridMap< DoFHandler< dim, spacedim > > &coarse_to_fine_grid_map, std::vector< std::map< types::global_dof_index, float > > &transfer_representation)
void make_zero_boundary_constraints(const DoFHandler< dim, spacedim > &dof, const types::boundary_id boundary_id, AffineConstraints< number > &zero_boundary_constraints, const ComponentMask &component_mask=ComponentMask())
void make_hanging_node_constraints(const DoFHandler< dim, spacedim > &dof_handler, AffineConstraints< number > &constraints)
void compute_intergrid_constraints(const DoFHandler< dim, spacedim > &coarse_grid, const unsigned int coarse_component, const DoFHandler< dim, spacedim > &fine_grid, const unsigned int fine_component, const InterGridMap< DoFHandler< dim, spacedim > > &coarse_to_fine_grid_map, AffineConstraints< double > &constraints)
void make_flux_sparsity_pattern(const DoFHandler< dim, spacedim > &dof_handler, SparsityPatternBase &sparsity_pattern)
void make_boundary_sparsity_pattern(const DoFHandler< dim, spacedim > &dof, const std::vector< types::global_dof_index > &dof_to_boundary_mapping, SparsityPatternBase &sparsity_pattern)
void make_sparsity_pattern(const DoFHandler< dim, spacedim > &dof_handler, SparsityPatternBase &sparsity_pattern, const AffineConstraints< number > &constraints=AffineConstraints< number >(), const bool keep_constrained_dofs=true, const types::subdomain_id subdomain_id=numbers::invalid_subdomain_id)
UpdateFlags & operator|=(UpdateFlags &f1, const UpdateFlags f2)
const types::subdomain_id invalid_subdomain_id
typename type_identity< T >::type type_identity_t
unsigned int global_dof_index
ParameterHandler::OutputStyle operator|(const ParameterHandler::OutputStyle f1, const ParameterHandler::OutputStyle f2)