Subject: [FFC-dev] Version 0.5.1 of FFC released

From: "Garth N. Wells" <[email-masked]>
Date: Mon, 20 Oct 2008 22:28:23 +0100

0.5.1 [2008-10-20]
  - New operator skew()
  - Allow JIT compilation of elements and dof maps
  - Rewrite JIT compiler to rely on Instant for caching
  - Display flop count for evaluating the element tensor during compilation
  - Add arguments language and representation to options dictionary
  - Fix installation on Windows
  - Add option -f split_implementation for separate .h and .cpp files
0.5.0 [2008-06-23]
  - Remove default restriction +/- for Constant
  - Make JIT optimization (-O0 / -O2) optional
  - Add in-memory cache to speed up JIT compiler for repeated assembly
  - Allow subdomain integrals without needing full range of integrals
  - Allow simple subdomain integral specification dx(0), dx(1), ds(0) etc
0.4.5 [2008-04-30]
  - Optimizations in generated quadrature code
  - Change formatting of floats from %g to %e, fixes problem with too 
long integers
  - Bug fix for order of values in interpolate_vertex_values, now 
according to UFC
  - Speed up JIT compiler
  - Add index ranges to form printing
  - Throw runtime error in functions not generated
  - Update DOLFIN format for new location of include files
0.4.4 [2008-02-18]
  - RT, BDM, BDFM and Nedelec now working in 2D and 3D
  - New element type QuadratureElement
  - Add support for 1D elements
  - Add experimental support for new Darcy-Stokes element
  - Use FIAT transformed spaces instead of mapping in FFC
  - Updates for UFC 1.1
  - Implement caching of forms/modules in ~/.ffc/cache for JIT compiler
  - Add script ffc-clean
  - New operators lhs() and rhs()
  - Bug fixes in simplify
  - Bug fixes for Nedelec and BDFM
  - Fix bug in mult()
  - Fix bug with restrictions on exterior facet integrals
  - Fix bug in grad() for vectors
  - Add divergence operator for matrices
0.4.3 [2007-10-23]
  - Require FIAT to use UFC reference cells
  - Fix bug in form simplification
  - Rename abs --> modulus to avoid conflict with builtin abs
  - Fix bug in operators invert, abs, sqrt
  - Fix bug in integral tabulation
  - Add BDFM and Nedelec elements (nonworking)
  - Fix bug in JIT compiler
0.4.2 [2007-08-31]
  - Change license from GPL v2 to GPL v3 or later
  - Add JIT (just-in-time) compiler
  - Fix bug for constants on interior facets
0.4.1 [2007-06-22]
  - Fix bug in simplification of forms
  - Optimize removal of unused terms in code formattting
0.4.0 [2007-06-20]
  - Move to UFC interface for code generation
  - Major rewrite, restructure, cleanup
  - Add support for Brezzi-Douglas-Marini (BDM) elements
  - Add support for Raviart-Thomas (RT) elements
  - Add support for Discontinuous Galerkin (DG) methods
  - Operators jump() and avg()
  - Add quadrature compilation mode (experimental)
  - Simplification of forms
  - Operators sqrt(), abs() and inverse
  - Improved Python interface
  - Add flag -f precision=n
  - Generate code for basis functions and derivatives
  - Use Set from set module for Python2.3 compatibility
0.3.5 [2006-12-01]
  - Bug fixes
  - Move from Numeric to numpy
0.3.4 [2006-10-27]
  - Updates for new DOLFIN mesh library
  - Add support for evaluation of functionals
  - Add operator outer() for outer product of vector-valued functions
  - Enable optimization of linear forms (in addition to bilinear forms)
  - Remove DOLFIN SWIG format
  - Fix bug in ffc -v/--version (thanks to Ola Skavhaug)
  - Consolidate DOLFIN and DOLFIN SWIG formats (patch from Johan Jansson)
  - Fix bug in optimized compilation (-O) for some forms ("too many 
values to unpack")
0.3.3 [2006-09-05]
  - Fix bug in operator div()
  - Add operation count (number of multiplications) with -d0
  - Add hint for printing more informative error messages (flag -d1)
  - Modify implementation of vertexeval()
  - Add support for boundary integrals (Garth N. Wells)
0.3.2 [2006-04-01]
  - Add support for FErari optimizations, new flag -O
0.3.1 [2006-03-28]
  - Remove verbose output: silence means success
  - Generate empty boundary integral eval() to please Intel C++ compiler
  - New classes TestFunction and TrialFunction
0.3.0 [2006-03-01]
  - Work on manual, document command-line and user-interfaces
  - Name change: u --> U
  - Add compilation of elements without form
  - Add generation of FiniteElementSpec in DOLFIN formats
  - Fix bugs in raw and XML formats
  - Fix bug in LaTeX format
  - Fix path and predefine tokens to enable import in .form file
  - Report number of entries in reference tensor during compilation
0.2.5 [2005-12-28]
  - Add demo Stabilization.form
  - Further speedup computation of reference tensor (use ufunc Numeric.add)
0.2.4 [2005-12-05]	
  - Report time taken to compute reference tensor
  - Restructure computation of reference tensor to use less memory.
    As a side effect, the speed has also been improved.	
  - Update for DOLFIN name change node --> vertex
  - Update finite element interface for DOLFIN
  - Check for FIAT bug in discontinuous vector Lagrange elements
  - Fix signatures for vector-valued elements
0.2.3 [2005-11-28]
  - New fast Numeric/BLAS based algorithm for computing reference tensor
  - Bug fix: reassign indices for complete subexpressions
  - Bug fix: operator Function * Integral
  - Check tensor notation for completeness
  - Bug fix: mixed elements with more than two function spaces
  - Don't declare unused coefficients (or gcc will complain)
0.2.2 [2005-11-14]
  - Add command-line argument -v / --version
  - Add new operator mean() for projection onto piecewise constants
  - Add support for projections
  - Bug fix for higher order mixed elements: declaration of 
edge/face_ordering
  - Generate code for sub elements of mixed elements
  - Add new test form: TensorWeighteLaplacian
  - Add new test form: EnergyNorm
  - Fix bugs in mult() and vec() (skavhaug)
  - Reset correct entries of G for interior in BLAS mode
  - Only assign to entries of G that meet nonzero entries of A in BLAS mode
0.2.1 [2005-10-11]
  - Only generate declarations that are needed according to format
  - Check for missing options and add missing default options
  - Simplify usage of FFC as Python module: from ffc import *
  - Fix bug in division with constants
  - Generate output for BLAS (with option -f blas)
  - Add new XML output format
  - Remove command-line option --license (collect in compiler options -f)
  - Modify demo Mass.form to use 3:rd order Lagrange on tets
  - Fix bug in dofmap() for equal order mixed elements
  - Add compiler option -d debuglevel
  - Fix Python Numeric bug: vdot --> dot
0.2.0 [2005-09-23]
  - Generate function vertexeval() for evaluation at vertices
  - Add support for arbitrary mixed elements
  - Add man page
  - Work on manual, chapters on form language, quickstart and installation
  - Handle exceptions gracefully in command-line interface
  - Use new template fenicsmanual.cls for manual
  - Add new operators grad, div, rot (curl), D, rank, trace, dot, cross
  - Factorize common reference tensors from terms with equal signatures
  - Collect small building blocks for form algebra in common module 
tokens.py
0.1.9 [2005-07-05]
  - Complete support for general order Lagrange elements on triangles 
and tetrahedra
  - Compute reordering of dofs on tets correctly
  - Update manual with ordering of dofs
  - Break compilation into two phases: build() and write()
  - Add new output format ASE (Matt Knepley)
  - Improve python interface to FFC
  - Remove excessive logging at compilation
  - Fix bug in raw output format
0.1.8 [2005-05-17]
  - Access data through map in DOLFIN format
  - Experimental support for computation of coordinate maps
  - Add first draft of manual
  - Experimental support for computation of dof maps
  - Allow specification of the number of components for vector Lagrange
  - Count the number of zeros dropped
  - Fix bug in handling command-line arguments
  - Use module sets instead of built-in set (fix for Python 2.3)
  - Handle constant indices correctly (bug reported by Garth N. Wells)
0.1.7 [2005-05-02]
  - Write version number to output
  - Add command-line option for choosing license
  - Display usage if no input is given
  - Bug fix for finding correct prefix of file name
  - Automatically choose name of output file (if not supplied)
  - Use FIAT tabulation mode for vector-valued elements (speedup a factor 5)
  - Use FIAT tabulation mode for scalar elements (speedup a factor 1000)
  - Fig bug in demo elasticity.form (change order of u and v)
  - Make references to constants const in DOLFIN format
  - Don't generate code for unused entries of geometry tensor
  - Update formats to write numeric constants with full precision
0.1.6 [2005-03-17]
  - Add support for mixing multiple different finite elements
  - Add support for division with constants
  - Fix index bug (reverse order of multi-indices)
0.1.5 [2005-03-14]
  - Automatically choose the correct quadrature rule for precomputation
  - Add test program for verification of FIAT quadrature rules
  - Fix bug for derivative of sum
  - Improve common interface for debugging: add indentation
  - Add support for constants
  - Fix bug for sums of more than one term (make copies of references in 
lists)
  - Add '_' in naming of geometry tensor (needed for large dimensions)
  - Add example elasticity.form
  - Cleanup build_indices()
0.1.4-1 [2005-02-07]
  - Fix version number and remove build directory from tarball
0.1.4 [2005-02-04]
  - Fix bug for systems, seems to work now
  - Add common interface for debugging
  - Modify DOLFIN output to initialize functions
  - Create unique numbers for each function
  - Use namespaces for DOLFIN output instead of class names
  - Temporary implementation of dof mapping for vector-valued elements
  - Make DOLFIN output format put entries into PETSc block
  - Change name of coefficient data: c%d[%d] -> c[%d][%d]
  - Change ordering of basis functions (one component at a time)
  - Add example poissonsystem.form
  - Modifications for new version of FIAT (FIAT-L)
    FIAT version 0.1 a factor 5 slower (no memoization)
    FIAT version 0.1.1 a little faster, only a factor 2 slower
  - Add setup.py script
0.1.3 [2004-12-06]
  - Fix bug in DOLFIN format (missing value when zero)
  - Add output of reference tensor to LaTeX format
  - Make raw output format print data with full precision
  - Add component diagram
  - Change order of declaration of basis functions
  - Add new output format raw
0.1.2 [2004-11-17]
  - Add command-line interface ffc
  - Add support for functions (coefficients)
  - Add support for constants
  - Allow multiple forms (left- and right-hand side) in same file
  - Add test examples: poisson.form, mass.form, navierstokes.form
  - Wrap FIAT to create vector-valued finite element spaces
  - Check ranks of operands
  - Clean up algebra, add base class Element
  - Add some documentation (class diagram)
  - Add support for LaTeX output
0.1.1-1 [2004-11-10]
  - Add missing file declaration.py
0.1.1 [2004-11-10]
  - Make output variable names configurable
  - Clean up DOLFIN code generation
  - Post-process form to create reference, geometry, and element tensors
  - Experimental support for general tensor-valued elements
  - Clean up and improve index reassignment
  - Use string formatting for generation of output
  - Change index ordering to access row-wise
0.1.0 [2004-10-22]
  - First iteration of the FEniCS Form Compiler

---

From: Shawn Walker <[email-masked]>
Date: Mon, 20 Oct 2008 18:47:07 -0400 (EDT)

The 'test.py' script under ./ffc/test gives errors because of some minor 
differences with comments related to Version 0.5.1.

- Shawn

---

From: "Garth N. Wells" <[email-masked]>
Date: Tue, 21 Oct 2008 08:28:43 +0100

> differences with comments related to Version 0.5.1.

Fixed now. I've updated the tar ball.

Garth