metadata kwarg of Measure ignored

Issue #85 invalid
Jan Blechta created an issue
from dolfin import *
import instant
instant.set_log_level(1)
mesh = UnitSquareMesh(1, 1)
V = FunctionSpace(mesh, "CG", 1)
u = Function(V)
F = u*dx(metadata={'representation': 'quadrature', 'optimize': True})
assemble(F)

generates code

// This code was generated with the following parameters:
// 
//   convert_exceptions_to_warnings: False
//   cpp_optimize:                   True
//   cpp_optimize_flags:             '-O2'
//   epsilon:                        1e-14
//   error_control:                  False
//   form_postfix:                   False
//   format:                         'ufc'
//   no-evaluate_basis_derivatives:  True
//   optimize:                       False
//   precision:                      15
//   quadrature_degree:              -1
//   quadrature_rule:                'auto'
//   representation:                 'auto'
//   split:                          False

Comments (7)

  1. Jan Blechta reporter

    Actually, not everything is ignored, but comment with parameters does not count for metadata.

    from dolfin import *
    import instant
    instant.set_log_level(1)
    mesh = UnitSquareMesh(1, 1)
    V = FunctionSpace(mesh, "CG", 1)
    u = Function(V)
    
    # Generates same code!
    F = u*dx(metadata={'representation': 'quadrature', 'optimize': True})
    assemble(F)
    F = u*dx(metadata={'representation': 'quadrature', 'optimize': False})
    assemble(F)
    
    # Generates different code
    F = u*dx(metadata={'representation': 'quadrature', 'optimize': True})
    assemble(F)
    F = u*dx(metadata={'representation': 'uflacs'})
    assemble(F)
    

    representation is not ignored but optimize seems to be ignored.

  2. Martin Sandve Alnæs

    At first I was open to this being my fault but it never worked.

    git blame ffc/analysis.py shows:

    f96444d2 (Anders Logg          2010-01-21 21:56:39 +0100 288)     # Recognized metadata keys
    575449b3 (Kristian B. Ølgaard  2010-01-25 11:37:12 +0100 289)     metadata_keys = ("representation", "quadrature_degree", "quadrature_rule")
    
  3. Log in to comment