Upload
universite-de-strasbourg
View
206
Download
0
Tags:
Embed Size (px)
DESCRIPTION
The state of Feel++
Citation preview
Feel++ WebinarThe State of Feel++
09/27/2012
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/
Latest Changes
● Programming Environment● Numerics● Language● Coupling with external code
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
Programming Environment - cmake
● Use feelpp_add_application()○ very versatile macro to generate a Feel++
application○ support various options ○ easy to add new ones
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)
Numerics - PETSc
● Fix nasty bug in preconditioner reuse(thx VC)
● Works from PETSc 3.1 to 3.3
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
Numerics - CRB
● CRB: Certified Reduced Basis method○ linear/nonlinear multiphysics○ Empirical interpolation method (still one tricky bit to
do)○ Parallel○ Applications to LNCMI problems
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)
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)●
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++