Merged
Conversation
connorjward
commented
Mar 3, 2026
2984ac1 to
64d1a00
Compare
connorjward
commented
Mar 4, 2026
This is necessary because the previous approach to generating periodic meshes resulted in a DMPlex with a slightly invalid state that prevents subsequent transformations (in particular extrusion). We also avoid manually labelling the boundaries in favour of just renumbering the existing 'Face Sets' label produced by the DMPlex.
792a7c5 to
fcf088c
Compare
connorjward
commented
Mar 12, 2026
connorjward
commented
Mar 12, 2026
connorjward
commented
Mar 12, 2026
connorjward
commented
Mar 12, 2026
connorjward
commented
Mar 12, 2026
connorjward
commented
Mar 12, 2026
connorjward
commented
Mar 12, 2026
Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
pbrubeck
reviewed
Mar 12, 2026
connorjward
commented
Mar 18, 2026
Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
Contributor
Author
|
@pbrubeck or @JHopeCollins are either of you able to review this? It looks daunting but the changes aren't actually that huge. For the tests I have had to reorder some arrays because the numbering is different. The tests are not ideal in this way but I think making more robust tests is out of scope here. There is still one PETSc fix that I need to have merged but it doesn't change the Firedrake code so this can therefore be reviewed now. |
connorjward
commented
Mar 27, 2026
pbrubeck
reviewed
Mar 31, 2026
pbrubeck
approved these changes
Mar 31, 2026
pbrubeck
requested changes
Mar 31, 2026
Contributor
pbrubeck
left a comment
There was a problem hiding this comment.
The BC label renumbering could be in its own PR, as it is an API breaking change
pbrubeck
approved these changes
Mar 31, 2026
sghelichkhani
added a commit
to g-adopt/g-adopt
that referenced
this pull request
Apr 2, 2026
The firedrake mesh utility refactor (firedrakeproject/firedrake#4836, merged 31 March 2026) changed how UnitSquareMesh generates triangle meshes, now using PETSc refine_tosimplex DMPlexTransform instead of a hand-rolled quad-to-triangle split. The meshes are equally valid but have different cell ordering, shifting numerical results slightly. These tests do not import gadopt. They are pure Firedrake/pyadjoint tests, so the failures on PR #490 were from this upstream change, not from the solution_old reordering proposed there.
This was referenced Apr 16, 2026
stephankramer
added a commit
to thetisproject/thetis
that referenced
this pull request
Apr 24, 2026
Changes are due to node ordering in utility meshes since firedrakeproject/firedrake#4836. In test_hessian_recovery2d and test_vorticity_calculation2d these are just tolerance tweaks. For the bottom friction test with bdm-dg I think this has highlighted that the implicit (vertical) momentum solver using a single ilu(0) sweep does not work very well for bdm-dg (also rt-dg seems to not be very stable). Need to find more general solution. In the test, switching to ILU(1) appears to make it stable again.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary of changes
DMPlex.createBoxMeshto generate our periodic meshes. This is needed because the current approach that we use results in an invalid DMPlex that cannot subsequently be extruded. This PR is therefore a blocker for pyop3."crossed","left"or"right"refinement instead of rolling our own solution.PartiallyPeriodicRectangleMesh. It's functionality is totally covered byPeriodicRectangleMesh.Breaking API changes
dSintegrals along the periodic boundary for 3D box meshes.Prerequisite PRs
https://gitlab.com/petsc/petsc/-/merge_requests/8972https://gitlab.com/petsc/petsc/-/merge_requests/9092https://gitlab.com/petsc/petsc/-/merge_requests/8792https://gitlab.com/petsc/petsc/-/merge_requests/9100