fenics-buildbot team mailing list archive
-
fenics-buildbot team
-
Mailing list archive
-
Message #00322
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))