Invalid coarse mappings in multigrid #614
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.
For the
poisson/sine
test case, I added a new "boundary-layer" manifold (typical of CFD applications to resolve turbulent boundary layers around bodies), which is described analytically by atanh()
function in wall-normal direction and adealii::ChartManifold
, and approximated in the numerical simulation by a quadratic mapping.Then, using our default multigrid implementation with the same mapping degree on all h-levels (equivalent to the fine level mapping degree), will lead to invalid Jacobians on coarser multigrid levels, which is shown by the present test case. For the chosen parameters and the chosen grid stretch factor, refine level 2 (set in the input.json file) leads to a valid mapping on the fine grid (level 2), while coarser grids (level 1) have an invalid mapping.
The present PR proposes a test case that fails on purpose. Potential solutions to this problem are to be addressed by upcoming PRs.