Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove parameter use_fast_hanging_node_algorithm from MF #13634

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
15 changes: 3 additions & 12 deletions include/deal.II/matrix_free/matrix_free.h
Original file line number Diff line number Diff line change
Expand Up @@ -224,8 +224,7 @@ class MatrixFree : public Subscriptor
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)
Expand All @@ -241,7 +240,6 @@ class MatrixFree : public Subscriptor
, 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)
{}

Expand All @@ -268,7 +266,6 @@ class MatrixFree : public Subscriptor
, 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)
{}

Expand Down Expand Up @@ -296,9 +293,8 @@ class MatrixFree : public Subscriptor
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;
}
Expand Down Expand Up @@ -535,11 +531,6 @@ class MatrixFree : public Subscriptor
*/
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.
*/
Expand Down
8 changes: 3 additions & 5 deletions include/deal.II/matrix_free/matrix_free.templates.h
Original file line number Diff line number Diff line change
Expand Up @@ -1064,8 +1064,7 @@ namespace internal
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(),
Expand All @@ -1091,7 +1090,7 @@ namespace internal

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)
{
Expand Down Expand Up @@ -1825,8 +1824,7 @@ MatrixFree<dim, Number, VectorizedArrayType>::initialize_indices(
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(
Expand Down
18 changes: 0 additions & 18 deletions tests/matrix_free/mixed_mesh_hn_algorithm_01.cc
Original file line number Diff line number Diff line change
Expand Up @@ -145,22 +145,4 @@ main()

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);
}
}
16 changes: 0 additions & 16 deletions tests/matrix_free/mixed_mesh_hn_algorithm_01.output
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,3 @@ DEAL::0 : 8 12 10 14
DEAL::17 : 9 10 3 1
DEAL::16 : 10 14 3 1
DEAL::
DEAL::
DEAL::use_fast_hanging_node_algorithm = false
DEAL::0 : 12 13 14
DEAL::0 : 13 2 1 2
DEAL::0 : 14 1 2 1
DEAL::0 : 13 1 2 14
DEAL::0 : 0 1 2
DEAL::0 : 3 1 4
DEAL::0 : 5 4 1
DEAL::0 : 1 0 5
DEAL::0 : 6 5 0
DEAL::0 : 7 8 9 10
DEAL::0 : 8 12 10 14
DEAL::0 : 9 10 3 1 3
DEAL::0 : 10 14 1 3 1
DEAL::