Skip to content
Snippets Groups Projects
Commit 4de16267 authored by Marcel Koch's avatar Marcel Koch
Browse files

correctly determine if an element is dg

parent 77378b4d
No related branches found
No related tags found
No related merge requests found
......@@ -45,8 +45,18 @@ def dump_dof_numbers(stream):
gvt = type_leafview()
gv = name_leafview()
from dune.perftool.pdelab.driver import get_trial_element, isDG
if isDG(get_trial_element()):
from dune.perftool.pdelab.driver import get_trial_element, isDG, _flatten_list
from ufl import MixedElement, TensorProductElement
element = get_trial_element()
def _apply_to_element(element, f):
if isinstance(element, MixedElement) or isinstance(element, TensorProductElement):
return tuple(_apply_to_element(e, f) for e in element.sub_elements())
else:
return f(element)
element_is_dg = all(_flatten_list(_apply_to_element(element, isDG)))
if element_is_dg:
return ["Dune::PDELab::NonOverlappingEntitySet<{}> es({});".format(gvt, gv),
"{} << \"{} \" << {} << \" dofs dofs \" << {}.maxLocalSize() * es.size(0) << std::endl;".format(stream,
level,
......@@ -54,7 +64,7 @@ def dump_dof_numbers(stream):
name_trial_gfs())
]
else:
return ["{} << \"{} \" << {} << \" dofs dofs \" << {}.() << std::endl;".format(stream,
return ["{} << \"{} \" << {} << \" dofs dofs \" << {}.size() << std::endl;".format(stream,
level,
ident,
name_trial_gfs())
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment