diff --git a/q3d/firedrakeplus/computation.py b/q3d/firedrakeplus/computation.py index 28454ea..c851d68 100644 --- a/q3d/firedrakeplus/computation.py +++ b/q3d/firedrakeplus/computation.py @@ -1,5 +1,4 @@ from firedrake import SpatialCoordinate, Function, assemble, dx, ds -from firedrake.__future__ import interpolate from q3d.uflplus import * import q3d.printoff as pr diff --git a/q3d/firedrakeplus/solver.py b/q3d/firedrakeplus/solver.py index 830e305..3a064d5 100644 --- a/q3d/firedrakeplus/solver.py +++ b/q3d/firedrakeplus/solver.py @@ -126,17 +126,17 @@ def _define_bcs(bdy_cond : str): strong_boundary = settings.options.strong_boundary - bdy_cond = Function(H1_vec) - bdy_cond.interpolate(eval(bdy_cond)) + bc = Function(H1_vec) + bc.interpolate(eval(bdy_cond)) if strong_boundary is None or strong_boundary == 'none': bcs = None if strong_boundary == 'all': - bcs = [DirichletBC(H1_vec, bdy_cond, "on_boundary")] + bcs = [DirichletBC(H1_vec, bc, "on_boundary")] elif isinstance(strong_boundary,int): - bcs = [DirichletBC(H1_vec, bdy_cond, [strong_boundary])] + bcs = [DirichletBC(H1_vec, bc, [strong_boundary])] elif isinstance(strong_boundary,list): - bcs = [DirichletBC(H1_vec, bdy_cond, strong_boundary)] + bcs = [DirichletBC(H1_vec, bc, strong_boundary)] return bcs diff --git a/q3d/uflplus/__init__.py b/q3d/uflplus/__init__.py index 1979167..d4239f7 100644 --- a/q3d/uflplus/__init__.py +++ b/q3d/uflplus/__init__.py @@ -1,6 +1,7 @@ from ufl import * from ufl.classes import * # allows for evaluating UFL cache strings into UFL objects from firedrake.ufl_expr import * # overwrites some of ufl.classes using Firedrake-specific UFL object defintinions. Needed for Firedrake solvers to work properly +from firedrake.__future__ import interpolate from ufl.operators import ListTensor, Zero # used for type hints/checking for UFL objects from q3d.uflplus.fy import qvectorfy, qtensorfy