Feel++ webinar 9 27 2012

377 views

Published on

The state of Feel++

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
377
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Feel++ webinar 9 27 2012

  1. 1. Feel++ Webinar The State of Feel++ 09/27/2012
  2. 2. News● Cemracs12 ○ 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. 3. Latest Changes● Programming Environment● Numerics● Language● Coupling with external code
  4. 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. 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. 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. 7. Numerics - PETSc● Fix nasty bug in preconditioner reuse(thx VC)● Works from PETSc 3.1 to 3.3
  8. 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. 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. 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. 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. 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++

×