This PR adds AbstractBackend and rewrites existing Firedrake-specific functions under the subclass of AbstractBackend.
This is an attempt to generalize the interface to support Firedrake and FEniCS simultaneously.
FEniCS support will be added later based on https://github.com/IvanYashchuk/numpy-fenics-adjoint.
This PR adds
AbstractBackend
and rewrites existing Firedrake-specific functions under the subclass ofAbstractBackend
. This is an attempt to generalize the interface to support Firedrake and FEniCS simultaneously. FEniCS support will be added later based on https://github.com/IvanYashchuk/numpy-fenics-adjoint.