Closed TomTranter closed 4 months ago
There are some key advantages for Firedrake over the two FEniCS codes (the legacy version, which is no longer being developed, and FEniCSx).
For echemfem, the main advantage of Firedrake over both FEniCS codes is the solvers. First, since Firedrake is built on top of PETSc, its interface with PETSc is essentially seamless. Second, Firedrake has a great interface for defining custom preconditioners with custom operators (e.g. the p-MG preconditioner for high order elements used in the DG paper).
FEniCSx is relatively early in its development so it does not have important features such as pyadjoint support, which is crucial since we are using echemfem for design optimization.
Firedrake is still actively developed (big UK grant 2021-2025). New features are still being added (e.g. external operators for things like coupling Firedrake with Machine Learning operators).
I think you should add a few words to that effect in the paper
Added a few words in the latest commit to joss branch.
This is a minor point but there is no justification for using Firedrake. Are there any major advantages to using this over FEniCS which seems to be a larger and more developed project with similar functionality?