-
Notifications
You must be signed in to change notification settings - Fork 199
Firedrake meeting 2026 06 23
Date and time 2026-06-23 1500 UTC+1
- Pick Chair and Minuter (IM to pick)
- ALL: (ongoing) triage the open issues and confirm if they are indeed still open (and perhaps provide labels)
- ALL: do things with SV's branches
- DH: Email to Andreas to have 2 (+ others!!!) loopy PRs merged TODO: FIND OUT WHICH PRS THESE ARE
- DH: Talk to GregVernon about PR#2116.
- JHC: New manual release
Present: DH, AC, IM, LC, CW, PB (halfway)
Apologies: JHC
E.g. https://github.com/firedrakeproject/firedrake/actions/runs/28013529584/job/82912184839
How do we fix this for release and main?
- new API change in Netgen that ngsPETSc broke things
- new patch release in ngsPETSc
- anyone should upgrade ngsPETSc and should be fine with using Firedrake
- Pablo opened a discussion in Netgen forum, posted an MFE and bugging developpers to help with this
There are two options:
(easy) approximate the derivatives with finite differences (this will be exact for expressions in the polynomial space). This allows us to write the dual evaluation as a tensor contraction Q_ij f(x_j). Hence this will compose immediately with interpolation in Firedrake (including cross-mesh interpolation)
(hard) compute derivatives of the expression and evaluate those. Will need some minor changes in TSFC. Cross-mesh interpolation will be harder (multiple VOMs, or build a tensor-valued space on the VOM to evananluate all the derivatives)
Minutes:
Question is which way we should do this. Two answers listed here.
-
First one is basically how we deal with integrals (preserve orthogonality between primal and dual spaces). Shows up as a funny quadrature rule. Won't break approx. order but worse coef. terms. Pablo claims this is a hack: if we have full information of UFL expr need to use that for differentiation.
-
Other option is to allow derivative of the evaluation of the function that's incoming (needs evaluation -> evalutae function OR its derivative). Quadrature rule gets extra rank. Works the same way as same mesh interpolation. A lot more work for cross mesh interpolation (different classes of points - multiple VOMs? primal, derivative, hessian VOMs etc.). Extra VOMs raise an efficient argument.
Allowing both cases is equivalent to parametrizing interpolate. Similar to setting quadrature rule for an integral. Set default option but allow to change later.
Leo to proceed with option 1 (might be worth mentioning that it will be possible to upgrade to option 2 later).
Option 1 requires no changes to Firedrake (all in FIAT). Fuse-compatible? Derivative nodes should compose.
- CW: https://github.com/firedrakeproject/firedrake/pull/5143 - merged
- CW: https://github.com/firedrakeproject/firedrake/pull/5153 - merged
- CW/DS: https://github.com/firedrakeproject/firedrake/pull/5195 - change command language to console + remove the link to jupyter notebooks in Firedrake's documentation pages.
- CW: https://github.com/firedrakeproject/firedrake/pull/5196 - merged
- CW: https://github.com/firedrakeproject/firedrake/pull/5198 - merged
- CW: https://github.com/firedrakeproject/firedrake/pull/5058 - Connor wants to dig into that a bit more before merging.
Skipping next week's meeting due to the majority of people being away
Next meeting is therefore scheduled for 1600 UTC+0100 2026-07-07