const bool overlap_communication_computation = true,
const bool hold_all_faces_to_owned_cells = false,
const bool cell_vectorization_categories_strict = false,
- const bool allow_ghosted_vectors_in_loops = true,
- const bool use_fast_hanging_node_algorithm = true)
+ const bool allow_ghosted_vectors_in_loops = true)
: tasks_parallel_scheme(tasks_parallel_scheme)
, tasks_block_size(tasks_block_size)
, mapping_update_flags(mapping_update_flags)
, cell_vectorization_categories_strict(
cell_vectorization_categories_strict)
, allow_ghosted_vectors_in_loops(allow_ghosted_vectors_in_loops)
- , use_fast_hanging_node_algorithm(use_fast_hanging_node_algorithm)
, communicator_sm(MPI_COMM_SELF)
{}
, cell_vectorization_categories_strict(
other.cell_vectorization_categories_strict)
, allow_ghosted_vectors_in_loops(other.allow_ghosted_vectors_in_loops)
- , use_fast_hanging_node_algorithm(other.use_fast_hanging_node_algorithm)
, communicator_sm(other.communicator_sm)
{}
cell_vectorization_category = other.cell_vectorization_category;
cell_vectorization_categories_strict =
other.cell_vectorization_categories_strict;
- allow_ghosted_vectors_in_loops = other.allow_ghosted_vectors_in_loops;
- use_fast_hanging_node_algorithm = other.use_fast_hanging_node_algorithm;
- communicator_sm = other.communicator_sm;
+ allow_ghosted_vectors_in_loops = other.allow_ghosted_vectors_in_loops;
+ communicator_sm = other.communicator_sm;
return *this;
}
*/
bool allow_ghosted_vectors_in_loops;
- /**
- * Flag that allows to disable the fast hanging-node algorithm.
- */
- bool use_fast_hanging_node_algorithm;
-
/**
* Shared-memory MPI communicator. Default: MPI_COMM_SELF.
*/
std::vector<MatrixFreeFunctions::DoFInfo> & dof_info,
MatrixFreeFunctions::FaceSetup<dim> & face_setup,
MatrixFreeFunctions::ConstraintValues<double> & constraint_values,
- const bool use_vector_data_exchanger_full,
- const bool use_fast_hanging_node_algorithm_in)
+ const bool use_vector_data_exchanger_full)
{
if (do_face_integrals)
face_setup.initialize(dof_handler[0]->get_triangulation(),
bool cell_categorization_enabled = !cell_vectorization_category.empty();
- bool use_fast_hanging_node_algorithm = use_fast_hanging_node_algorithm_in;
+ bool use_fast_hanging_node_algorithm = true;
if (use_fast_hanging_node_algorithm)
{
dof_info,
face_setup,
constraint_values,
- additional_data.communicator_sm != MPI_COMM_SELF,
- additional_data.use_fast_hanging_node_algorithm);
+ additional_data.communicator_sm != MPI_COMM_SELF);
// set constraint pool from the std::map and reorder the indices
std::vector<const std::vector<double> *> constraints(
print("use_fast_hanging_node_algorithm = true", matrix_free);
}
-
- {
- typename MatrixFree<dim, double, VectorizedArray<double, 1>>::AdditionalData
- additional_data;
- additional_data.mapping_update_flags = update_gradients | update_values;
- additional_data.use_fast_hanging_node_algorithm = false;
-
- MatrixFree<dim, double, VectorizedArray<double, 1>> matrix_free;
- matrix_free.reinit(
- mapping, dof_handler, constraints, quadrature_formula, additional_data);
-
- for (const auto &i :
- matrix_free.get_dof_info(0).hanging_node_constraint_masks)
- deallog << static_cast<unsigned int>(i) << std::endl;
- deallog << std::endl;
-
- print("use_fast_hanging_node_algorithm = false", matrix_free);
- }
}