17 #ifndef dealii_matrix_free_dof_info_h
18 #define dealii_matrix_free_dof_info_h
21 #include <deal.II/base/exceptions.h>
22 #include <deal.II/base/partitioner.h>
23 #include <deal.II/base/vectorization.h>
25 #include <deal.II/dofs/dof_handler.h>
27 #include <deal.II/lac/affine_constraints.h>
28 #include <deal.II/lac/dynamic_sparsity_pattern.h>
30 #include <deal.II/matrix_free/face_info.h>
31 #include <deal.II/matrix_free/task_info.h>
37 DEAL_II_NAMESPACE_OPEN
41 namespace MatrixFreeFunctions
43 template <
typename Number>
44 struct ConstraintValues;
103 const unsigned int fe_degree)
const;
126 const unsigned int cell,
127 const bool with_constraints =
true)
const;
137 template <
typename number>
140 const std::vector<types::global_dof_index> &local_indices,
141 const std::vector<unsigned int> & lexicographic_inv,
143 const unsigned int cell_number,
144 ConstraintValues<double> & constraint_values,
145 bool & cell_at_boundary);
155 assign_ghosts(
const std::vector<unsigned int> &boundary_cells);
165 const std::vector<unsigned int> & renumbering,
166 const std::vector<unsigned int> & constraint_pool_row_index,
167 const std::vector<unsigned char> &irregular_cells);
175 const std::vector<unsigned char> &irregular_cells);
181 template <
int length>
193 const std::vector<unsigned int> &renumbering,
208 std::vector<types::global_dof_index> &renumbering);
219 template <
int length>
235 template <
typename StreamType>
244 template <
typename Number>
246 print(
const std::vector<Number> & constraint_pool_data,
247 const std::vector<unsigned int> &constraint_pool_row_index,
248 std::ostream & out)
const;
396 std::vector<std::pair<unsigned int, unsigned int>>
row_starts;
424 std::vector<std::pair<unsigned short, unsigned short>>
482 std::array<std::shared_ptr<const Utilities::MPI::Partitioner>, 3>
611 const unsigned int fe_degree)
const
616 for (
unsigned int i = 0; i < n_indices; ++i)
622 #endif // ifndef DOXYGEN
627 DEAL_II_NAMESPACE_CLOSE