← Back to team overview

ffc team mailing list archive

Re: Version 0.7.0 of FFC released

 



Shawn Walker wrote:
About that item:

Support for restriction of finite elements to only consider facet dofs

Is it now possible to have separate finite element spaces defined on a boundary?

No. It's only for all cell facets. Restriction to the boundary (or, in general, subdomains is trickier).

Garth

For example, a boundary multiplier space?

- Shawn

On Thu, 24 Sep 2009, Anders Logg wrote:

0.7.0
- Move contents of TODO to: https://blueprints.launchpad.net/ffc
- Support for restriction of finite elements to only consider facet dofs
- Use quadrature_order from metadata when integrating terms using tensor representation
- Use loop to reset the entries of the local element tensor
- Added new symbolic classes for quadrature optimisation (speed up compilation)
- Added demos: Biharmonic.ufl, div(grad(v)) term;
               ReactionDiffusion.ufl, tuple notation;
               MetaData.ufl, how to attach metadata to the measure;
               ElementRestriction.ufl, restriction of elements to facets
- Tabulate the coordinates of the integration points in the tabulate_tensor() function
- Change command line option '-f split_implementation' -> '-f split'
- Renaming of files and restructuring of the compiler directory
- Added option -q rule (--quadrature-rule rule) to specify which rule to use
  for integration of a given integral. (Can also bet set through the metadata
  through "quadrature_rule"). No rules have yet been implemented, so default
  is the FIAT rule.
- Remove support for old style .form files/format
0.6.2 [2009-04-07]
- Experimental support for UFL, supporting both .form and .ufl
- Moved configuration and construction of python extension module to ufc_module
0.6.1 [2009-02-18]
- Initial work on UFL transition
- Minor bug fixes
- The version of ufc and swig is included in the form signature
- Better system configuration for JIT compiled forms
- The JIT compiled python extension module use shared_ptr for all classes
0.6.0 [2009-01-05]
- Update DOLFIN output format (-l dolfin) for DOLFIN 0.9.0
- Cross-platform fixes for test scripts
- Minor bug fix for quadrature code generation (forms affected by this bug would not be able to compile
- Fix bug with output of *.py.
- Permit dot product bewteen rectangular matrices (Frobenius norm)
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
_______________________________________________
FFC-dev mailing list
FFC-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/ffc-dev

_______________________________________________
FFC-dev mailing list
FFC-dev@xxxxxxxxxx
http://www.fenics.org/mailman/listinfo/ffc-dev



References