diff --git a/python/dune/perftool/options.py b/python/dune/perftool/options.py index 9fe285b9fc4dd2b92390f7e2c8bbf34fbcd940e8..78d28b18d6afabacfa46aff463b0defaa666312a 100644 --- a/python/dune/perftool/options.py +++ b/python/dune/perftool/options.py @@ -63,7 +63,7 @@ class PerftoolOptionsArray(ImmutableRecord): turn_off_diagonal_jacobian = PerftoolOption(default=False, helpstr="Do not use diagonal_jacobian transformation on the ufl tree and cast result of jacobianInverseTransposed into a FieldMatrix.") architecture = PerftoolOption(default="haswell", helpstr="The architecture to optimize for. Possible values: haswell|knl") grid_offset = PerftoolOption(default=False, helpstr="Set to true if you want a yasp grid where the lower left corner is not in the origin.") - simplify = PerftoolOption(default=True, helpstr="Whether to simplify expressions using sympy") + simplify = PerftoolOption(default=False, helpstr="Whether to simplify expressions using sympy") precision_bits = PerftoolOption(default=64, helpstr="The number of bits for the floating point type") assure_statement_ordering = PerftoolOption(default=False, helpstr="Whether special care should be taken for a good statement ordering in sumfact kernels, runs into a loopy scheduler performance bug, but is necessary for production.") diff --git a/python/dune/perftool/pdelab/driver/gridfunctionspace.py b/python/dune/perftool/pdelab/driver/gridfunctionspace.py index c1b439eae390add27ad96337f9d8851671811b41..f4392e367147b46774fffa84c63a98e0bf8bbed1 100644 --- a/python/dune/perftool/pdelab/driver/gridfunctionspace.py +++ b/python/dune/perftool/pdelab/driver/gridfunctionspace.py @@ -234,6 +234,8 @@ def name_gfs(element, is_dirichlet, treepath=(), root=True): subgfs.append(name_gfs(subel, is_dirichlet[k:k + subel.value_size()], treepath=treepath + (i,), root=False)) k = k + subel.value_size() name = "_".join(subgfs) + if len(subgfs) == 1: + name = "{}_dummy".format(name) name = "{}_{}".format(name, "_".join(str(t) for t in treepath)) define_composite_gfs(element, is_dirichlet, name, tuple(subgfs), root) return name @@ -272,6 +274,8 @@ def type_gfs(element, is_dirichlet, root=True): subgfs.append(type_gfs(subel, is_dirichlet[k:k + subel.value_size()], root=False)) k = k + subel.value_size() name = "_".join(subgfs) + if len(subgfs) == 1: + name = "{}_dummy".format(name) typedef_composite_gfs(element, name, tuple(subgfs), root) return name else: diff --git a/python/dune/perftool/pdelab/driver/interpolate.py b/python/dune/perftool/pdelab/driver/interpolate.py index ebbdbfd3d044d276a8692660252d2a7768a9389a..c3c5911e7b1207c45878043ed5e2d81b483410fe 100644 --- a/python/dune/perftool/pdelab/driver/interpolate.py +++ b/python/dune/perftool/pdelab/driver/interpolate.py @@ -52,6 +52,8 @@ def name_boundary_function(element, func): childs.append(name_boundary_function(subel, func[k:k + subel.value_size()])) k = k + subel.value_size() name = "_".join(childs) + if len(childs) == 1: + name = "{}_dummy".format(name) define_compositegfs_parameterfunction(name, tuple(childs)) return name else: