diff --git a/python/dune/perftool/pdelab/driver/gridfunctionspace.py b/python/dune/perftool/pdelab/driver/gridfunctionspace.py index 2ab2234736db0d761efa1b1dfb29298d2b815983..affa56e39b2de93e51f6e9b7affa9ddab95e3e9f 100644 --- a/python/dune/perftool/pdelab/driver/gridfunctionspace.py +++ b/python/dune/perftool/pdelab/driver/gridfunctionspace.py @@ -254,7 +254,8 @@ def define_power_gfs(element, is_dirichlet, name, subgfs): gv = name_leafview() fem = name_fem(element.sub_elements()[0]) gfstype = type_gfs(element, is_dirichlet) - return "{} {}({}, {});".format(gfstype, name, gv, fem) + return ["{} {}({}, {});".format(gfstype, name, gv, fem), + "{}.name(\"{}\");".format(name, name)] @preamble diff --git a/test/hyperbolic/linearacoustics.mini b/test/hyperbolic/linearacoustics.mini index 5cb5ba591a8e1e47e1ba3ed1693fb000ee5f5a62..7d4eb12dafdf7884e8b97f5d4ae61a393265ba11 100644 --- a/test/hyperbolic/linearacoustics.mini +++ b/test/hyperbolic/linearacoustics.mini @@ -8,8 +8,9 @@ cells = 20 20 elementType = hexahedral [instat] -T = 1.5 -dt = 0.0025 +T = 0.5 +dt = 0.005 +theta = 0.0 [wrapper.vtkcompare] name = {__name} diff --git a/test/hyperbolic/linearacoustics.ufl b/test/hyperbolic/linearacoustics.ufl index 32d42984b58e2c1ef68218995d91ef41221ea37b..3a310abd7a338e3b0cd615a2f07b3c0846d2cff4 100644 --- a/test/hyperbolic/linearacoustics.ufl +++ b/test/hyperbolic/linearacoustics.ufl @@ -12,15 +12,18 @@ n = FacetNormal(cell)('+') u = TrialFunction(MV) v = TestFunction(MV) -rho, q0, q1 = split(u) -rhot, q0t, q1t = split(v) - mass = inner(u, v)*dx -flux = as_matrix([[q0, q1], [rho, 0.], [0., rho]]) +def flux(s): + rho, q0, q1 = split(s) + return as_matrix([[q0, q1], [rho, 0.], [0., rho]]) + +# Define numerical fluxes to choose from +llf_flux = dot(avg(flux(u)), n) - 0.5*jump(u) +numerical_flux = llf_flux -r = -1.*inner(flux, grad(v))*dx \ - + inner(dot(avg(flux), n) + 0.5*jump(u), jump(v))*dS \ +r = -1. * inner(flux(u), grad(v))*dx \ + - inner(numerical_flux, jump(v))*dS \ + inner(u, v)*ds forms = [mass, r] diff --git a/test/sumfact/hyperbolic/linearacoustics.mini b/test/sumfact/hyperbolic/linearacoustics.mini index 43090314691d619e6f9e29b7d37bd4f1b2cd4817..8ad418e27ed41bf26f99d5348260a978b59e09b7 100644 --- a/test/sumfact/hyperbolic/linearacoustics.mini +++ b/test/sumfact/hyperbolic/linearacoustics.mini @@ -8,8 +8,9 @@ cells = 20 20 elementType = hexahedral [instat] -T = 1.5 -dt = 0.0025 +T = 0.5 +dt = 0.005 +theta = 0.0 [wrapper.vtkcompare] name = {__name} diff --git a/test/sumfact/hyperbolic/linearacoustics.ufl b/test/sumfact/hyperbolic/linearacoustics.ufl index 32d42984b58e2c1ef68218995d91ef41221ea37b..3a310abd7a338e3b0cd615a2f07b3c0846d2cff4 100644 --- a/test/sumfact/hyperbolic/linearacoustics.ufl +++ b/test/sumfact/hyperbolic/linearacoustics.ufl @@ -12,15 +12,18 @@ n = FacetNormal(cell)('+') u = TrialFunction(MV) v = TestFunction(MV) -rho, q0, q1 = split(u) -rhot, q0t, q1t = split(v) - mass = inner(u, v)*dx -flux = as_matrix([[q0, q1], [rho, 0.], [0., rho]]) +def flux(s): + rho, q0, q1 = split(s) + return as_matrix([[q0, q1], [rho, 0.], [0., rho]]) + +# Define numerical fluxes to choose from +llf_flux = dot(avg(flux(u)), n) - 0.5*jump(u) +numerical_flux = llf_flux -r = -1.*inner(flux, grad(v))*dx \ - + inner(dot(avg(flux), n) + 0.5*jump(u), jump(v))*dS \ +r = -1. * inner(flux(u), grad(v))*dx \ + - inner(numerical_flux, jump(v))*dS \ + inner(u, v)*ds forms = [mass, r]