0.9.4 [2009-10-12] - Remove set, get and operator() methods from MeshFunction - Added const and none const T &operator[uint/MeshEntity] to MeshFunction - More clean up in SWIG interface files, remove global renames and ignores - Update Python interface to Expression, with extended tests for value ranks - Removed DiscreteFunction class - Require value_shape and geometric_dimension in Expression - Introduce new class Expression replacing user-defined Functions - interpolate_vertex_values --> compute_vertex_values - std::map<std::string, Coefficient> replaces generated CoefficientSet code - Cleanup logic in Function class as a result of new Expression class - Introduce new Coefficient base class for form coefficients - Replace CellSize::min,max by Mesh::hmin,hmax - Use MUMPS instead of UMFPACK as default direct solver in both serial and parallel - Fix bug in SystemAssembler - Remove support for PETSc 2.3 and support PETSc 3.0.0 only - Remove FacetNormal Function. Use UFL facet normal instead. - Add update() function to FunctionSpace and DofMap for use in adaptive mesh refinement - Require mesh in constructor of functionals (C++) or argument to assemble (Python) 0.9.3 [2009-09-25] - Add global parameter "ffc_representation" for form representation in FFC JIT compiler - Make norm() function handle both vectors and functions in Python - Speedup periodic boundary conditions and make work for mixed (vector-valued) elements - Add possibilities to use any number numpy array when assigning matrices and vectors - Add possibilities to use any integer numpy array for indices in matrices and vectors - Fix for int typemaps in PyDOLFIN - Split mult into mult and transpmult - Filter out PETSc argument when parsing command-line parameters - Extend comments to SWIG interface files - Add copyright statements to SWIG interface files (not finished yet) - Add typemaps for misc std::vector<types> in PyDOLFIN - Remove dependencies on std_vector.i reducing SWIG wrapper code size - Use relative %includes in dolfin.i - Changed names on SWIG interface files dolfin_foo.i -> foo.i - Add function interpolate() in Python interface - Fix typmaps for uint in python 2.6 - Use TypeError instead of ValueError in typechecks in typmaps.i - Add in/out shared_ptr<Epetra_FEFoo> typemaps for PyDOLFIN - Fix JIT compiling in parallel - Add a compile_extension_module function in PyDOLFIN - Fix bug in Python vector assignment - Add support for compressed base64 encoded VTK files (using zlib) - Add support for base64 encoded VTK files - Experimental support for parallel assembly and solve - Bug fix in project() function, update to UFL syntax - Remove disp() functions and replace by info(foo, true) - Add fem unit test (Python) - Clean up SystemAssembler - Enable assemble_system through PyDOLFIN - Add 'norm' to GenericMatrix - Efficiency improvements in NewtonSolver - Rename NewtonSolver::get_iteration() to NewtonSolver::iteration() - Improvements to EpetraKrylovSolver::solve - Add constructor Vector::Vector(const GenericVector& x) - Remove SCons deprecation warnings - Memory leak fix in PETScKrylovSolver - Rename dolfin_assert -> assert and use C++ version - Fix debug/optimise flags - Remove AvgMeshSize, InvMeshSize, InvFacetArea from SpecialFunctions - Rename MeshSize -> CellSize - Rewrite parameter system with improved support for command-line parsing, localization of parameters (per class) and usability from Python - Remove OutflowFacet from SpecialFunctions - Rename interpolate(double*) --> interpolate_vertex_values(double*) - Add Python version of Cahn-Hilliard demo - Fix bug in assemble.py - Permit interpolation of functions between non-matching meshes - Remove Function::Function(std::string filename) - Transition to new XML io - Remove GenericSparsityPattern::sort - Require sorted/unsorted parameter in SparsityPattern constructor - Improve performance of SparsityPattern::insert - Replace enums with strings for linear algebra and built-in meshes - Allow direct access to Constant value - Initialize entities in MeshEntity constructor automatically and check range - Add unit tests to the memorycheck - Add call to clean up libxml2 parser at exit - Remove unecessary arguments in DofMap member functions - Remove reference constructors from DofMap, FiniteElement and FunctionSpace - Use a shared_ptr to store the mesh in DofMap objects - Interface change for wrapper code: PoissonBilinearForm --> Poisson::BilinearForm - Add function info_underline() for writing underlined messages - Rename message() --> info() for "compatibility" with Python logging module - Add elementwise multiplication in GeneriVector interface - GenericVector interface in PyDOLFIN now support the sequence protocol - Rename of camelCaps functions names: fooBar --> foo_bar Note: mesh.numVertices() --> mesh.num_vertices(), mesh.numCells() --> mesh.num_cells() - Add slicing capabilities for GenericMatrix interface in PyDOLFIN (only getitem) - Add slicing capabilities for GenericVector interface in PyDOLFIN - Add sum to GenericVector interface 0.9.2 [2009-04-07] - Enable setting parameters for Newton solver in VariationalProblem - Simplified and improved implementation of C++ plotting, calling Viper on command-line - Remove precompiled elements and projections - Automatically interpolate user-defined functions on assignment - Add new built-in function MeshCoordinates, useful in ALE simulations - Add new constructor to Function class, Function(V, "vector.xml") - Remove class Array (using std::vector instead) - Add vector_mapping data to MeshData - Use std::vector instead of Array in MeshData - Add assignment operator and copy constructor for MeshFunction - Add function mesh.move(other_mesh) for moving mesh according to matching mesh (for FSI) - Add function mesh.move(u) for moving mesh according to displacement function (for FSI) - Add macro dolfin_not_implemented() - Add new interpolate() function for interpolation of user-defined function to discrete - Make _function_space protected in Function - Added access to crs data from python for uBLAS and MTL4 backendg 0.9.1 [2009-02-17] - Check Rectangle and Box for non-zero dimensions - ODE solvers now solve the dual problem - New class SubMesh for simple extraction of matching meshes for sub domains - Improvements of multiprecision ODE solver - Fix Function class copy constructor - Bug fixes for errornorm(), updates for new interface - Interface update for MeshData: createMeshFunction --> create_mesh_function etc - Interface update for Rectangle and Box - Add elastodynamics demo - Fix memory leak in IntersectionDetector/GTSInterface - Add check for swig version, in jit and compile functions - Bug fix in dolfin-order script for gzipped files - Make shared_ptr work across C++/Python interface - Replace std::tr1::shared_ptr with boost::shared_ptr - Bug fix in transfinite mean-value interpolation - Less annoying progress bar (silent when progress is fast) - Fix assignment operator for MeshData - Improved adaptive mesh refinement (recursive Rivara) producing better quality meshes 0.9.0 [2009-01-05] - Cross-platform fixes - PETScMatrix::copy fix - Some Trilinos fixes - Improvements in MeshData class - Do not use initial guess in Newton solver - Change OutflowFacet to IsOutflowFacet and change syntax - Used shared_ptr for underling linear algebra objects - Cache subspaces in FunctionSpace - Improved plotting, now support plot(grad(u)), plot(div(u)) etc - Simple handling of JIT-compiled functions - Sign change (bug fix) in increment for Newton solver - New class VariationalProblem replacing LinearPDE and NonlinearPDE - Parallel parsing and partitioning of meshes (experimental) - Add script dolfin-order for ordering mesh files - Add new class SubSpace (replacing SubSystem) - Add new class FunctionSpace - Complete redesign of Function class hierarchy, now a single Function class - Increased use of shared_ptr in Function, FunctionSpace, etc - New interface for boundary conditions, form not necessary - Allow simple setting of coefficient functions based on names (not their index) - Don't order mesh automatically, meshes must now be ordered explicitly - Simpler definition of user-defined functions (constructors not necessary) - Make mesh iterators const to allow for const-correct Mesh code 0.8.1 [2008-10-20] - Add option to use ML multigrid preconditioner through PETSc - Interface change for ODE solvers: uBLASVector --> double* - Remove homotopy solver - Remove typedef real, now using plain double instead - Add various operators -=, += to GenericMatrix - Don't use -Werror when compiling SWIG generated code - Remove init(n) and init(m, n) from GenericVector/Matrix. Use resize and zero instead - Add new function is_combatible() for checking compatibility of boundary conditions - Use x as initial guess in Krylov solvers (PETSc, uBLAS, ITL) - Add new function errornorm() - Add harmonic ALE mesh smoothing - Refinements of Graph class - Add CholmodCholeskySlover (direct solver for symmetric matrices) - Implement application of Dirichlet boundary conditions within assembly loop - Improve efficiency of SparsityPattern - Allow a variable number of smoothings - Add class Table for pretty-printing of tables - Add experimental MTL4 linear algebra backend - Add OutflowFacet to SpecialFunctions for DG transport problems - Remove unmaintained OpenDX file format - Fix problem with mesh smoothing near nonconvex corners - Simple projection of functions in Python - Add file format: XYZ for use with Xd3d - Add built-in meshes: UnitCircle, Box, Rectangle, UnitSphere 0.8.0 [2008-06-23] - Fix input of matrix data from XML - Add function normalize() - Integration with VMTK for reading DOLFIN XML meshes produced by VMTK - Extend mesh XML format to handle boundary indicators - Add support for attaching arbitrarily named data to meshes - Add support for dynamically choosing the linear algebra backend - Add Epetra/Trilinos linear solvers - Add setrow() to matrix interface - Add new solver SingularSolver for solving singular (pressure) systems - Add MeshSize::min(), max() for easy computation of smallest/largest mesh size - LinearSolver now handles all backends and linear solvers - Add access to normal in Function, useful for inflow boundary conditions - Remove GMRES and LU classes, use solve() instead - Improve solve() function, now handles both LU and Krylov + preconditioners - Add ALE mesh interpolation (moving mesh according to new boundary coordinates) 0.7.3 [2008-04-30] - Add support for Epetra/Trilinos - Bug fix for order of values in interpolate_vertex_values, now according to UFC - Boundary meshes are now always oriented with respect to outward facet normals - Improved linear algebra, both in C++ and Python - Make periodic boundary conditions work in Python - Fix saving of user-defined functions - Improve plotting - Simple computation of various norms of functions from Python - Evaluation of Functions at arbitrary points in a mesh - Fix bug in assembling over exterior facets (subdomains were ignored) - Make progress bar less annoying - New scons-based build system replaces autotools - Fix bug when choosing iterative solver from Python 0.7.2 [2008-02-18] - Improve sparsity pattern generator efficiency - Dimension-independent sparsity pattern generator - Add support for setting strong boundary values for DG elements - Add option setting boundary conditions based on geometrical search - Check UMFPACK return argument for warnings/errors - Simplify setting simple Dirichlet boundary conditions - Much improved integration with FFC in PyDOLFIN - Caching of forms by JIT compiler now works - Updates for UFC 1.1 - Catch exceptions in PyDOLFIN - Work on linear algebra interfaces GenericTensor/Matrix/Vector - Add linear algebra factory (backend) interface - Add support for 1D meshes - Make Assembler independent of linear algebra backend - Add manager for handling sub systems (PETSc and MPI) - Add parallel broadcast of Mesh and MeshFunction - Add experimental support for parallel assembly - Use PETSc MPI matrices when running in parallel - Add predefined functions FacetNormal and AvgMeshSize - Add left/right/crisscross options for UnitSquare - Add more Python demos - Add support for Exodus II format in dolfin-convert - Autogenerate docstrings for PyDOLFIN - Various small bug fixes and improvements 0.7.1 [2007-08-31] - Integrate FFC form language into PyDOLFIN - Just-in-time (JIT) compilation of variational forms - Conversion from from Diffpack grid format to DOLFIN XML - Name change: BoundaryCondition --> DirichletBC - Add support for periodic boundary conditions: class PeriodicBC - Redesign default linear algebra interface (Matrix, Vector, KrylovSolver, etc) - Add function to return Vector associated with a DiscreteFunction 0.7.0-1 [2007-06-22] - Recompile all forms with latest FFC release - Remove typedefs SparseMatrix and SparseVector - Fix includes in LinearPDE - Rename DofMaps -> DofMapSet 0.7.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 - Add support for mesh partitioning (through SCOTCH) - Handle both UMFPACK and UFSPARSE - Local mesh refinement - Mesh smoothing - Built-in plotting (through Viper) - Cleanup log system - Numerous fixes for mesh, in particular MeshFunction - Much improved Python bindings for mesh - Fix Python interface for vertex and cell maps in boundary computation 0.6.4 [2006-12-01] - Switch from Python Numeric to Python NumPy - Improved mesh Python bindings - Add input/output support for MeshFunction - Change Mesh::vertices() --> Mesh::coordinates() - Fix bug in output of mesh to MATLAB format - Add plasticty module (experimental) - Fix configure test for Python dev (patch from à smund ÃdegÃ¥rd) - Add mesh benchmark - Fix memory leak in mesh (data not deleted correctly in MeshTopology) - Fix detection of curses libraries - Remove Tecplot output format 0.6.3 [2006-10-27] - Move to new mesh library - Remove dolfin-config and move to pkg-config - Remove unused classes PArray, PList, Table, Tensor - Visualization of 2D solutions in OpenDX is now supported (3D supported before) - Add support for evaluation of functionals - Fix bug in Vector::sum() for uBLAS vectors 0.6.2-1 [2006-09-06] - Fix compilation error when using --enable-petsc (dolfin::uBLASVector::PETScVector undefined) 0.6.2 [2006-09-05] - Finish chapter in manual on linear algebra - Enable PyDOLFIN by default, use --disable-pydolfin to disable - Disable PETSc by default, use --enable-petsc to enable - Modify ODE solver interface for u0() and f() - Add class ConvectionMatrix - Readd classes LoadVector, MassMatrix, StiffnessMatrix - Add matrix factory for simple creation of standard finite element matrices - Collect static solvers in LU and GMRES - Bug fixes for Python interface PyDOLFIN - Enable use of direct solver for ODE solver (experimental) - Remove demo bistable - Restructure and cleanup linear algebra - Use UMFPACK for LU solver with uBLAS matrix types - Add templated wrapper class for different uBLAS matrix types - Add ILU preconditioning for uBLAS matrices - Add Krylov solver for uBLAS sparse matrices (GMRES and BICGSTAB) - Add first version of new mesh library (NewMesh, experimental) - Add Parametrized::readParameters() to trigger reading of values on set() - Remove output of zeros in Octave matrix file format - Use uBLAS-based vector for Vector if PETSc disabled - Add wrappers for uBLAS compressed_matrix class - Compute eigenvalues using SLEPc (an extension of PETSc) - Clean up assembly and linear algebra - Add function to solve Ax = b for dense matrices and dense vectors - Make it possible to compile without PETSc (--disable-petsc) - Much improved ODE solvers - Complete multi-adaptive benchmarks reaction and wave - Assemble boundary integrals - FEM class cleaned up. - Fix multi-adaptive benchmark problem reaction - Small fixes for Intel C++ compiler version 9.1 - Test for Intel C++ compiler and configure appropriately - Add new classes DenseMatrix and DenseVector (wrappers for ublas) - Fix bug in conversion from Gmsh format 0.6.1 [2006-03-28] - Regenerate build system in makedist script - Update for new FFC syntax: BasisFunction --> TestFunction, TrialFunction - Fixes for conversion script dolfin-convert - Initial cleanups and fixes for ODE solvers - Numerous small fixes to improve portability - Remove dolfin:: qualifier on output << in Parameter.h - Don't use anonymous classes in demos, gives errors with some compilers - Remove KrylovSolver::solver() - Fix bug in convection-diffusion demo (boundary condition for pressure), use direct solver - LinearPDE and NewonSolver use umfpack LU solver by default (if available) when doing direct solve - Set PETSc matrix type through Matrix constructor - Allow linear solver and preconditioner type to be passed to NewtonSolver - Fix bug in Stokes demos (wrong boundary conditions) - Cleanup Krylov solver - Remove KrylovSolver::setPreconditioner() etc. and move to constructors - Remove KrylovSolver::setRtol() etc. and replace with parameters - Fix remaining name changes: noFoo() --> numFoo() - Add Cahn-Hilliard equation demo - NewtonSolver option to use residual or incremental convergence criterion - Add separate function to nls to test for convergence of Newton iterations - Fix bug in dolfin-config (wrong version number) 0.6.0 [2006-03-01] - Fix bug in XML output format (writing multiple objects) - Fix bug in XML matrix output format (handle zero rows) - Add new nonlinear PDE demo - Restructure PDE class to use envelope-letter design - Add precompiled finite elements for q <= 5 - Add FiniteElementSpec and factor function for FiniteElement - Add input/output of Function to DOLFIN XML - Name change: dof --> node - Name change: noFoo() --> numFoo() - Add conversion from gmsh format in dolfin-convert script - Updates for PETSc 2.3.1 - Add new type of Function (constant) - Simplify use of Function class - Add new demo Stokes + convection-diffusion - Add new demo Stokes (equal-order stabilized) - Add new demo Stokes (Taylor-Hood) - Add new parameter for KrylovSolvers: "monitor convergence" - Add conversion script dolfin-convert for various mesh formats - Add new demo elasticity - Move poisson demo to src/demo/pde/poisson - Move to Mercurial (hg) from CVS - Use libtool to build libraries (including shared) 0.5.12 [2006-01-12] - Make Stokes solver dimension independent (2D/3D) - Make Poisson solver dimension independent (2D/3D) - Fix sparse matrix output format for MATLAB - Modify demo problem for Stokes, add exact solution and compute error - Change interface for boundary conditions: operator() --> eval() - Add two benchmark problems for the Navier-Stokes solver - Add support for 2D/3D selection in Navier-Stokes solver - Move tic()/toc() to timing.h - Navier-Stokes solver back online - Make Solver a subclass of Parametrized - Add support for localization of parameters - Redesign of parameter system 0.5.11 [2005-12-15] - Add script monitor for monitoring memory usage - Remove meminfo.h (not portable) - Remove dependence on parameter system in log system - Don't use drand48() (not portable) - Don't use strcasecmp() (not portable) - Remove sysinfo.h and class System (not portable) - Don't include <sys/utsname.h> (not portable) - Change ::show() --> ::disp() everywhere - Clean out old quadrature classes on triangles and tetrahedra - Clean out old sparse matrix code - Update chapter on Functions in manual - Use std::map to store parameters - Implement class KrylovSolver - Name change: Node --> Vertex - Add nonlinear solver demos - Add support for picking sub functions and components of functions - Update interface for FiniteElement for latest FFC version - Improve and restructure implementation of the Function class - Dynamically adjust safety factor during integration - Improve output Matrix::disp() - Check residual at end of time step, reject step if too large - Implement Vector::sum() - Implement nonlinear solver - New option for ODE solver: "save final solution" --> solution.data - New ODE test problem: reaction - Fixes for automake 1.9 (nobase_include_HEADERS) - Reorganize build system, remove fake install and require make install - Add checks for non-standard PETSc component HYPRE in NSE solver - Make GMRES solver return the number of iterations - Add installation script for Python interface - Add Matrix Market format (Haiko Etzel) - Automatically reinitialize GMRES solver when system size changes - Implement cout << for class Vector 0.5.10 [2005-10-11] - Modify ODE solver interface: add T to constructor - Fix compilation on AMD 64 bit systems (add -fPIC) - Add new BLAS mode for form evaluation - Change enum types in File to lowercase - Change default file type for .m to Octave - Add experimental Python interface PyDOLFIN - Fix compilation for gcc 4.0 0.5.9 [2005-09-23] - Add Stokes module - Support for arbitrary mixed elements through FFC - VTK output interface now handles time-dependent functions automatically - Fix cout for empty matrix - Change dolfin_start() --> dolfin_end() - Add chapters to manual: about, log system, parameters, reference elements, installation, contributing, license - Use new template fenicsmanual.cls for manual - Add compiler flag -U__STRICT_ANSI__ when compiling under Cygwin - Add class EigenvalueSolver 0.5.8 [2005-07-05] - Add new output format Paraview/VTK (Garth N. Wells) - Update Tecplot interface - Move to PETSc 2.3.0 - Complete support for general order Lagrange elements in triangles and tetrahedra - Add test problem in src/demo/fem/convergence/ for general Lagrange elements - Make FEM::assemble() estimate the number of nonzeros in each row - Implement Matrix::init(M, N, nzmax) - Add Matrix::nz(), Matrix::nzsum() and Matrix::nzmax() - Improve Mesh::disp() - Add FiniteElement::disp() and FEM::disp() (useful for debugging) - Remove old class SparseMatrix - Change FEM::setBC() --> FEM::applyBC() - Change Mesh::tetrahedrons --> Mesh::tetrahedra - Implement Dirichlet boundary conditions for tetrahedra - Implement Face::contains(const Point& p) - Add test for shape dimension of mesh and form in FEM::assemble() - Move src/demo/fem/ demo to src/demo/fem/simple/ - Add README file in src/demo/poisson/ (simple manual) - Add simple demo program src/demo/poisson/ - Update computation of alignment of faces to match FFC/FIAT 0.5.7 [2005-06-23] - Clean up ODE test problems - Implement automatic detection of sparsity pattern from given matrix - Clean up homotopy solver - Implement automatic computation of Jacobian - Add support for assembly of non-square systems (Andy Terrel) - Make ODE solver report average number of iterations - Make progress bar write first update at 0% - Initialize all values of u before solution in multi-adaptive solver, not only components given by dependencies - Allow user to modify and verify a converging homotopy path - Make homotopy solver save a list of the solutions - Add Matrix::norm() - Add new test problem for CES economy - Remove cast from Parameter to const char* (use std::string) - Make solution data filename optional for homotopy solver - Append homotopy solution data to file during solution - Add dolfin::seed(int) for optionally seeding random number generator - Remove dolfin::max,min (use std::max,min) - Add polynomial-integer (true polynomial) form of general CES system - Compute multi-adaptive efficiency index - Updates for gcc 4.0 (patches by Garth N. Wells) - Add Matrix::mult(const real x[], uint row) (temporary fix, assumes uniprocessor case) - Add Matrix::mult(const Vector& x, uint row) (temporary fix, assumes uniprocessor case) - Update shortcuts MassMatrix and StiffnessMatrix to new system - Add missing friend to Face.h (reported by Garth N. Wells) 0.5.6 [2005-05-17] - Implementation of boundary conditions for general order Lagrange (experimental) - Use interpolation function automatically generated by FFC - Put computation of map into class AffineMap - Clean up assembly - Use dof maps automatically generated by FFC (experimental) - Modify interface FiniteElement for new version of FFC - Update ODE homotopy test problems - Add cross product to class Point - Sort mesh entities locally according to ordering used by FIAT and FFC - Add new format for dof maps (preparation for higher-order elements) - Code cleanups: NewFoo --> Foo complete - Updates for new version of FFC (0.1.7) - Bypass log system when finalizing PETSc (may be out of scope) 0.5.5 [2005-04-26] - Fix broken log system, curses works again - Much improved multi-adaptive time-stepping - Move elasticity module to new system based on FFC - Add boundary conditions for systems - Improve regulation of time steps - Clean out old assembly classes - Clean out old form classes - Remove kernel module map - Remove kernel module element - Move convection-diffusion module to new system based on FFC - Add iterators for cell neighbors of edges and faces - Implement polynomial for of CES economy - Rename all new linear algebra classes: NewFoo --> Foo - Clean out old linear algebra - Speedup setting of boundary conditions (add MAT_KEEP_ZEROED_ROWS) - Fix bug for option --disable-curses 0.5.4 [2005-03-29] - Remove option to compile with PETSc 2.2.0 (2.2.1 required) - Make make install work again (fix missing includes) - Add support for mixing multiple finite elements (through FFC) - Improve functionality of homotopy solver - Simple creation of piecewise linear functions (without having an element) - Simple creation of piecewise linear elements - Add support of automatic creation of simple meshes (unit cube, unit square) 0.5.3 [2005-02-26] - Change to PETSc version 2.2.1 - Add flag --with-petsc=<path> to configure script - Move Poisson's equation to system based on FFC - Add support for automatic creation of homotopies - Make all ODE solvers automatically handle complex ODEs: (M) z' = f(z,t) - Implement version of mono-adaptive solver for implicit ODEs: M u' = f(u,t) - Implement Newton's method for multi- and mono-adaptive ODE solvers - Update PETSc wrappers NewVector, NewMatrix, and NewGMRES - Fix initialization of PETSc - Add mono-adaptive cG(q) and dG(q) solvers (experimental) - Implementation of new assebly: NewFEM, using output from FFC - Add access to mesh for nodes, cells, faces and edges - Add Tecplot I/O interface; contributed by Garth N. Wells 0.5.2 [2005-01-26] - Benchmarks for DOLFIN vs PETSc (src/demo/form and src/demo/test) - Complete rewrite of the multi-adaptive ODE solver (experimental) - Add wrapper for PETSc GMRES solver - Update class Point with new operators - Complete rewrite of the multi-adaptive solver to improve performance - Add PETSc wrappers NewMatrix and NewVector - Add DOLFIN/PETSc benchmarks 0.5.1 [2004-11-10] - Experimental support for automatic generation of forms using FFC - Allow user to supply Jacobian to ODE solver - Add optional test to check if a dependency already exists (Sparsity) - Modify sparse matrix output (Matrix::show()) - Add FGMRES solver in new format (patch from eriksv) - Add non-const version of quick-access of sparse matrices - Add linear mappings for simple computation of derivatives - Add check of matrix dimensions for ODE sparsity pattern - Include missing cmath in Function.cpp 0.5.0 [2004-08-18] - First prototype of new form evaluation system - New classes Jacobi, SOR, Richardson (preconditioners and linear solvers) - Add integrals on the boundary (ds), partly working - Add maps from boundary of reference cell - Add evaluation of map from reference cell - New Matrix functions: max, min, norm, and sum of rows and columns (erik) - Derivatives/gradients of ElementFunction (coefficients f.ex.) implemented - Enable assignment to all elements of a NewArray - Add functions Boundary::noNodes(), noFaces(), noEdges() - New class GaussSeidel (preconditioner and linear solver) - New classes Preconditioner and LinearSolver - Bug fix for tetrahedral mesh refinement (ingelstrom) - Add iterators for Edge and Face on Boundary - Add functionality to Map: bdet() and cell() - Add connectivity face-cell and edge-cell - New interface for assembly: Galerkin --> FEM - Bug fix for PDE systems of size > 3 0.4.11 [2004-04-23] - Add multigrid solver (experimental) - Update manual 0.4.10 - Automatic model reduction (experimental) - Fix bug in ParticleSystem (divide by mass) - Improve control of integration (add function ODE::update()) - Load/save parameters in XML-format - Add assembly test - Add simple StiffnessMatrix, MassMatrix, and LoadVector - Change dK --> dx - Change dx() --> ddx() - Add support for GiD file format - Add performance tests for multi-adaptivity (both stiff and non-stiff) - First version of Newton for the multi-adaptive solver - Test for Newton for the multi-adaptive solver 0.4.9 - Add multi-adaptive solver for the bistable equation - Add BiCGSTAB solver (thsv) - Fix bug in SOR (thsv) - Improved visual program for OpenDX - Fix OpenDX file format for scalar functions - Allow access to samples of multi-adaptive solution - New patch from thsv for gcc 3.4.0 and 3.5.0 - Make progress step a parameter - New function ODE::sparse(const Matrix& A) - Access nodes, cells, edges, faces by id - New function Matrix::lump() 0.4.8 - Add support for systems (jansson and bengzon) - Add new module wave - Add new module wave-vector - Add new module elasticity - Add new module elasticity-stationary - Multi-adaptive updates - Fix compilation error in LogStream - Fix local Newton iteration for higher order elements - Init matrix to given type - Add output of cG(q) and dG(q) weights in matrix format - Fix numbering of frames from plotslab script - Add png output for plotslab script - Add script for running stiff test problems, plot solutions - Fix bug in MeshInit (node neighbors of node) - Modify output of sysinfo() - Compile with -Wall -Werror -pedantic -ansi -std=c++98 (thsv) 0.4.7 - Make all stiff test problems work - Display status report also when using step() - Improve adaptive damping for stiff problems (remove spikes) - Modify Octave/Matlab format for solution data (speed improvement) - Adaptive sampling of solution (optional) - Restructure stiff test problems - Check if value of right-hand side is valid - Modify divergence test in AdaptiveIterationLevel1 0.4.6 - Save vectors and matrices from Matlab/Octave (foufas) - Rename writexml.m to xmlmesh.m - Inlining of important functions - Optimize evaluation of elements - Optimize Lagrange polynomials - Optimize sparsity: use stl containers - Optimize choice of discrete residual for multi-adaptive solver - Don't save solution in benchmark proble - Improve computation of divergence factor for underdamped systems - Don't check residual on first slab for fixed time step - Decrease largest (default) time step to 0.1 - Add missing <cmath> in TimeStepper - Move real into dolfin namespace 0.4.5 - Rename function.h to enable compilation under Cygwin - Add new benchmark problem for multi-adaptive solver - Bug fix for ParticleSystem - Initialization of first time step - Improve time step regulation (threshold) - Improve stabilization - Improve TimeStepper interface (Ko Project) - Use iterators instead of recursively calling TimeSlab::update() - Clean up ODESolver - Add iterators for elements in time slabs and element groups - Add -f to creation of symbolic links 0.4.4 - Add support for 3D graphics in Octave using Open Inventor (jj) 0.4.3 - Stabilization of multi-adaptive solver (experimental) - Improved non-support for curses (--disable-curses) - New class MechanicalSystem for simulating mechanical systems - Save debug info from primal and dual (plotslab.m) - Fix bug in progress bar - Add missing include file in Components.h (kakr) - New function dolfin_end(const char* msg, ...) - Move numerical differentiation to RHS - New class Event for limited display of messages - Fix bug in LogStream (large numbers in floating point format) - Specify individual time steps for different components - Compile without warnings - Add -Werror to option enable-debug - Specify individual methods for different components - Fix bug in dGqMethods - Fix bug (delete old block) in ElementData - Add parameters for method and order - New test problem reaction - New class FixedPointIteration - Fix bug in grid refinement 0.4.2 - Fix bug in computation of residual (divide by k) - Add automatic generation and solution of the dual problem - Automatic selection of file names for primal and dual - Fix bug in progress bar (TerminalLogger) - Many updates of multi-adaptive solver - Add class ODEFunction - Update function class hierarchies - Move functions to a separate directory - Store multi-adaptive solution binary on disk with cache 0.4.1 - First version of multi-adaptive solver working - Clean up file formats - Start changing from int to unsigned int where necessary - Fix bool->int when using stdard in Parameter - Add NewArray and NewList (will replace Array and List) 0.4.0 - Initiation of the FEniCS project - Change syntax of mesh files: grid -> mesh - Create symbolic links instead of copying files - Tanganyika -> ODE - Add Heat module - Grid -> Mesh - Move forms and mappings to separate libraries - Fix missing include of DirectSolver.h 0.3.12 - Adaptive grid refinement (!) - Add User Manual - Add function dolfin_log() to turn logging on/off - Change from pointers to references for Node, Cell, Edge, Face - Update writexml.m - Add new grid files and rename old grid files 0.3.11 - Add configure option --disable-curses - Grid refinement updates - Make OpenDX file format work for grids (output) - Add volume() and diameter() in cell - New classes TriGridRefinement and TetGridRefinement - Add iterators for faces and edges on a boundary - New class GridHierarchy 0.3.10 - Use new boundary structure in Galerkin - Make dolfin_start() and dolfin_end() work - Make dolfin_assert() raise segmentation fault for plain text mode - Add configure option --enable-debug - Use autoreconf instead of scripts/preconfigure - Rename configure.in -> configure.ac - New class FaceIterator - New class Face - Move computation of boundary from GridInit to BoundaryInit - New class BoundaryData - New class BoundaryInit - New class Boundary - Make InitGrid compute edges - Add test program for generic matrix in src/demo/la - Clean up Grid classes - Add new class GridRefinementData - Move data from Cell to GenericCell - Make GMRES work with user defined matrix, only mult() needed - GMRES now uses only one function to compute residual() - Change Matrix structure (a modified envelope/letter) - Update script checkerror.m for Poisson - Add function dolfin_info_aptr() - Add cast to element pointer for iterators - Clean up and improve the Tensor class - New class: List - Name change: List -> Table - Name change: ShortList -> Array - Make functions in GridRefinement static - Make functions in GridInit static - Fix bug in GridInit (eriksv) - Add output to OpenDX format for 3D grids - Clean up ShortList class - Clean up List class - New class ODE, Equation replaced by PDE - Add Lorenz test problem - Add new problem type for ODEs - Add new module ode - Work on multi-adaptive ODE solver (lots of new stuff) - Work on grid refinement - Write all macros in LoggerMacros in one line - Add transpose functions to Matrix (Erik) 0.3.9 - Update Krylov solver (Erik, Johan) - Add new LU factorization and LU solve (Niklas) - Add benchmark test in src/demo/bench - Add silent logger 0.3.8 - Make sure dolfin-config is regenerated every time - Add demo program for cG(q) and dG(q) - Add dG(q) precalc of nodal points and weights - Add cG(q) precalc of nodal points and weights - Fix a bug in configure.in (AC_INIT with README) - Add Lagrange polynomials - Add multiplication with transpose - Add scalar products with rows and columns - Add A[i][j] index operator for quick access to dense matrix 0.3.7 - Add new Matlab-like syntax like A(i,all) = x or A(3,all) = A(4,all) - Add dolfin_assert() macro enabled if debug is defined - Redesign of Matrix/DenseMatrix/SparseMatrix to use Matrix as common interface - Include missing cmath in Legendre.cpp and GaussianQuadrature.cpp 0.3.6 - Add output functionality in DenseMatrix - Add high precision solver to DirectSolver - Clean up error messages in Matrix - Make solvers directly accessible through Matrix and DenseMatrix - Add quadrature (Gauss, Radau, and Lobatto) from Tanganyika - Start merge with Tanganyika - Add support for automatic documentation using doxygen - Update configure scripts - Add greeting at end of compilation 0.3.5 - Define version number only in the file configure.in - Fix compilation problem (missing depcomp) 0.3.4 - Fix bugs in some of the ElementFunction operators - Make convection-diffusion solver work again - Fix bug in integration, move multiplication with the determinant - Fix memory leaks in ElementFunction - Add parameter to choose output format - Make OctaveFile and MatlabFile subclasses of MFile - Add classes ScalarExpressionFunction and VectorExpressionFunction - Make progress bars work cleaner - Get ctrl-c in curses logger - Remove <Problem>Settings-classes and use dolfin_parameter() - Redesign settings to match the structure of the log system - Add vector functions: Function::Vector - Add vector element functions: ElementFunction::Vector 0.3.3 - Increased functionality of curses-based interface - Add progress bars to log system 0.3.2 - More work on grid refinement - Add new curses based log system 0.3.1 - Makefile updates: make install should now work properly - KrylovSolver updates - Preparation for grid refinement - Matrix and Vector updates 0.3.0 - Make poisson work again, other modules still not working - Add output format for octave - Fix code to compile with g++-3.2 -Wall -Werror - New operators for Matrix - New and faster GMRES solver (speedup factor 4) - Changed name from SparseMatrix to Matrix - Remove old unused code - Add subdirectory math containing mathematical functions - Better access for A(i,j) += to improve speed in assembling - Add benchmark for linear algebra - New definition of finite element - Add algebra for function spaces - Convert grids in data/grids to xml.gz - Add iterators for Nodes and Cells - Change from .hh to .h - Add operators to Vector class (foufas) - Add dependence on libxml2 - Change from .C to .cpp to make Jim happy. - Change input/output functionality to streams - Change to new data structure for Grid - Change to object-oriented API at top level - Add use of C++ namespaces - Complete and major restructuring of the code - Fix compilation error in src/config - Fix name of keyword for convection-diffusion 0.2.11-1 - Fix compilation error (`source`) on Solaris 0.2.11 - Automate build process to simplify addition of new modules - Fix bug in matlab_write_field() (walter) - Fix bug in SparseMatrix::GetCopy() (foufas) 0.2.10-1 - Fix compilation errors on RedHat (thsv) 0.2.10 - Fix compilation of problems to use correct compiler - Change default test problems to the ones in the report - Improve memory management using mpatrol for tracking allocations - Change bool to int for va_arg, seems to be a problem with gcc > 3.0 - Improve input / output support: GiD, Matlab, OpenDX 0.2.8 - Navier-Stokes starting to work again - Add Navier-Stokes 2d - Bug fixes 0.2.7 - Add support for 2D problems - Add module convection-diffusion - Add local/global fields in equation/problem - Bug fixes - Navier-Stokes updates (still broken) 0.2.6 [2002-02-19] - Navier-Stokes updates (still broken) - Output to matlab format 0.2.5 - Add variational formulation with overloaded operators for systems - ShapeFunction/LocalField/FiniteElement according to Scott & Brenner 0.2.4 - Add boundary conditions - Poisson seems to work ok 0.2.3 - Add GMRES solver - Add CG solver - Add direct solver - Add Poisson solver - Big changes to the organisation of the source tree - Add kwdist.sh script - Bug fixes 0.2.2: - Remove curses temporarily 0.2.1: - Remove all PETSc stuff. Finally! - Gauss-Seidel cannot handle the pressure equation 0.2.0: - First GPL release - Remove all of Klas Samuelssons proprietary grid code - Adaptivity and refinement broken, include in next release
_______________________________________________ DOLFIN-dev mailing list DOLFIN-dev@fenics.org http://www.fenics.org/mailman/listinfo/dolfin-dev