SCM

Notes:

Release Name: Feel++-0.90.0

Notes:

* New in 0.90.0

** Programming Environment

 - Life has been rename Feel++ (Finite Element Embedded Language and Library in
   C++)
 - Feel++ supports Boost up to 1.46
 - Ported to Gcc 4.5. Very few changes were needed: (i) one 1-liner to fix a
   segfault with Gcc4.5 and (ii) fixed a warning that was quite annoying
 - Added OpenTURNS check (optional)
 - Start support python wrappers using OpenTURNS
 - added support for TBB (Thread Building Blocks). A first example is available
   in feel/feelalg/vectorublas.cpp.  Some integrate() functions (element wise
   and evaluate()) are also using it. It is still optional.
 - added support for octave warppers. An example is available in doc/tutorial.
 - ported to (intel) APPLE platforms thanks to [[http://www.macports.org][macports.org]]
 - added support for [[http://www.madlib.be][MAdLib]], a mesh adaptation library
 - added a cmake module for Feel++: FindFeel++.cmake. It is used both for
   building Feel++ and also to build applications or libraries once Feel++ is
   installed.


** Libraries

*** feelcore

 - Fix build on s390 and apple platforms

*** feelalg

 - new local/global interface for vectors and sparse matrices to add the
   contribution of a local/small vector/matrix into a global/large one

*** feelpoly

 - support for RaviartThomas RTk in 2D and 3D
 - Continuous or Discontinous expansion in multidomains is now taken care of in
   the basis definition. Either the basis is intrinsiquely Discontinous
   (e.g. Dubiner) or can be either Continuous or Discontinous (e.g. Lagrange)

*** feelmesh

 - renamed SimplexProduct to Hypercube class and files
 - added support to the GeoND class for Point Element Neighbors which is for a
   given element, the set of elements (including himself) that share a point
   with it. Provide dimension(number of elements) and measure

*** feeldiscr

 - support for vectorial valued function such as RaviartThomas
 - update the interpolation tool
 - added interface to the DofTable class to retrieve all the dof associated to
   an element in a Eigen vector as well as the dof signs (when modal basis are
   used)
 - advection/reaction operator: added support for other stabilisation methods
   SGS, GALS, SUPG (CIP was already implemented)
 - added support in opInterpolation for boost.parameter keywords
   Examples :
#+BEGIN_SRC c++
auto opI = opInterpolation( _domainSpace=Xh1,
                           _imageSpace=Xh2,
                           _range=boundaryfaces(Xh2->mesh()),
                           _backend=M_backend );

auto opI = opInterpolation( _domainSpace=Xh1,
                           _imageSpace=Xh2,
                           _backend=M_backend );
#+END_SRC
with by default : =_range=elements(Xh2->mesh())=

*** feelfilters

 - much better support for Gmsh.
   - added loadGMSHMesh() and saveGMSHMesh() free functions to save and load
     mesh from/to the GMSH msh format with many options
   - added an _update option to createGMSHMesh() to setup the mesh components
     after loading
   - enhanced the ExporterGMSH class and updated the interface so that it
     supports loading/saving high order elements in all 3 dimensions as well as
     associated data. Adapted the TimeSet class accordingly.
   - added a _refine=<level> option in createGMSHMesh() and loadGMSHMesh() if
     level=0 do nothing, other refine <level> times uniformely
   - added _force_rebuild=true|false to force regeneration of geo/msh files
   - added _update= option to tell the mesh which components of the mesh to
     build like edges or faces or to renumber the entities
 - renamed GmshTensorizedDomain to GmshHypercubeDomain

*** feelvf

 - update the interpolation tool
 - fixed dG or integration of multi-valued functions breakage
 - added meas() and measFace() keywords in the language
   - meas() : measure of the current element
   - measFace(): measure of the current face
 - added access to gradient (matrix K()) and inverse gradient transposed (matrix
   B()) as well as jacobian (scalar J()) of the geometric transformation as
   keywords of the language
 - added a new function .broken( [P0h] ) to integrate() which allows to evaluate
   the integral and store the results(local contributions) in a P0 field
   instead of summing them like in evaluate().
   p0 = P0h->element( "mean_f" );
   $p0 = \int_K f/meas(K)$ where K is an element of the mesh
   p0 = integrate( elements(mesh), f/meas() ).broken( P0h );
 - added nPEN() and measPEN() where PEN stands for Point Element Neighbors which
   is for a given element, the set of elements (including himself) that share a
   point with it. nPEN() returns the number of elements and measPEN() the
   measure of the set.
 - implement the new local/global interface that uses eigen. It simplifies a
   lots the local/global assembly code and allowed quite a bit of refactoring.
 - Fix bug in outward normal computation using high order geometric
   transformation

** Documentation

*** API

 - ported the tutorial to Doxygen
 - improved the Doxygen output

*** Tutorial

 - update the tutorial, generate automatically the figures for some of the
   examples
 - added the residualestimator example which provides a tutorial for residual
   based error estimator and mesh adaptation using MAdLib.

** Benchmarks

 - reorganized the benchmark directory

*** Laplacian

 - moved convergence to laplacian and split into ale, cG and dG directory. Now
   test for dG convergence in 1D, 2D and 3D

*** Navier-Stokes

 - moved stokes testcases to navierstokes/kovasznay directory, moved all
   stokes/navier-stokes benchmarks into the navierstokes directory

*** Perf

 - The performance benchmark has been updated and saves now the timings in files
   to ease the analysis

Changes:


                
Powered By FusionForge