SCM
Posted by: Christophe Prud'homme
Date: 2011-03-18 17:52
Summary:Feel++ 0.90.0 has been released
Project:Feel++

* 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= option in createGMSHMesh() and loadGMSHMesh() if
level=0 do nothing, other refine 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

Latest News

Feel++ 0.90.0 has been released

Christophe Prud'homme - 2011-03-18 17:52 -

Life 0.9.23 has been released

Christophe Prud'homme - 2010-04-14 17:35 -

Life 0.9.20 released

Christophe Prud'homme - 2010-02-10 23:46 -

Life 0.9.13 released

Christophe Prud'homme - 2010-01-14 08:23 -

Life CDash server

Christophe Prud'homme - 2010-01-03 15:29 -

Discussion Forums: feel---0.90.0-has-been-released

Monitor Forum | Start New Thread Start New Thread

 

Topic Topic Starter Replies Last Post
   
Powered By FusionForge