diff --git a/python/dune/perftool/compile.py b/python/dune/perftool/compile.py index cd5344c0da55f68b88a3ea1809f800105160fbbc..f55ec87c890b5840b7a6816a4fed2c0e083b12d6 100644 --- a/python/dune/perftool/compile.py +++ b/python/dune/perftool/compile.py @@ -92,7 +92,7 @@ def read_ufl(uflfile): if get_option("exact_solution_expression"): data.object_by_name[get_option("exact_solution_expression")] = namespace[get_option("exact_solution_expression")] - magic_names = ("dirichlet_expression", + magic_names = ("interpolate_expression", "is_dirichlet", "exact_solution", ) diff --git a/python/dune/perftool/pdelab/driver/__init__.py b/python/dune/perftool/pdelab/driver/__init__.py index e052fa954f61a3d0890ba373a3527cc770ff3fac..049127442d4a5b4a6c4a07325312516feac2cebd 100644 --- a/python/dune/perftool/pdelab/driver/__init__.py +++ b/python/dune/perftool/pdelab/driver/__init__.py @@ -192,8 +192,11 @@ def unroll_list_tensors(data): yield e -def preprocess_leaf_data(element, data): +def preprocess_leaf_data(element, data, applyZeroDefault=True): data = get_object(data) + if data is None and not applyZeroDefault: + return None + from ufl import MixedElement if isinstance(element, MixedElement): # data is None -> use 0 default diff --git a/python/dune/perftool/pdelab/driver/instationary.py b/python/dune/perftool/pdelab/driver/instationary.py index fe2cbc5a5a819c7e274759ab9e91cc61d1b14e34..5c9bf3f6be64b6d2f0bd0037ef680ae528a456b7 100644 --- a/python/dune/perftool/pdelab/driver/instationary.py +++ b/python/dune/perftool/pdelab/driver/instationary.py @@ -67,7 +67,7 @@ def time_loop(): osm = name_explicitonestepmethod() apply_call = "{}.apply(time, dt, {}, {}new);".format(osm, vector, vector) else: - dirichlet = preprocess_leaf_data(element, "dirichlet_expression") + dirichlet = preprocess_leaf_data(element, "interpolate_expression") boundary = name_boundary_function(element, dirichlet) osm = name_onestepmethod() apply_call = "{}.apply(time, dt, {}, {}, {}new);".format(osm, vector, boundary, vector) diff --git a/python/dune/perftool/pdelab/driver/interpolate.py b/python/dune/perftool/pdelab/driver/interpolate.py index c3c5911e7b1207c45878043ed5e2d81b483410fe..c2a7571e68f3c5b00cfbf4df1139cb9c5afc7dda 100644 --- a/python/dune/perftool/pdelab/driver/interpolate.py +++ b/python/dune/perftool/pdelab/driver/interpolate.py @@ -18,20 +18,13 @@ from dune.perftool.pdelab.driver.gridoperator import (name_parameters,) from ufl import FiniteElement, MixedElement, TensorElement, VectorElement, TensorProductElement -def _do_interpolate(dirichlet): - if isinstance(dirichlet, (list, tuple)): - return any(bool(d) for d in dirichlet) - else: - return bool(dirichlet) - def interpolate_dirichlet_data(name): element = get_trial_element() - is_dirichlet = preprocess_leaf_data(element, "is_dirichlet") - if _do_interpolate(is_dirichlet) or not is_stationary(): + func = preprocess_leaf_data(element, "interpolate_expression", applyZeroDefault=False) + if func is not None: + bf = name_boundary_function(element, func) gfs = name_trial_gfs() - dirichlet = preprocess_leaf_data(element, "dirichlet_expression") - bf = name_boundary_function(element, dirichlet) interpolate_vector(bf, gfs, name) diff --git a/test/blockstructured/nonlinear/nonlinear.ufl b/test/blockstructured/nonlinear/nonlinear.ufl index 6187bbeb86d8390f578d337727089c254ff4ff06..7932d0a15ff211830cd29298c72d0843014ede29 100644 --- a/test/blockstructured/nonlinear/nonlinear.ufl +++ b/test/blockstructured/nonlinear/nonlinear.ufl @@ -10,6 +10,6 @@ u = TrialFunction(V) v = TestFunction(V) forms = [(inner(grad(u), grad(v)) + u*u*v - f*v)*dx] -dirichlet_expression = g +interpolate_expression = g exact_solution = g is_dirichlet = 1 diff --git a/test/blockstructured/poisson/3d/poisson.ufl b/test/blockstructured/poisson/3d/poisson.ufl index 562606820cf377a80cad2a0826f5207d4f5a2a5d..d45a60748ff806bbd998c45c07c2e3d1bf05e2fd 100644 --- a/test/blockstructured/poisson/3d/poisson.ufl +++ b/test/blockstructured/poisson/3d/poisson.ufl @@ -11,6 +11,6 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] -dirichlet_expression = g +interpolate_expression = g exact_solution = g is_dirichlet = 1 diff --git a/test/blockstructured/poisson/poisson.ufl b/test/blockstructured/poisson/poisson.ufl index d8a7ef0ce23d9cc7cf96445509530af750199743..aa44e75ab0e6d2619905a97b8261a0c07b789378 100644 --- a/test/blockstructured/poisson/poisson.ufl +++ b/test/blockstructured/poisson/poisson.ufl @@ -10,6 +10,6 @@ u = TrialFunction(V) v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] -dirichlet_expression = g +interpolate_expression = g exact_solution = g is_dirichlet = 1 diff --git a/test/blockstructured/poisson/poisson_neumann.ufl b/test/blockstructured/poisson/poisson_neumann.ufl index 867403d8920c6869eee6721a943c3cd6199c57b4..c766be2f985fdc92eb98b8b5152a5b4987d7be7a 100644 --- a/test/blockstructured/poisson/poisson_neumann.ufl +++ b/test/blockstructured/poisson/poisson_neumann.ufl @@ -17,6 +17,6 @@ v = TestFunction(V) ds = ds(subdomain_data=bctype) forms = [(inner(grad(u), grad(v)) - f*v)*dx - j*v*ds(0)] -dirichlet_expression = g +interpolate_expression = g exact_solution = g is_dirichlet = bctype diff --git a/test/blockstructured/poisson/poisson_tensor.ufl b/test/blockstructured/poisson/poisson_tensor.ufl index df8bcbab312335e8e0c8e1160a145288187318fc..5d345c75bdb4594a18d3a6c9ea6dd0f596b99ad2 100644 --- a/test/blockstructured/poisson/poisson_tensor.ufl +++ b/test/blockstructured/poisson/poisson_tensor.ufl @@ -13,6 +13,6 @@ u = TrialFunction(V) v = TestFunction(V) forms = [(inner(A*grad(u), grad(v)) + c*u*v -f*v)*dx] -dirichlet_expression = g +interpolate_expression = g exact_solution = g is_dirichlet = 1 diff --git a/test/blockstructured/stokes/stokes.ufl b/test/blockstructured/stokes/stokes.ufl index c8f630b84aae43a68221ace670fe9fcb027af47d..4fa3f5de3749b1e5b9a6f687603378e9049b999f 100644 --- a/test/blockstructured/stokes/stokes.ufl +++ b/test/blockstructured/stokes/stokes.ufl @@ -15,5 +15,5 @@ r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx forms = [r] is_dirichlet = v_bctype, v_bctype, 0 -dirichlet_expression = g_v, None +interpolate_expression = g_v, None exact_solution = g_v, 8.*(1.-x[0]) diff --git a/test/heatequation/heatequation.ufl b/test/heatequation/heatequation.ufl index 9fe2e20bff8bead3b823bf86c9cb4b4372f155c9..726b84a310871ba49ba02d9079b63fd46f8a0c32 100644 --- a/test/heatequation/heatequation.ufl +++ b/test/heatequation/heatequation.ufl @@ -14,6 +14,6 @@ mass = (u*v)*dx poisson = (inner(grad(u), grad(v)) - f*v)*dx forms = [mass, poisson] -dirichlet_expression = g +interpolate_expression = g is_dirichlet = 1 exact_solution = g \ No newline at end of file diff --git a/test/heatequation/heatequation_dg.ufl b/test/heatequation/heatequation_dg.ufl index 8dfd74302e57c53f3672d4a0e25592dd0c4cd34c..288d1e675578c72e8c5b2c150d6677f663cc42f7 100644 --- a/test/heatequation/heatequation_dg.ufl +++ b/test/heatequation/heatequation_dg.ufl @@ -33,6 +33,6 @@ poisson = inner(grad(u), grad(v))*dx \ mass = (u*v)*dx forms = [mass, poisson] -dirichlet_expression = g +interpolate_expression = g is_dirichlet = 1 exact_solution = g \ No newline at end of file diff --git a/test/heatequation/heatequation_time_dependent_bc.ufl b/test/heatequation/heatequation_time_dependent_bc.ufl index ac0079253cc170c757da9ae772eec8e4fd1a6087..8bf2a2d853c27a5a2724f2813f52ae0814983096 100644 --- a/test/heatequation/heatequation_time_dependent_bc.ufl +++ b/test/heatequation/heatequation_time_dependent_bc.ufl @@ -17,6 +17,6 @@ mass = (u*v)*dx poisson = (inner(grad(u), grad(v)) - f*v)*dx forms = [mass, poisson] -dirichlet_expression = g +interpolate_expression = g is_dirichlet = 1 exact_solution = g diff --git a/test/hyperbolic/linearacoustics.ufl b/test/hyperbolic/linearacoustics.ufl index 8b9d48c4433f72395c054c88ea6c4eaeedb9fcb0..d72476ccbf99ae6cae34114b19300064820ded14 100644 --- a/test/hyperbolic/linearacoustics.ufl +++ b/test/hyperbolic/linearacoustics.ufl @@ -29,4 +29,4 @@ r = -1. * inner(flux, grad(v))*dx \ + inner(u, v)*ds forms = [mass, r] -dirichlet_expression = f, 0.0, 0.0 +interpolate_expression = f, 0.0, 0.0 diff --git a/test/hyperbolic/lineartransport.ufl b/test/hyperbolic/lineartransport.ufl index 858a18bd32537eec046de5b382a95d95401e9aae..20ad8bf5a4bf7f2a59ff58e0088ec01b66eaac91 100644 --- a/test/hyperbolic/lineartransport.ufl +++ b/test/hyperbolic/lineartransport.ufl @@ -27,5 +27,5 @@ r = -1.*u*inner(beta, grad(v))*dx \ forms = [mass, r] is_dirichlet = dirichlet -dirichlet_expression = initial +interpolate_expression = initial exact_solution = 0 \ No newline at end of file diff --git a/test/hyperbolic/shallowwater.ufl b/test/hyperbolic/shallowwater.ufl index 8737b2851cce2fb093a0f6000c8cc649356d3ff3..eee5ea804c3c28d54f1e79365b3437e548f46bac 100644 --- a/test/hyperbolic/shallowwater.ufl +++ b/test/hyperbolic/shallowwater.ufl @@ -33,4 +33,4 @@ r = -1. * inner(flux, grad(v))*dx \ + inner(boundary_flux, v)*ds forms = [mass, r] -dirichlet_expression = f, 0.0 +interpolate_expression = f, 0.0 diff --git a/test/nonlinear/diffusivewave.ufl b/test/nonlinear/diffusivewave.ufl index 66b2524332f317ac05bcdcbd19404315931c974e..fc92f13d4efd9dcaa0826ae47892148b6e6bd234 100644 --- a/test/nonlinear/diffusivewave.ufl +++ b/test/nonlinear/diffusivewave.ufl @@ -32,4 +32,4 @@ poisson = inner(K*grad(u), grad(v))*dx \ mass = (u*v)*dx forms = [mass, poisson] -dirichlet_expression = sin(pi*x[0]) +interpolate_expression = sin(pi*x[0]) diff --git a/test/nonlinear/nonlinear.ufl b/test/nonlinear/nonlinear.ufl index f81b287e504909b1381a4ac71f3a84af5e34a01c..b22d743777aec41147d727988e020785b7b710bc 100644 --- a/test/nonlinear/nonlinear.ufl +++ b/test/nonlinear/nonlinear.ufl @@ -12,5 +12,5 @@ r = (inner(grad(u), grad(v)) + u*u*v - f*v)*dx forms = [r] exact_solution = g -dirichlet_expression = g +interpolate_expression = g is_dirichlet = 1 \ No newline at end of file diff --git a/test/poisson/dimension-grid-variations/poisson_1d_cg_interval.ufl b/test/poisson/dimension-grid-variations/poisson_1d_cg_interval.ufl index 5eefb2d7c12d0e18f1638949abb4bd0524512fd8..4125994aadff64d73b54ce2d2e86b9be4462eebf 100644 --- a/test/poisson/dimension-grid-variations/poisson_1d_cg_interval.ufl +++ b/test/poisson/dimension-grid-variations/poisson_1d_cg_interval.ufl @@ -12,4 +12,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.ufl b/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.ufl index d3771aacfe8f806cb3fd1e31d9ba581106885247..5b870f088e98633790d8e6f21c67e7cc432f14de 100644 --- a/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.ufl +++ b/test/poisson/dimension-grid-variations/poisson_2d_cg_quadrilateral.ufl @@ -12,4 +12,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/poisson/dimension-grid-variations/poisson_2d_cg_triangle.ufl b/test/poisson/dimension-grid-variations/poisson_2d_cg_triangle.ufl index e95064dfb1e0d947c51a1c021ac4f0f7a9f7adc1..c07533d54897d68192803935ac2b212a46376402 100644 --- a/test/poisson/dimension-grid-variations/poisson_2d_cg_triangle.ufl +++ b/test/poisson/dimension-grid-variations/poisson_2d_cg_triangle.ufl @@ -11,4 +11,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.ufl b/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.ufl index 93e880daec3964f358b303d02dcb45bca0314743..7bfd73703228482b235fab077e5a2f874132ae04 100644 --- a/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.ufl +++ b/test/poisson/dimension-grid-variations/poisson_3d_cg_hexahedron.ufl @@ -11,4 +11,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/poisson/dimension-grid-variations/poisson_3d_cg_tetrahedron.ufl b/test/poisson/dimension-grid-variations/poisson_3d_cg_tetrahedron.ufl index 61ebabe881158548f770b69b999759285520439e..b6e70a98065893ed033907bfea4ef418d39d7363 100644 --- a/test/poisson/dimension-grid-variations/poisson_3d_cg_tetrahedron.ufl +++ b/test/poisson/dimension-grid-variations/poisson_3d_cg_tetrahedron.ufl @@ -11,4 +11,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/poisson/poisson.ufl b/test/poisson/poisson.ufl index 2bfe33131e8fc3456a1d68781874a1bcae0f87af..025f1e8ca033d97f0ae0399dbf936d72eee9187d 100644 --- a/test/poisson/poisson.ufl +++ b/test/poisson/poisson.ufl @@ -13,5 +13,5 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g -dirichlet_expression = g +interpolate_expression = g is_dirichlet = 1 \ No newline at end of file diff --git a/test/poisson/poisson_neumann.ufl b/test/poisson/poisson_neumann.ufl index d951842134b2859689629189bed631c28caf2442..aa69d6fe42e68476d80da264c625ebead752436d 100644 --- a/test/poisson/poisson_neumann.ufl +++ b/test/poisson/poisson_neumann.ufl @@ -19,4 +19,4 @@ ds = ds(subdomain_data=bctype) forms = [(inner(grad(u), grad(v)) - f*v)*dx - j*v*ds(0)] exact_solution = g is_dirichlet = bctype -dirichlet_expression = g \ No newline at end of file +interpolate_expression = g \ No newline at end of file diff --git a/test/poisson/poisson_tensor.ufl b/test/poisson/poisson_tensor.ufl index 7208c1e0271e91d6ece79ee388510dc2f64a7a25..08898c93f560a329072736e1557b2a19f7645646 100644 --- a/test/poisson/poisson_tensor.ufl +++ b/test/poisson/poisson_tensor.ufl @@ -15,4 +15,4 @@ v = TestFunction(V) forms = [(inner(A*grad(u), grad(v)) + c*u*v -f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g \ No newline at end of file +interpolate_expression = g \ No newline at end of file diff --git a/test/stokes/stokes.ufl b/test/stokes/stokes.ufl index 4307fbeee64a03e4ace5cb63931458ae5d9edbcf..6debda650ade492ace562e3f671cefeb8356afc6 100644 --- a/test/stokes/stokes.ufl +++ b/test/stokes/stokes.ufl @@ -15,5 +15,5 @@ r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx forms = [r] is_dirichlet = v_bctype, v_bctype, 0 -dirichlet_expression = g_v, None +interpolate_expression = g_v, None exact_solution = g_v, 8.*(1.-x[0]) \ No newline at end of file diff --git a/test/stokes/stokes_3d_quadrilateral.ufl b/test/stokes/stokes_3d_quadrilateral.ufl index 0888298844ccf8e7ebda072c26c4908e96565072..24d799a8ebea2dc902019efa6d93e289181282bf 100644 --- a/test/stokes/stokes_3d_quadrilateral.ufl +++ b/test/stokes/stokes_3d_quadrilateral.ufl @@ -16,4 +16,4 @@ r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx forms = [r] exact_solution = g_v, 8.*(1.-x[0]) is_dirichlet = v_bctype, v_bctype, v_bctype, 0 -dirichlet_expression = g_v, None +interpolate_expression = g_v, None diff --git a/test/stokes/stokes_quadrilateral.ufl b/test/stokes/stokes_quadrilateral.ufl index c8f630b84aae43a68221ace670fe9fcb027af47d..4fa3f5de3749b1e5b9a6f687603378e9049b999f 100644 --- a/test/stokes/stokes_quadrilateral.ufl +++ b/test/stokes/stokes_quadrilateral.ufl @@ -15,5 +15,5 @@ r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx forms = [r] is_dirichlet = v_bctype, v_bctype, 0 -dirichlet_expression = g_v, None +interpolate_expression = g_v, None exact_solution = g_v, 8.*(1.-x[0]) diff --git a/test/stokes/stokes_stress.ufl b/test/stokes/stokes_stress.ufl index a25a73adba1baa7fc141864320f7c639ff9808df..8e8aaf14a831322ef8539a80647f426835b897a3 100644 --- a/test/stokes/stokes_stress.ufl +++ b/test/stokes/stokes_stress.ufl @@ -16,5 +16,5 @@ r = (inner(grad(v), S) + inner(grad(u) - S, T) - div(v)*p - q*div(u))*dx forms = [r] is_dirichlet = v_bctype, v_bctype, 0, 0, 0, 0, 0 -dirichlet_expression = 4*x[1]*(1.-x[1]), 0.0, None, None, None, None, None +interpolate_expression = 4*x[1]*(1.-x[1]), 0.0, None, None, None, None, None exact_solution = 4*x[1]*(1.-x[1]), 0.0, 8*(1.-x[0]), 0.0, 0.0, -1.*8*x[1] + 4., 0.0 \ No newline at end of file diff --git a/test/stokes/stokes_stress_sym.ufl b/test/stokes/stokes_stress_sym.ufl index f5dc520c07202ee05b4294b153d90f3dcd5b4ab0..012f70dbd5de6dccdf5f88021aaec320b460c970 100644 --- a/test/stokes/stokes_stress_sym.ufl +++ b/test/stokes/stokes_stress_sym.ufl @@ -22,5 +22,5 @@ r = (inner(grad(v), S) + inner(2*sym(grad(u)) - S, T) - div(v)*p - q*div(u))*dx forms = [r] is_dirichlet = v_bctype, v_bctype, 0, 0, 0, 0 -dirichlet_expression = 4*x[1]*(1.-x[1]), 0.0, None, None, None, None +interpolate_expression = 4*x[1]*(1.-x[1]), 0.0, None, None, None, None exact_solution = 4*x[1]*(1.-x[1]), 0.0, 8*(1.-x[0]), 0.0, 0.0, -1.*8*x[1] + 4. \ No newline at end of file diff --git a/test/stokes/stokes_sym.ufl b/test/stokes/stokes_sym.ufl index 1ae13db697976a046b461096a530ef315a2d7417..554101ab123556bfa3affb47fcc6726c88b3d9d8 100644 --- a/test/stokes/stokes_sym.ufl +++ b/test/stokes/stokes_sym.ufl @@ -18,5 +18,5 @@ r = (inner(2*sym(grad(u)), grad(v)) - div(v)*p - q*div(u))*dx - inner(grad(u).T* forms = [r] is_dirichlet = v_bctype, v_bctype, 0 -dirichlet_expression = g_v, None +interpolate_expression = g_v, None exact_solution = g_v, 8.*(1.-x[0]) \ No newline at end of file diff --git a/test/sumfact/hyperbolic/linearacoustics.ufl b/test/sumfact/hyperbolic/linearacoustics.ufl index 8b9d48c4433f72395c054c88ea6c4eaeedb9fcb0..d72476ccbf99ae6cae34114b19300064820ded14 100644 --- a/test/sumfact/hyperbolic/linearacoustics.ufl +++ b/test/sumfact/hyperbolic/linearacoustics.ufl @@ -29,4 +29,4 @@ r = -1. * inner(flux, grad(v))*dx \ + inner(u, v)*ds forms = [mass, r] -dirichlet_expression = f, 0.0, 0.0 +interpolate_expression = f, 0.0, 0.0 diff --git a/test/sumfact/hyperbolic/lineartransport.ufl b/test/sumfact/hyperbolic/lineartransport.ufl index 8fa698d935c924f4c79fb9653c1d43e959909ccb..d1f412504a8f86f2d041a37fb763fee4bc2aea93 100644 --- a/test/sumfact/hyperbolic/lineartransport.ufl +++ b/test/sumfact/hyperbolic/lineartransport.ufl @@ -28,4 +28,4 @@ r = -1.*u*inner(beta, grad(v))*dx \ forms = [mass, r] exact_solution = 0.0 is_dirichlet = dirichlet -dirichlet_expression = initial \ No newline at end of file +interpolate_expression = initial \ No newline at end of file diff --git a/test/sumfact/hyperbolic/shallowwater.ufl b/test/sumfact/hyperbolic/shallowwater.ufl index 9fca496e9fab29d58e91e79f15fb6fed3b4265af..0db71cf107d01edf42a679677dfeed23c22c4dc1 100644 --- a/test/sumfact/hyperbolic/shallowwater.ufl +++ b/test/sumfact/hyperbolic/shallowwater.ufl @@ -36,4 +36,4 @@ r = -1. * inner(flux, grad(v))*dx \ + inner(boundary_flux, v)*ds forms = [mass, r] -dirichlet_expression = f, 0.0, 0.0 +interpolate_expression = f, 0.0, 0.0 diff --git a/test/sumfact/poisson/poisson_2d.ufl b/test/sumfact/poisson/poisson_2d.ufl index d2c78a8d2a1a928ae1f941db4e1a337c8d308bbb..97cc99c407283e8e65bda1fdbb98921c96d6a50b 100644 --- a/test/sumfact/poisson/poisson_2d.ufl +++ b/test/sumfact/poisson/poisson_2d.ufl @@ -15,4 +15,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/sumfact/poisson/poisson_3d.ufl b/test/sumfact/poisson/poisson_3d.ufl index 529db2a042c01c43ffb7c71c390c323dd3c3d4ac..75f0331a54427d11bcf86dc9613afde38847f881 100644 --- a/test/sumfact/poisson/poisson_3d.ufl +++ b/test/sumfact/poisson/poisson_3d.ufl @@ -12,4 +12,4 @@ v = TestFunction(V) forms = [(inner(grad(u), grad(v)) - f*v)*dx] exact_solution = g is_dirichlet = 1 -dirichlet_expression = g +interpolate_expression = g diff --git a/test/sumfact/stokes/stokes.ufl b/test/sumfact/stokes/stokes.ufl index fafe0714ccee659ee18ef550cc2a17fba01077e6..1286a48d91b8807534345385f8f0b796c72d8012 100644 --- a/test/sumfact/stokes/stokes.ufl +++ b/test/sumfact/stokes/stokes.ufl @@ -16,5 +16,5 @@ r = (inner(grad(v), grad(u)) - div(v)*p - q*div(u))*dx forms = [r] exact_solution = g_v, 8.*(1.-x[0]) -dirichlet_expression = g_v, None +interpolate_expression = g_v, None is_dirichlet = v_bctype, v_bctype, None \ No newline at end of file