Repository navigation
What's Changed
Solvers and preconditioners
- ASMStar: enable patch coloring by @pbrubeck in #4912
- Add support for objective function in SNES by @stefanozampini in #5155
- Adaptive NonlinearVariationalSolver support via -snes_adapt_sequence by @pbrubeck in #5213
- Mesh Adaptivity via DMPlexTransform by @pbrubeck in #5215
- Fix coarse-to-fine cell maps for hierarchies built on an adaptively refined mesh by @pbrubeck in #5321
- Rework PMGBase.coarsen() and add NonlinearVariationalProblem.rediscretise() by @pbrubeck in #5324
- p-multigrid: remove custom interpolation code by @pbrubeck in #5289
- Let PCASM refresh its own submatrices by @pbrubeck in #5403
- Drop the MatIS special case in FunctionSpace.local_to_global_map by @pbrubeck in #5437
- Extruded Periodic MeshHierarchy by @pbrubeck in #4663
- Stop DG injection reading past a coarse cell's children by @pbrubeck in #5337
- MeshHierarchy: assemble prolongation into MatAIJ by @pbrubeck in #5206
- Multigrid: derive hierarchy maps from DMPlex transforms by @pbrubeck in #5460
Point location/VertexOnlyMesh
- Use
firedrake-rtreefor spatial indexing by @leo-collins in #4981 - New plotting methods for VertexOnlyMesh by @achanbour in #5039
- Use mat context for Vom onto vom matfree interpolation by @leo-collins in #5055
- Assembly of matfree interpolation operator by @leo-collins in #4778
- Write VOM data to VTKFile by @achanbour in #5244
- Access DMSwarm fields via a context manager by @leo-collins in #5296
- rtree bulk query by @leo-collins in #5247
Finite elements
- Interpolation into EnrichedElement by @pbrubeck in #5184
- Support physical_normals on manifolds by @pbrubeck in #4994
GPU
- GPU offloading preconditioner by @dsroberts in #4953
- Offload Nullspaces with OffloadPC by @dsroberts in #5462
- Add AMD compatibility for OffloadPC by @dsroberts in #5220
- Minor updates to OffloadPC by @dsroberts in #5164
Form compiler
- Contract quadrature reductions in loop nest order by @pbrubeck in #5354
- tsfc: cancel Jacobian products and reciprocal factors by @pbrubeck in #5230
- Test interpolation of products of coefficient evaluations by @pbrubeck in #5360
- Compile interpolation through the GEM optimisation pipeline by @pbrubeck in #5381
- Make SLATE subclass BaseForm by @pbrubeck in #4093
Bugfixes
- move
PointNotInDomainErrorby @leo-collins in #5041 - Refactor PCPatch code to not use PyOP2 by @connorjward in #4993
- Improve building compiled extensions using Makefile by @connorjward in #5059
- Keep a consistent labeling of boundaries for 2D periodic meshes by @connorjward in #5005
- Adjoint + submesh by @KarsKnook in #5081
- Remove add, sub magic methods from matrix by @leo-collins in #5145
- Drop support for python 3.10 by @francesco-ballarin in #5173
- Remove (very) deprecated Matrix.assemble by @connorjward in #5143
- Fix for ufl2unicode rewrite by @connorjward in #5058
- cache
visible_rankson topology by @leo-collins in #5183 - Fix Jp + multigrid by @pbrubeck in #5189
- Fix solver options for Real space by @connorjward in #5144
- DumbCheckpoint renew warning by @Ig-dolci in #5228
- Cache mesh bounding boxes correctly by @leo-collins in #5180
- Remove old PyOP2 documentation by @connorjward in #5262
- dmcommon: de-Python-ify mesh-topology construction (~4x faster BoxMesh build) by @miguelcoolchips in #5231
- Don't import interpolate from future by @connorjward in #5269
- Leo/deprecate clear rtree by @leo-collins in #5315
- fix rpaths for macos by @leo-collins in #5301
- Remove dead code by @achanbour in #5320
- interpolator init cleanup by @leo-collins in #5319
- Fix quadratic cost in adaptive mesh refinement's coarse/fine cell-map construction by @pbrubeck in #5326
- Fix broken test with exact comparisons by @pbrubeck in #5353
- Make serial submesh construction linear in the number of points by @haldaas in #5349
- Lint cython code by @stefanozampini in #5363
- Fix cython linting by @connorjward in #5366
- tinyasm: avoid copying the block dofmap in BlockJacobi::solve() by @manishpaulish in #5348
- Check that equivalent cells compile a form the same way by @pbrubeck in #5375
- Use correct dtype during PCPatch codegen by @connorjward in #5395
- Unified cache under sys.prefix by @pbrubeck in #5400
- Remove backwards compat tests for variable layer extrusion by @connorjward in #5418
- autoregressive covariance operator: fix scaling for dim>1 by @JHopeCollins in #5358
- Replace :: with codeblocks in demos by @nwng04 in #5414
- Make the Stokes multigrid appctx test deterministic by @pbrubeck in #5453
- Fix NumPy 2.5 deprecation warning in pyop2.utils.verify_reshape by @TrueCP6 in #5459
- fix petsc4py breaking changes by @leo-collins in #5463
- more petsc4py fixes by @leo-collins in #5464
- Add complex Slate support by @pbrubeck in #5470
- fix assertion in vom test by @leo-collins in #5473
- Enable SingleMemoryStorageSchedule in test_checkpointing_validity by @sghelichkhani in #5455
- make the ensemble diagram not be square by @dham in #5495
- Regression tests for SingleMemoryStorageSchedule checkpoint clearing by @sghelichkhani in #5454
New Contributors
- @haldaas made their first contribution in #5349
- @manishpaulish made their first contribution in #5348
- @nwng04 made their first contribution in #5414
- @TrueCP6 made their first contribution in #5459
Full Changelog: 2026.4.3...2026.10.0