Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

io: fix saving/loading of HDiv/HCurl functions on a high-order mesh #3838

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ksagiyam
Copy link
Contributor

Fix #3781.

As @colinjcotter suggested on slack, we map HDiv/HCurl function defined on a high-order mesh to a DG function defined on an affine mesh using the contravariant/covariant Piola map.

Notes:

If we attach the Piola map to the vector DG element (using WithMapping), the DG DoF values will then depend on the reference-physical element map, which is inconvenient for checkpointing.

We need to have users pass a representation of the affine mesh explicitly as the mere CG1 function on a high-order mesh does not necessarily represent a sane affine mesh; e.g., a single CG2 mesh cell can look like the following, and CG1 mesh connecting vertices would collapse onto a line:

    .   --o --
 /                \
          o         .
|      /     \      |
x--o--x       x--o--x

We need to have users pass the quadrature degree used when projecting to the DG space.

Copy link

github-actions bot commented Oct 24, 2024

TestsPassed ✅Skipped ⏭️Failed ❌
Firedrake complex8084 ran6501 passed1583 skipped0 failed

Copy link

github-actions bot commented Oct 24, 2024

TestsPassed ✅Skipped ⏭️Failed ❌
Firedrake real8090 ran7304 passed786 skipped0 failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

BUG: Checkpointing Hdiv elements on higher order meshes is not correct.
1 participant