optimize + quadrature + bubble => error

Issue #59 new
Jan Blechta created an issue

Originally reported as DOLFIN issue 173 by @nschloe.

When using the optimized form compiler in quadrature mode, bubble functions generate faulty C++ code.

MWE:

from dolfin import *

parameters["form_compiler"]["optimize"] = True
parameters["form_compiler"]["representation"] = "quadrature"

mesh = UnitSquareMesh(20, 20)
V0 = FunctionSpace(mesh, 'CG', 1)
V1 = FunctionSpace(mesh, 'B', 3)
V = V0 + V1

u = TestFunction(V)
v = TrialFunction(V)

a = dot(grad(u), grad(v)) * dx

assemble(a)

results in

RuntimeError: In instant.recompile: The module did not compile with command 'make VERBOSE=1', [...]

with

[...]
error: ‘j’ was not declared in this scope
       A[j] += FE0[ip][j]*I[0];

Comments (6)

  1. Martin Sandve Alnæs

    Can't reproduce this anymore:

    from dolfin import *
    
    parameters["form_compiler"]["optimize"] = True
    parameters["form_compiler"]["representation"] = "quadrature"
    
    mesh = UnitSquareMesh(20, 20)
    e0 = FiniteElement('CG', mesh.ufl_cell(), 1)
    e1 = FiniteElement('B', mesh.ufl_cell(), 3)
    e = EnrichedElement(e0, e1)
    V = FunctionSpace(mesh, e)
    
    u = TestFunction(V)
    v = TrialFunction(V)
    
    a = dot(grad(u), grad(v)) * dx
    
    assemble(a)
    
  2. Log in to comment