Skip to content

Conversation

@nbouziani
Copy link
Contributor

@nbouziani nbouziani commented Feb 7, 2024

This PR contains the Firedrake implementation of external operators. The corresponding UFL implementation was merged in FEniCS/ufl#206. The Firedrake infrastructure to make external operators has already been introduced in #2297, making that PR pretty "small".

The external operator interface allows for incorporating arbitrary operators mapping between finite element spaces in Firedrake. Those operators are external in the sense that their implementation is left to be specified by the user. This PR mainly contains:

  • The assembly mechanism required for evaluating external operators, and expressions/variational forms containing external operators.
  • The abstract external operator class that orchestrates the assembly
  • The ML operator which allows for incorporating machine learning models implemented in PyTorch in Firedrake
  • A new manual chapter

@nbouziani nbouziani marked this pull request as ready for review February 20, 2024 21:22
@nbouziani nbouziani requested a review from dham February 20, 2024 21:23
@dham dham merged commit 41b5cc9 into master Feb 21, 2024
@dham dham deleted the pointwise-adjoint-operator_dualspace branch February 21, 2024 16:23
JDBetteridge pushed a commit that referenced this pull request Mar 5, 2024
---------

Co-authored-by: Rob Kirby <[email protected]>
@nbouziani nbouziani mentioned this pull request Sep 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants