← Back to team overview

fenics-buildbot team mailing list archive

buildbot failure in FEniCS Project on dolfin-trunk-full-lucid-amd64

 

The Buildbot has detected a new failure on builder dolfin-trunk-full-lucid-amd64 while building FEniCS Project.
Full details are available at:
 http://fenicsproject.org:8010/builders/dolfin-trunk-full-lucid-amd64/builds/333

Buildbot URL: http://fenicsproject.org:8010/

Buildslave for this Build: lucid-amd64

Build Reason: 'try' job by user Martin
Build Source Stamp: HEAD (plus patch)
Blamelist: Martin

BUILD FAILED: failed bzr

sincerely,
 -The Buildbot



=== modified file 'ChangeLog'
--- ChangeLog	2012-11-30 12:08:34 +0000
+++ ChangeLog	2012-12-11 15:06:14 +0000
@@ -1,6 +1,7 @@
 1.1.x [2012-12-??]
  - Add support for measure sum notation f*(dx(0) + dx(3)) == f*dx(0) + f*dx(3)
  - Supporting code for bugfix in PyDOLFIN when comparing test/trial functions
+ - Remove support for tuple form notation as this was ambiguous
 1.1-alpha-prerelease [2012-11-18]
 (Not released, snapshot archived with submission of UFL journal paper)
  - Support adding 0 to forms, allowing sum([a])

=== removed file 'demo/TupleNotation.ufl'
--- demo/TupleNotation.ufl	2009-12-08 15:59:29 +0000
+++ demo/TupleNotation.ufl	1970-01-01 00:00:00 +0000
@@ -1,15 +0,0 @@
-#
-# Author: Martin Sandve Alnes
-# Date: 2009-03-31
-#
-
-element = FiniteElement("Lagrange", triangle, 1)
-
-v = TestFunction(element)
-u = TrialFunction(element)
-f = Coefficient(element)
-g = Coefficient(element)
-h = Coefficient(element)
-
-a = (u, v) + (grad(u), grad(v), dx(1)) + (-f, v) + (-g, v, ds(0)) + (h - u, v, ds(1))
-a, L = lhs(a), rhs(a)

=== modified file 'ufl/algorithms/__init__.py'
--- ufl/algorithms/__init__.py	2012-05-23 09:22:59 +0000
+++ ufl/algorithms/__init__.py	2012-12-11 15:04:44 +0000
@@ -81,7 +81,7 @@
 from ufl.algorithms.graph import Graph, format_graph, rebuild_tree, partition # TODO: Add more imports here
 
 # Utilities for tuple notation
-from ufl.algorithms.tuplenotation import tuple2form, as_form
+from ufl.algorithms.tuplenotation import as_form
 
 # Utilities for UFL object printing
 from ufl.algorithms.printing import integral_info, form_info, tree_format

=== modified file 'ufl/algorithms/formfiles.py'
--- ufl/algorithms/formfiles.py	2012-04-12 08:30:50 +0000
+++ ufl/algorithms/formfiles.py	2012-12-11 15:02:02 +0000
@@ -23,7 +23,7 @@
 # Modified by Marie E. Rognes, 2011.
 #
 # First added:  2008-03-14
-# Last changed: 2012-04-12
+# Last changed: 2012-12-11
 
 import os, re
 from ufl.log import error, warning
@@ -33,7 +33,6 @@
 from ufl.expr import Expr
 from ufl.argument import Argument
 from ufl.coefficient import Coefficient
-from ufl.algorithms.tuplenotation import as_form
 
 class FileData(object):
     def __init__(self):
@@ -111,12 +110,6 @@
     # because we need to distinguish between instances,
     # and not just between objects with different values.
     for name, value in namespace.iteritems():
-        # Map tuples to forms if possible
-        if isinstance(value, tuple):
-            value = as_form(value)
-            if not isinstance(value, Form):
-                continue
-
         # Store objects by reserved name OR instance id
         reserved_names = ("unknown",) # Currently only one reserved name
         if name in reserved_names:

=== modified file 'ufl/algorithms/tuplenotation.py'
--- ufl/algorithms/tuplenotation.py	2012-05-23 09:22:59 +0000
+++ ufl/algorithms/tuplenotation.py	2012-12-11 15:04:20 +0000
@@ -1,4 +1,4 @@
-"Algorithms for tuple notation a = (v, u) + (grad(v), grad(u))."
+"Deprecated file."
 
 # Copyright (C) 2008-2012 Anders Logg
 #
@@ -22,70 +22,8 @@
 
 from ufl.log import error
 from ufl.form import Form
-from ufl.integral import Measure, Integral
-from ufl.operators import inner
-from ufl.objects import dx
-
-def tuple2form(objects):
-    "Convert given tuple (or list) to a UFL form."
-
-    # Make sure we get a list or tuple
-    if not isinstance(objects, (list, tuple)):
-        error("Unable to extract UFL form, expecting a tuple: %s" % repr(objects))
-
-    # Operands
-    v = w = None
-
-    # Iterate over objects and extract integrals
-    integrals = []
-    for object in objects:
-
-        # Found plain integral, just append
-        if isinstance(object, Integral):
-            integrals.append(object)
-
-        # Found measure, append inner(v, w)*dm
-        elif isinstance(object, Measure):
-            dm = object
-            if v is None or w is None:
-                error("Unable to extract UFL form, found measure without matching integrands: " + str(dm))
-            else:
-                form = inner(v, w)*dm
-                integrals += form.integrals()
-                v = w = None
-
-        # Found first operand, store v
-        elif v is None and w is None:
-            v = object
-
-        # Found second operand, store w
-        elif w is None:
-            w = object
-
-        # Found new operand, assume measure is dx
-        elif not v is None and not w is None:
-            form = inner(v, w)*dx
-            integrals += form.integrals()
-            v = object
-            w = None
-
-        # Default case, should not get here
-        else:
-            error("Unable to extract UFL form, expression does not make sense: %s" % repr(objects))
-
-    # Add last inner product if any
-    if not v is None and not w is None:
-        form = inner(v, w)*dx
-        integrals += form.integrals()
-
-    # Create Form from integrals
-    form = Form(integrals)
-
-    return form
-
-# TODO: This might fit better in form.py but I wasn't able
-# TODO: to place it there because of a recursive import.
-
+
+# TODO: Move this to form.py or some other file, or just get rid of calls to it
 def as_form(form):
     "Convert to form if not a form, otherwise return form."
 
@@ -93,8 +31,4 @@
     if isinstance(form, Form):
         return form
 
-    # Check for tuple
-    if isinstance(form, tuple):
-        return tuple2form(form)
-
     error("Unable to convert object to a UFL form: %s" % repr(form))