diff --git a/python/dune/perftool/ufl/execution.py b/python/dune/perftool/ufl/execution.py index 93769fe2c0ed2bcb8f61db1ff9180c2006bd6346..9e857d975ba9f3eebb2adcf5a389eca37641a8e9 100644 --- a/python/dune/perftool/ufl/execution.py +++ b/python/dune/perftool/ufl/execution.py @@ -139,6 +139,14 @@ def split_expression(expr): class FiniteElement(ufl.FiniteElement): + + __slots = ufl.FiniteElement.__slots__ + ["dirichlet_expression", "dirichlet_constraints"] + + def __new__(cls, *args, **kwargs): + kwargs.pop('dirichlet_constraints', None) + kwargs.pop('dirichlet_expression', None) + return ufl.FiniteElement.__new__(cls, *args, **kwargs) + def __init__(self, *args, **kwargs): if ('dirichlet_constraints' in kwargs) or ('dirichlet_expression' in kwargs): # Get dirichlet_constraints and convert it to Expression if necessary! diff --git a/python/ufl b/python/ufl index 51edbb951d99d5e431aaf5abe85a48763473c939..e64c3fae7654848f4dc77754b74311758e7fb351 160000 --- a/python/ufl +++ b/python/ufl @@ -1 +1 @@ -Subproject commit 51edbb951d99d5e431aaf5abe85a48763473c939 +Subproject commit e64c3fae7654848f4dc77754b74311758e7fb351