Skip to content

Firedrake meeting 2026 06 23

Anastasia Chanbour edited this page Jun 23, 2026 · 7 revisions

Date and time 2026-06-23 1500 UTC+1

Action Items

  1. Pick Chair and Minuter (IM to pick)
  2. ALL: (ongoing) triage the open issues and confirm if they are indeed still open (and perhaps provide labels)
  3. ALL: do things with SV's branches
  4. DH: Email to Andreas to have 2 (+ others!!!) loopy PRs merged TODO: FIND OUT WHICH PRS THESE ARE
  5. DH: Talk to GregVernon about PR#2116.
  6. JHC: New manual release

Agenda

Present: DH, AC, IM, LC, CW, PB (halfway)

Apologies: JHC

CW: Netgen failures

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

LC: dual evaluation for derivative nodes

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.

Merge PRs

Date of next meeting

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

Clone this wiki locally