DO NOT SQUASH Merge main into release#5025
Draft
connorjward wants to merge 165 commits intoreleasefrom
Draft
Conversation
This reverts commit 436bc44.
…from-petsc4py Improved traceback from PETSc errors
…-into-main DO NOT SQUASH merge release into main
Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
Co-authored-by: Pablo Brubeck <brubeck@protonmail.com>
…4634) the presence of the option, together with the sinvert for the bcs case can lead to confusion Better to be consistent with whatever SLEPc believe is the proper default
* Adapt to UFL changing some methods to properties See FEniCS/ufl#385.
…-into-main Merge release into main
* PMGPC: use native matrix-free (adjoint) interpolation
…#4693) * ImplicitMatrixContext: create submatrix via MatCreateSubMatrixVirtual
* Cofunction: in-place assignment
Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk> Co-authored-by: Josh Hope-Collins <joshua.hope-collins13@imperial.ac.uk>
* Support mat_type="is" * Support mat_type="nest", sub_mat_type="is" * Propagate sub_mat_type and only set sub_mat_type on the diagonal blocks * refine BDDC customization, use callables for gradient and divergence * Simplify coordinates handling of bddcpc driver * tabulate_exterior_derivative as MatIS * FDMPC: Support other variants * bddc: attach constants of the H(grad) space to discrete gradient * add mat_type kawrg to local_to_global_map * Test BDDC for H(curl) and H(div) --------- Co-authored-by: Stefano Zampini <stefano.zampini@gmail.com>
Co-authored-by: David A. Ham <david.ham@imperial.ac.uk>
* Fixes for Real x extruded following firedrakeproject/fiat#237 * Don't special case Real so much
* Fix Real coefficients in interior facet integrals After 1bd729a, TSFC no longer special-cases Real coefficients for interior facet integrals, so it generates kernels that expect them facet-doubled (shape 2*value_size). However assemble.py still passed them as undoubled Globals with shape value_size, causing a loopy out-of-bounds error when a Real coefficient appeared inside jump() or a facet restriction. This updates assemble.py to double the GlobalKernelArg dimension and tile the Global data for Real coefficients on interior facet integrals, matching what the TSFC kernel expects. Closes #4991 * cleanup and actually test numerics --------- Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
#4930) * Netgen: curved meshes from Mesh constructor and refine_marked_elements * Fix MeshHierarchy + Netgen OCC * Sanitise refine_marked_elements, enable multiple refinements * Ensure netgen parallel tests run with 2 processes
* Co-authored-by: Pablo Brubeck <brubeck@protonmail.com> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
* Fix assembly of Real coefficients for interior facet integrals
We have to read in the same data for both sides of the facet.
This PR means that PyOP2 generates code like:
```
for i < 2:
for j < dim:
t[i, j] = glob[j]
```
This hack will go away in pyop3.
* Tidy up Submesh * Make everything a kwarg
* Use DMPlex.createBoxMesh to create our periodic meshes 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. * linting * vom fix * submesh fix * More fixes, all of them? * Apply suggestions from code review Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk> * fixup * Add warning for empty subdomains * Apply suggestions from code review Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk> * Try final PETSc fix * Apply suggestion from @connorjward * Remove breaking API change for this PR
* Prefer petsctools over pyop2.utils for certain utility methods
--------- Co-authored-by: Pablo Brubeck <brubeck@protonmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
#4891 introduced the use of tempfile.TemporaryDirectory with the `delete` parameter. This was introduced in Python 3.12, and therefore this commit breaks compatibility with Python 3.10 and 3.11. pyproject.toml states that Python >= 3.10 is supported. Due to OS constraints, we'll be stuck on Python 3.11 on our HPC systems for some time.
* Added ngsPETSc test for all geometry type Signed-off-by: uzerbianati <zerbinati@maths.ox.ac.uk> * Pass the netgen mesh to geo * test order of convergence * add CSG3d test * PETSc.IntType --------- Signed-off-by: uzerbianati <zerbinati@maths.ox.ac.uk> Co-authored-by: uzerbianati <zerbinati@maths.ox.ac.uk>
…5014) Hybridisation PC was throwing warnings (hitting Gusto a lot) about applying BCs to empty subdomain IDs. It was because the 'on boundary' subdomain in a Gusto-like simulation is usually empty.
* delay creation of multifunction in order to avoid issues extending UFL in Irksome. --------- Co-authored-by: Connor Ward <c.ward20@imperial.ac.uk>
7c56e60 to
ff83b6a
Compare
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.
Unbelievably there were no merge conflicts.
Since we just released 2025.10.4 this is safe to do. We can't release 2026.4.0 until UFL and FIAT also have releases.