diff --git a/firedrake/bcs.py b/firedrake/bcs.py index 7a16226a71..f1ba1820f5 100644 --- a/firedrake/bcs.py +++ b/firedrake/bcs.py @@ -5,7 +5,7 @@ import itertools import ufl -from ufl import as_ufl, UFLException, as_tensor, VectorElement +from ufl import as_ufl, as_tensor, VectorElement import finat import pyop2 as op2 @@ -347,11 +347,11 @@ def function_arg(self, g): try: g = as_ufl(g) self._function_arg = g - except UFLException: + except BaseException: try: # Recurse to handle this through interpolation. self.function_arg = as_ufl(as_tensor(g)) - except UFLException: + except BaseException: raise ValueError(f"{g} is not a valid DirichletBC expression") def homogenize(self): diff --git a/firedrake/interpolation.py b/firedrake/interpolation.py index 0cb8dad028..8dfc15b64b 100644 --- a/firedrake/interpolation.py +++ b/firedrake/interpolation.py @@ -234,7 +234,7 @@ def callable(loops, f): def _interpolator(V, tensor, expr, subset, arguments, access): try: expr = ufl.as_ufl(expr) - except ufl.UFLException: + except BaseException: raise ValueError("Expecting to interpolate a UFL expression") try: to_element = create_element(V.ufl_element()) diff --git a/firedrake/logging.py b/firedrake/logging.py index a8f69d28b7..1b37013a8b 100644 --- a/firedrake/logging.py +++ b/firedrake/logging.py @@ -5,7 +5,6 @@ import tsfc.logging # noqa: F401 import pyop2.logger # noqa: F401 import coffee.logger # noqa: F401 -from ufl.log import ufl_logger from pyop2.mpi import COMM_WORLD @@ -72,10 +71,9 @@ def set_log_handlers(handlers=None, comm=COMM_WORLD): handlers = {} for package in packages: - if package != "UFL": - logger = logging.getLogger(package) - for handler in logger.handlers: - logger.removeHandler(handler) + logger = logging.getLogger(package) + for handler in logger.handlers: + logger.removeHandler(handler) handler = handlers.get(package, None) if handler is None: @@ -85,10 +83,7 @@ def set_log_handlers(handlers=None, comm=COMM_WORLD): if comm is not None and comm.rank != 0: handler = logging.NullHandler() - if package == "UFL": - ufl_logger.set_handler(handler) - else: - logger.addHandler(handler) + logger.addHandler(handler) def set_log_level(level): @@ -101,11 +96,7 @@ def set_log_level(level): """ for package in packages: - if package == "UFL": - from ufl.log import ufl_logger as logger - logger = logger.get_logger() - else: - logger = logging.getLogger(package) + logger = logging.getLogger(package) logger.setLevel(level) diff --git a/firedrake/slate/slac/compiler.py b/firedrake/slate/slac/compiler.py index cd9b5ac0c0..c14c532e22 100644 --- a/firedrake/slate/slac/compiler.py +++ b/firedrake/slate/slac/compiler.py @@ -31,7 +31,6 @@ from firedrake.parameters import parameters from firedrake.petsc import get_petsc_variables from firedrake.utils import complex_mode, ScalarType_c, as_cstr -from ufl.log import GREEN from gem.utils import groupby from gem import impero_utils from itertools import chain @@ -53,6 +52,8 @@ __all__ = ['compile_expression'] +GREEN = "\033[1;37;32m%s\033[0m" + try: PETSC_DIR, PETSC_ARCH = get_petsc_dir() diff --git a/firedrake/ufl_expr.py b/firedrake/ufl_expr.py index d2e86a76b1..369d8c1cbd 100644 --- a/firedrake/ufl_expr.py +++ b/firedrake/ufl_expr.py @@ -1,6 +1,5 @@ import ufl import ufl.argument -from ufl.assertions import ufl_assert from ufl.split_functions import split from ufl.algorithms import extract_arguments, extract_coefficients @@ -63,11 +62,10 @@ def reconstruct(self, function_space=None, if number is self._number and part is self._part \ and function_space is self.function_space(): return self - ufl_assert(isinstance(number, int), - "Expecting an int, not %s" % number) - ufl_assert(function_space.ufl_element().value_shape() - == self.ufl_element().value_shape(), - "Cannot reconstruct an Argument with a different value shape.") + if not isinstance(number, int): + raise TypeError(f"Expecting an int, not {number}") + if function_space.ufl_element().value_shape() != self.ufl_element().value_shape(): + raise ValueError("Cannot reconstruct an Argument with a different value shape.") return Argument(function_space, number, part=part) diff --git a/tests/extrusion/test_cellvolume_extrusion.py b/tests/extrusion/test_cellvolume_extrusion.py index e7ef8d7e23..e59107dd99 100644 --- a/tests/extrusion/test_cellvolume_extrusion.py +++ b/tests/extrusion/test_cellvolume_extrusion.py @@ -59,7 +59,7 @@ def test_miscellaneous(): assert np.allclose(assemble(CellVolume(mesh)('+')*dS_v), sqrt(2) - 1) assert np.allclose(assemble(CellVolume(mesh)('-')*dS_v), sqrt(2) - 1) - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(FacetArea(mesh)*dx) assert np.allclose(assemble(FacetArea(mesh)*ds_b), 0.5) diff --git a/tests/regression/test_cellcoordinate.py b/tests/regression/test_cellcoordinate.py index ef266e6f62..7ad8b7b82d 100644 --- a/tests/regression/test_cellcoordinate.py +++ b/tests/regression/test_cellcoordinate.py @@ -19,7 +19,7 @@ def test_cell_coordinate_ds(mesh): def test_cell_coordinate_dS_not_restricted(): mesh = UnitSquareMesh(1, 1) - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(CellCoordinate(mesh)[0]*dS) @@ -35,7 +35,7 @@ def test_cell_coordinate_dS(): def test_facet_coordinate_dx(mesh): - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(FacetCoordinate(mesh)[0]*dx) diff --git a/tests/regression/test_cellvolume.py b/tests/regression/test_cellvolume.py index 577ffa3a28..efb946f0bf 100644 --- a/tests/regression/test_cellvolume.py +++ b/tests/regression/test_cellvolume.py @@ -57,7 +57,7 @@ def test_miscellaneous(): assemble(CellVolume(mesh)('-')*dS)]), [1 - 1/sqrt(2), 1/sqrt(2)]) - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(FacetArea(mesh)*dx) assert np.allclose(assemble(FacetArea(mesh)*ds), 2*(3 - sqrt(2))) diff --git a/tests/regression/test_coordinatederivative.py b/tests/regression/test_coordinatederivative.py index 1c3b6622c5..9c0e719108 100644 --- a/tests/regression/test_coordinatederivative.py +++ b/tests/regression/test_coordinatederivative.py @@ -1,7 +1,6 @@ import pytest import numpy as np from firedrake import * -from ufl.log import UFLException @pytest.mark.skipif(utils.complex_mode, reason="Don't expect coordinate derivatives to work in complex") @@ -89,11 +88,11 @@ def test_integral_scaling_edge_case(): u = Function(V) J = u * u * dx - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(Constant(2.0) * derivative(J, X)) - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(derivative(Constant(2.0) * derivative(J, X), X)) - with pytest.raises(UFLException): + with pytest.raises(BaseException): assemble(Constant(2.0) * derivative(derivative(J, X), X))