=========================== 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 DOLFIN - Remove deprecated properties ``cell.{d,x,n,volume,circumradius,facet_area}`` - Remove ancient ``form2ufl`` script - Large reworking of symbolic geometry pipeline - Implement symbolic Piola mappings - ``OuterProductCell`` and ``OuterProductElement`` are merged into ``TensorProductCell`` and ``TensorProductElement`` respectively - Better 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 Piola`` in ``uflacs`` - Add support for the mapping ``double contravariant Piola`` in ``uflacs`` - Support for tensor-valued subelements in ``uflacs`` fixed - Replacing ``Discontinuous Lagrange Trace`` with ``HDiv Trace`` and removing ``TraceElement`` - Assigning ``Discontinuous Lagrange Trace`` and ``DGT`` as aliases for ``HDiv 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