diff --git a/Jenkinsfile b/Jenkinsfile index 48ffe63303..392d38c048 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -40,7 +40,7 @@ pipeline { sh 'mkdir tmp' dir('tmp') { timestamps { - sh '../scripts/firedrake-install $COMPLEX --tinyasm --disable-ssh --minimal-petsc --slepc --documentation-dependencies --install thetis --install gusto --install icepack --install irksome --no-package-manager || (cat firedrake-install.log && /bin/false)' + sh '../scripts/firedrake-install $COMPLEX --tinyasm --disable-ssh --minimal-petsc --slepc --documentation-dependencies --install thetis --install gusto --install icepack --install irksome --no-package-manager --package-branch tsfc ksagiyam/tsfc_refactor --package-branch firedrake ksagiyam/tsfc_refactor || (cat firedrake-install.log && /bin/false)' } } } diff --git a/firedrake/mg/kernels.py b/firedrake/mg/kernels.py index da7da9138b..3739830ba9 100644 --- a/firedrake/mg/kernels.py +++ b/firedrake/mg/kernels.py @@ -19,11 +19,11 @@ import ufl import tsfc +from tsfc.kernel_interface.common import lower_integral_type import tsfc.kernel_interface.firedrake as firedrake_interface from tsfc.coffee import generate as generate_coffee from tsfc import fem, ufl_utils, spectral -from tsfc.driver import lower_integral_type from tsfc.parameters import default_parameters from tsfc.finatinterface import create_element from finat.quadrature import make_quadrature @@ -530,11 +530,22 @@ def dg_injection_kernel(Vf, Vc, ncell): Vce = create_element(Vc.ufl_element()) - coarse_builder = firedrake_interface.KernelBuilder("cell", "otherwise", 0, ScalarType_c) - coarse_builder.set_coordinates(Vc.mesh()) - argument_multiindices = (Vce.get_indices(), ) + class _IntegralData(object): + def __init__(self, Vc): + self.domain = Vc.mesh() + self.integral_type = "cell" + self.subdoamin_id = "otherwise" + self.domain_number = 0 + self.coefficients = () + self.coefficient_numbers = () + self.integrals = () + self._integral_to_form_data_map = {} + self.arguments = (ufl.TestFunction(Vc), ) + + coarse_builder = firedrake_interface.KernelBuilder(_IntegralData(Vc), ScalarType_c, parameters["scalar_type"]) + argument_multiindices = coarse_builder.argument_multiindices argument_multiindex, = argument_multiindices - return_variable, = coarse_builder.set_arguments((ufl.TestFunction(Vc), ), argument_multiindices) + (return_variable, ) = coarse_builder.return_variables integration_dim, entity_ids = lower_integral_type(Vce.cell, "cell") # Midpoint quadrature for jacobian on coarse cell.