← Back to team overview

dolfin team mailing list archive

[Fwd: [Branch ~ufl-core/ufl/main] Rev 855: Allow degree = domain = None for all elements (not just quadrature elements)]

 

Is this desirable? Sounds dangerous to me.

Garth

-------- Original Message --------
Subject: [Branch ~ufl-core/ufl/main] Rev 855: Allow degree = domain =
None for	all elements (not just quadrature elements)
Date: Thu, 26 Nov 2009 10:11:09 -0000
From: noreply@xxxxxxxxxxxxx
Reply-To: noreply@xxxxxxxxxxxxx
To: Garth Wells <gnw20@xxxxxxxxx>

------------------------------------------------------------
revno: 855
committer: Anders Logg <logg@xxxxxxxxx>
branch nick: ufl-dev
timestamp: Thu 2009-11-26 11:09:31 +0100
message:
  Allow degree = domain = None for all elements (not just quadrature
elements)
modified:
  ChangeLog
  ufl/elementlist.py
  ufl/finiteelement.py


--
lp:ufl
https://code.launchpad.net/~ufl-core/ufl/main

Your team UFL Core Team is subscribed to branch lp:ufl.
To unsubscribe from this branch go to
https://code.launchpad.net/~ufl-core/ufl/main/+edit-subscription.



=== modified file 'ChangeLog'
--- ChangeLog	2009-11-16 11:39:37 +0000
+++ ChangeLog	2009-11-26 10:09:31 +0000
@@ -1,4 +1,4 @@
- - Allow degree = None for quadrature elements
+ - Allow degree = None and cell = None for elements
 0.4.0 [2009-09-23]
  - Extensions for ElementRestriction (restrict FiniteElement to Cell)
  - Bug fix for lhs/rhs with list tensor types

=== modified file 'ufl/elementlist.py'
--- ufl/elementlist.py	2009-11-18 21:46:13 +0000
+++ ufl/elementlist.py	2009-11-26 10:09:31 +0000
@@ -61,12 +61,8 @@
 register_element("Nedelec 2nd kind H(curl)", "N2curl", 1, (1, None),
                  ("triangle", "tetrahedron"))
 
-# Note (None, None) range for quadrature elements, allowing the degree
-# to not be specified at the time of construction but instead
-# automatically selected by a form compiler at compilation time.
-
-register_element("Quadrature", "Q", 0, (None, None),
+register_element("Quadrature", "Q", 0, (0, None),
                  (None, "interval", "triangle", "tetrahedron", "quadrilateral", "hexahedron"))
 
-register_element("Boundary Quadrature", "BQ", 0, (None, None),
+register_element("Boundary Quadrature", "BQ", 0, (0, None),
                  (None, "interval", "triangle", "tetrahedron", "quadrilateral", "hexahedron"))

=== modified file 'ufl/finiteelement.py'
--- ufl/finiteelement.py	2009-11-18 21:46:13 +0000
+++ ufl/finiteelement.py	2009-11-26 10:09:31 +0000
@@ -101,11 +101,11 @@
 
         # Check that element data is valid (and also get common family name)
         (family, self._short_name, value_rank, (kmin, kmax), domains) = ufl_elements[family]
-        ufl_assert(domain in domains,
+        ufl_assert(domain in domains or domain is None,
                    'Domain "%s" invalid for "%s" finite element.' % (domain, family))
-        ufl_assert(kmin is None or degree >= kmin,
+        ufl_assert(kmin is None or degree >= kmin or degree is None,
                    'Degree "%s" invalid for "%s" finite element.' % (istr(degree), family))
-        ufl_assert(kmax is None or degree <= kmax,
+        ufl_assert(kmax is None or degree <= kmax or degree is None,
                    'Degree "%s" invalid for "%s" finite element.' % (istr(degree), family))
 
         # Set value dimension (default to using domain dimension in each axis)