2. News
● Cemracs'12
○ 3 projects
○ about 15 persons on Feel++ projects
● Eccomas
○ 4 presentations
■ S. Bertoluzza - DD
■ S. Veys - RB
■ A. Samake - Feel++
■ JM Gratien - Feel++ like language for FV
● Next
○ FeelSIAM CSE Boston - 2/25/13-3/1/13 http://www.
siam.org/meetings/cse13/
3. Latest Changes
● Programming Environment
● Numerics
● Language
● Coupling with external code
4. Programming Environment
● Welcome to gflags and glog
○ gflags : google command line flags (not used
directly)
○ glog: google logging system (use gflags)
■ use LOG(INFO) for general information about
your application
■ use VLOG(<n>) for printing possibly verbose
information, eventually for debug purpose
■ use LOG(WARNING) and LOG(ERROR) for
warning/error resp.
■ use CHECK* function for assertions
○ Log() has been replaced, Debug() is slowly being
replaced
5. Programming Environment - cmake
● Use feelpp_add_application()
○ very versatile macro to generate a Feel++
application
○ support various options
○ easy to add new ones
6. Programming Environment - C++
● Environment now builds and provides vm()
and AboutData.
○ vm() - static member function of Environment
○ about() - static member function
○ boost parameter constructor for Environment
■ Environment( _argc=, _argv, ...)
○ Application and Simget retrieve vm() from
Environment
○ classes (Backend, Exporter...) initialized using vm()
will soon get it directly fron Environment
(simplification)
7. Numerics - PETSc
● Fix nasty bug in preconditioner reuse(thx
VC)
● Works from PETSc 3.1 to 3.3
8. Numerics - Mesh
● Mesh data structure serialized -> //
● Mesh adaptation using gmsh (next
webinar?)
● Gmsh as a library
● loadGMSHMesh, createGMSHMesh
○ Repartitioning
○ Refinement by splitting
○ substructuring - mark entities (vertices,edges,faces,
volumes)
● createSubmesh
○ edge mesh extraction, 1D mesh in 3D
9. Numerics - CRB
● CRB: Certified Reduced Basis method
○ linear/nonlinear multiphysics
○ Empirical interpolation method (still one tricky bit to
do)
○ Parallel
○ Applications to LNCMI problems
10. Language
● New keywords
○ normL2,normLinf,mean
○ norm2, inner_product, outer_product,dot,ddot
● Mesh
○ Extract mesh of edges from 3D (createSubmesh())
○ added _substructuring to domain()
● Periodic conditions
○ (Scalar/)Vectorial function space
(feelpp_doc_laplacian_periodic)
○ product function space (feelpp_docstokes_periodic)
○ Not parallel(yet, non trivial work needed)
● Product space allowing for different mesh
types (e.g. mortar)
11. State of // Computing
● Works seamlessly for most applications
● what does not work (yet)
○ periodic conditions
○ locally discontinuous interface
○ levelset methods (reinitialization?)
○ non conforming methods, e.,g. mortar, fbm... ?
matching non-conforming grids in //
● in parallel default is KSP(gmres)+PC(GASM)
+SUBPC(LU/MUMPS)
●
12. Work In Progress
● Work in progress
○ CRB: Real-time non-linear multiphysics
■ meta/lambda-expressions
● define expr=_1*id(v), then evaluate expr(idv(u))
■ ReducedSpace (application to crb/nirb)
○ ConstrainedSpace (Mortar, Dirichlet,....)
○ Substructuring preconditioners (PCShell,
MatrixShell), application to Mortar
● Feel++ // Benchmarking
○ non linear elasticity wrt FreeFEM++