17 #ifndef dealii_matrix_free_task_info_h
18 #define dealii_matrix_free_task_info_h
21 #include <deal.II/base/exceptions.h>
22 #include <deal.II/base/index_set.h>
23 #include <deal.II/base/memory_consumption.h>
24 #include <deal.II/base/tensor.h>
25 #include <deal.II/base/thread_management.h>
26 #include <deal.II/base/utilities.h>
27 #include <deal.II/base/vectorization.h>
29 #include <deal.II/lac/dynamic_sparsity_pattern.h>
32 DEAL_II_NAMESPACE_OPEN
73 cell(
const std::pair<unsigned int, unsigned int> &cell_range) = 0;
78 face(
const std::pair<unsigned int, unsigned int> &face_range) = 0;
83 boundary(
const std::pair<unsigned int, unsigned int> &face_range) = 0;
88 namespace MatrixFreeFunctions
91 template <
typename Number>
92 struct ConstraintValues;
107 enum TasksParallelScheme
139 const unsigned int n_active_and_ghost_cells,
141 std::vector<unsigned int> &boundary_cells);
181 const std::vector<unsigned int> &boundary_cells,
182 const std::vector<unsigned int> &cells_close_to_boundary,
183 const unsigned int dofs_per_cell,
184 const std::vector<unsigned int> &cell_vectorization_categories,
185 const bool cell_vectorization_categories_strict,
186 std::vector<unsigned int> & renumbering,
187 std::vector<unsigned char> & incompletely_filled_vectorization);
208 const std::vector<unsigned int> &boundary_cells,
209 std::vector<unsigned int> & renumbering,
210 std::vector<unsigned char> & incompletely_filled_vectorization);
250 std::vector<unsigned int> & renumbering,
251 std::vector<unsigned char> &irregular_cells,
288 const std::vector<unsigned int> &cell_active_fe_index,
290 std::vector<unsigned int> & renumbering,
291 std::vector<unsigned char> & irregular_cells,
320 std::vector<unsigned int> & renumbering,
321 std::vector<unsigned char> & irregular_cells,
330 const std::vector<unsigned char> &irregular_cells,
341 const unsigned int partition,
342 const std::vector<unsigned int> &cell_partition,
343 const std::vector<unsigned int> &partition_list,
344 const std::vector<unsigned int> &partition_size,
345 std::vector<unsigned int> & partition_color_list);
354 const std::vector<unsigned int> &cell_active_fe_index,
355 const unsigned int partition,
356 const unsigned int cluster_size,
358 const std::vector<unsigned int> &cell_partition,
359 const std::vector<unsigned int> &partition_list,
360 const std::vector<unsigned int> &partition_size,
361 std::vector<unsigned int> & partition_partition_list,
362 std::vector<unsigned char> & irregular_cells);
386 const unsigned int cluster_size,
387 std::vector<unsigned int> & cell_partition,
388 std::vector<unsigned int> & partition_list,
389 std::vector<unsigned int> & partition_size,
390 unsigned int & partition)
const;
415 template <
typename StreamType>
583 DEAL_II_NAMESPACE_CLOSE