Additional Functionality for Subgrids #37
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.
This PR adds additional subgrid functionality, namely:
When FaceNodes is instantiated for a grid that has a ParentGrid with SubGrid relation, first the FaceNodes of the parent grid are instantiated and then the faces that are also part of the subgrid are strided (and their node ids are remapped to the subgrid nodes ids) such that the orientation stays inline with the parent grid. Additionaly, FaceParents are stored to know the number of the subgrid faces in the parent grid.
Todo: if the new behavior is accepted, some tests should be added and EdgeNodes should get a similar behaviour; the refinement procedures currently store CellParents, but should also store BFaceParents for consistent behaviour (one could also think if one wants to have a certain FaceNodes behaviour for grids that are RefinedGrids of their parent grid, but I currently don't see the need for that)
Goal: correct management of finite element degrees of freedom for finite element spaces that are defined on subgrids in ExtendableFEMBase