You can shut off the deprecation warnings with the following:
import warnings
from ffc.quadrature.deprecation \
import QuadratureRepresentationDeprecationWarning
warnings.simplefilter("ignore", QuadratureRepresentationDeprecationWarning)
TSFC is actually pretty easy to use, and doesn’t require re-building FEniCS. You just need to install a few extra things with pip3
for it to work:
pip3 install git+https://github.com/blechta/tsfc.git@2018.1.0
pip3 install git+https://github.com/blechta/COFFEE.git@2018.1.0
pip3 install git+https://github.com/blechta/FInAT.git@2018.1.0
pip3 install singledispatch networkx pulp
As for optimizing UserExpression
, you can code your own C++ subclasses of Expression
and use them in Python scripts, as in this example
although I’m not sure that counts as “trying to keep my program simple”.