DoFAccessor: Streamline access to dof indices #14063
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In preparation for #2000, this PR does three related things:
FE::n_dofs_per_object
is larger than 1, rather than forcing the compiler to deduce these properties. Note that sometimes the compiler is able to make these deductions by itself (when we do not write data anywhere, so no possible pointer aliasing), but often it is not. This is similar to a change used in DoFHandlerPolicy: Speed up function renumber_face_mg_dofs #14051.process_object
function to get all code in one place, and make it work with the pointers rather than some additional index for better code generation.get_dof_indices
andget_mg_dof_indices
to thedof_accessor.cc
file, because we do not want to generate the code stepping through all objects every time we call those functions. This is a big function anyway, so it is best done there.