Add coarsening in 2D for newest vertex bisection #1018
Closed
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.
@JordiManyer, @amartinhuertas :
@wangzuodong1997 and I have been working on implementing coarsening in the case of 2D refinement. Specifically, we have only implemented modifying the
Topology
directly without bothering with the infrastructure ofrrules
etc. currently implemented for refinement that (if I understand correctly) allow interpolation and projection between parent and children meshes.Our refinement algorithm closely resembles the one here and has the attractive feature that it doesn't not require any mesh history to perform local coarsening that preserves mesh continuity. At a high level, the user selects a set of cells to coarsen, and our algorithm identifies if any of these cells contain a "good node" which can be removed with some of it's edges without generating any hanging nodes.
From your point of view, what are the next steps? Can
AdaptivityGlue
be reused for coarsening? It seems rather specific to refinement at the moment.Please find a small example below demonstrating the coarsening.
Before:
After: