Changes in version 2016.2.0¶
UFL 2016.2.0 was released on 2016-11-30.
Summary of changes¶
Deprecate
.cell(),.domain(),.element()in favour of.ufl_cell(),.ufl_domain(),.ufl_element(), in multiple classes, to allow closer integration with DOLFINRemove deprecated properties
cell.{d,x,n,volume,circumradius,facet_area}Remove ancient
form2uflscriptLarge reworking of symbolic geometry pipeline
Implement symbolic Piola mappings
OuterProductCellandOuterProductElementare merged intoTensorProductCellandTensorProductElementrespectivelyBetter degree estimation for quadrilaterals
Expansion rules for Q, DQ, RTCE, RTCF, NCE and NCF on tensor product cells
Add discontinuous Taylor elements
Add support for the mapping
double covariant PiolainuflacsAdd support for the mapping
double contravariant PiolainuflacsSupport for tensor-valued subelements in
uflacsfixedReplacing
Discontinuous Lagrange TracewithHDiv Traceand removingTraceElementAssigning
Discontinuous Lagrange TraceandDGTas aliases forHDiv Trace
Detailed changes¶
Add call operator syntax to Form to replace arguments and coefficients. This makes it easier to e.g. express the norm defined by a bilinear form as a functional. Example usage:
# Equivalent to replace(a, {u: f, v: f}) M = a(f, f) # Equivalent to replace(a, {f:1}) c = a(coefficients={f:1})
- Add call operator syntax to Form to replace arguments and coefficients::
 a(f, g) == replace(a, {u: f, v: g}) a(coefficients={f:1}) == replace(a, {f:1})
Add @ operator to Form: form @ f == action(form, f) (python 3.5+ only)
Reduce noise in Mesh str such that print(form) gets more short and readable
Fix repeated split(function) for arbitrary nested elements
- EnrichedElement: Remove +/* warning
 In the distant past, A + B => MixedElement([A, B]). The change that A + B => EnrichedElement([A, B]) was made in d622c74 (22 March 2010). A warning was introduced in fcbc5ff (26 March 2010) that the meaning of “+” had changed, and that users wanting a MixedElement should use “*” instead. People have, presumably, been seeing this warning for 6 1/2 years by now, so it’s probably safe to remove.
Rework TensorProductElement implementation, replaces OuterProductElement
Rework TensorProductCell implementation, replaces OuterProductCell
Remove OuterProductVectorElement and OuterProductTensorElement
Add FacetElement and InteriorElement
Add Hellan-Herrmann-Johnson element
Add support for double covariant and contravariant mappings in mixed elements
Support discontinuous Taylor elements on all simplices
Some more performance improvements
Minor bugfixes
Improve Python 3 support
More permissive in integer types accepted some places
Make ufl pass almost all flake8 tests
Add bitbucket pipelines testing
Improve documentation