trixi-framework / trixi-framework/Trixi.jl

Interpolation of warped mapping causes refined mesh to be degenerate

Open
#660 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Julia
Stars
731
Forks
166
Avg merge
2d 18h
Merged PRs (30d)
25

Description

As suggested by @sloede in https://github.com/trixi-framework/Trixi.jl/pull/637#discussion_r656889732, I describe my findings with @jlchan's warped mesh and mesh refinement.
To check FSP, we use the @jlchan's mesh in the version described by @amrueda (https://arxiv.org/abs/2012.12040).
This works fine on unrefined meshes, but on some refined meshes, I lose FSP because the mesh becomes degenerate.

To allow non-uniform refinement, I evaluate the mapping once at the nodes of the unrefined trees (the `P4estMesh` is a forest of trees that can be refined individually). This interpolant is the geometry I work with for the simulation. To get the node coordinates of refined elements, the node coordinates of the trees are interpolated onto the new nodes.

When I evaluate this mapping on a 4x4x4 structured mesh with a polynomial degree of 3, one element that will cause problems later looks like this:
![grafik](https://user-images.githubusercontent.com/44124897/123074341-7cea5380-d417-11eb-9c41-555fb1a87ee7.png)
There are some sharp edges on the left, but this doesn't cause any problems (yet).
Note that these sharp edges don't come directly from the mapping, but from the interpolation. This becomes clear when I evaluate the mapping on a 8x8x8 structured mesh instead:
![grafik](https://user-images.githubusercontent.com/44124897/123074523-ab682e80-d417-11eb-8e1f-0bcd18ca7d31.png)

Now, when I refine the first element (refine the 4x4x4 mesh), I get this smaller element with sharp edges:
![grafik](https://user-images.githubusercontent.com/44124897/123074683-d2befb80-d417-11eb-8b4a-cc98cf73a402.png)
This one causes problems now. In particular, the contravariant vectors at one specific node form left-handed coordinates due to degeneration.
I tried to visualize the local coordinate system. The red vector is both the first and the second covariant vector, which causes the Jacobian determinant to become negative at this one node.
![grafik](https://user-images.githubusercontent.com/44124897/123075028-1fa2d200-d418-11eb-9da0-7ba0930c054e.png)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.