diff --git a/tsfc/finatinterface.py b/tsfc/finatinterface.py index b0501356..e570bbea 100644 --- a/tsfc/finatinterface.py +++ b/tsfc/finatinterface.py @@ -146,8 +146,8 @@ def convert_finiteelement(element, **kwargs): if element.family() == "Lagrange": if kind == 'spectral': lmbda = finat.GaussLobattoLegendre - elif kind == 'integral': - lmbda = finat.IntegratedLegendre + elif kind.startswith('integral'): + lmbda = partial(finat.IntegratedLegendre, variant=kind) elif kind in ['fdm', 'fdm_ipdg'] and is_interval: lmbda = finat.FDMLagrange elif kind == 'fdm_quadrature' and is_interval: @@ -173,8 +173,8 @@ def convert_finiteelement(element, **kwargs): elif element.family() in ["Discontinuous Lagrange", "Discontinuous Lagrange L2"]: if kind == 'spectral': lmbda = finat.GaussLegendre - elif kind == 'integral': - lmbda = finat.Legendre + elif kind.startswith('integral'): + lmbda = partial(finat.Legendre, variant=kind) elif kind in ['fdm', 'fdm_quadrature'] and is_interval: lmbda = finat.FDMDiscontinuousLagrange elif kind == 'fdm_ipdg' and is_interval: diff --git a/tsfc/kernel_interface/common.py b/tsfc/kernel_interface/common.py index 73a76374..54aac54a 100644 --- a/tsfc/kernel_interface/common.py +++ b/tsfc/kernel_interface/common.py @@ -319,7 +319,7 @@ def set_quad_rule(params, cell, integral_type, functions): else: raise ValueError("Can't find a maximal complex") - fiat_cell = fiat_cell.construct_subcomplex(integration_dim) + integration_cell = fiat_cell.construct_subcomplex(integration_dim) quad_rule = make_quadrature(fiat_cell, quadrature_degree, scheme=scheme) params["quadrature_rule"] = quad_rule