File: ChangeLog

package info (click to toggle)
ffc 0.9.3-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 31,928 kB
  • ctags: 5,610
  • sloc: cpp: 200,834; python: 14,417; perl: 351; makefile: 21; sh: 6
file content (305 lines) | stat: -rw-r--r-- 14,296 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
0.9.3 [2010-07-01]
 - Make global_dimension for Real return an int instead of double, bug # 592088
 - Add support for facet normal in 1D.
 - Expose -feliminate_zeros for quadrature optimisations to give user more 
   control
 - Remove return of form in compile_form
 - Remove object_names argument to compile_element
 - Rename ElementUnion -> EnrichedElement
 - Add support for tan() and inverse trigonometric functions
 - Added support for ElementUnion (i.e. span of combinations of elements)
 - Added support for Bubble elements
 - Added support for UFL.SpatialCoordinate.
0.9.2 [2010-02-17]
 - Bug fix in removal of unused variables in Piola-mapped terms for tensor 
   representation
0.9.1 [2010-02-15]
 - Add back support for FErari optimizations
 - Bug fixes in JIT compiler
0.9.0 [2010-02-02]
 - Updates for FIAT 0.9.0
 - Updates for UFC 1.4.0 (now supporting the full interface)
 - Automatic selection of representation
 - Change quadrature_order --> quadrature_degree
 - Split compile() --> compile_form(), compile_element()
 - Major cleanup and reorganization of code (flatter directories)
 - Updates for changes in UFL: Argument, Coefficient, FormData
0.7.1
 - Handle setting quadrature degree when it is set to None in UFL form
 - Added demo: HyperElasticity.ufl
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