FreeFem++, a generic tools to solve mechanical PDE with finite - - PowerPoint PPT Presentation

freefem a generic tools to solve mechanical pde with
SMART_READER_LITE
LIVE PREVIEW

FreeFem++, a generic tools to solve mechanical PDE with finite - - PowerPoint PPT Presentation

FreeFem++, a generic tools to solve mechanical PDE with finite elements F. Hecht Laboratoire Jacques-Louis Lions Universit e Pierre et Marie Curie Paris, France with O. Pironneau, J. Morice, P. Ventura, O. Pantz http://www.freefem.org


slide-1
SLIDE 1

FreeFem++, a generic tools to solve mechanical PDE with finite elements

  • F. Hecht

Laboratoire Jacques-Louis Lions Universit´ e Pierre et Marie Curie Paris, France with

  • O. Pironneau, J. Morice, P. Ventura, O. Pantz

http://www.freefem.org mailto:hecht@ann.jussieu.fr

With the support of ANR (French gov.) ANR-07-CIS7-002-01 http://www.freefem.org/ff2a3/ http://www-anr-ci.cea.fr/

ECCM2010, Paris, Mai 2010 1

slide-2
SLIDE 2

PLAN

– Introduction Freefem++ – some History – Linear elastic Problem, Varia- tional formulation – Eigen Value problem – – Examples : – Coupling ´ equation : Elasticy, Piezo, Dielectic, and BEM, – Vessel – Cantilever – Conclusion / Future

http://www.freefem.org/

ECCM2010, Paris, Mai 2010 2

slide-3
SLIDE 3

Introduction

FreeFem++ is a software to solve numerically partial differential equations (PDE) in I R2) and in I R3) with finite elements methods. We used a user language to set and control the problem. The FreeFem++ language allows for a quick specification of linear PDE’s, with the variational formulation of a linear steady state problem and the user can write they own script to solve no linear problem and time depend problem. You can solve coupled problem

  • r problem with moving domain or eigenvalue problem, do mesh adaptation ,

compute error indicator, etc ... FreeFem++ is a freeware and this run on Mac, Unix and Window architecture, in parallel with MPI.

ECCM2010, Paris, Mai 2010 3

slide-4
SLIDE 4

History

1987 MacFem/PCFem les ancˆ etres (O. Pironneau en Pascal) payant. 1992 FreeFem r´ e´ ecriture de C++ (P1,P0 un maillage) O. Pironneau, D. Bernardi, F. Hecht , C. Prudhomme (adaptation Maillage, bamg). 1996 FreeFem+ r´ e´ ecriture de C++ (P1,P0 plusieurs maillages) O. Piron- neau, D. Bernardi, F. Hecht (alg` ebre de fonction). 1998 FreeFem++ r´ e´ ecriture avec autre noyau ´ el´ ement fini, et un autre lan- gage utilisateur ; F. Hecht, O. Pironneau, K.Ohtsuka. 1999 FreeFem 3d (S. Del Pino) , Une premi` ere version de freefem en 3d avec des m´ ethodes de domaine fictif. 2008 FreeFem++ v3 r´ e´ ecriture du noyau ´ el´ ement fini pour prendre en compte les cas multidimensionnels : 1d,2d,3d...

ECCM2010, Paris, Mai 2010 4

slide-5
SLIDE 5

For who, for what !

For what

  • 1. R&D
  • 2. Academic Research ,
  • 3. Teaching of FEM, PDE, Weak form and variational form
  • 4. Algorithmes prototyping
  • 5. Numerical experimentation
  • 6. Scientific computing and Parallel computing

For who : the researcher, engineer, professor, student...

ECCM2010, Paris, Mai 2010 5

slide-6
SLIDE 6

The main characteristics of FreeFem++ I/II (2D)

– Wide range of finite elements : linear (2d,3d) and quadratic Lagrangian (2d,3d) elements, discontinuous P1 and Raviart-Thomas elements (2d,3d), 3d Edge element , vectorial element , mini-element( 2d, 3d), ... – Automatic interpolation of data from a mesh to an other one, so a finite element function is view as a function of (x, y, z) or as an array, with matrix construction if need. – Definition of the problem (complex or real value) with the variational form with access to the vectors and the matrix if needed – Discontinuous Galerkin formulation (only in 2d to day).

ECCM2010, Paris, Mai 2010 6

slide-7
SLIDE 7

The main characteristics of FreeFem++ II/II (2D)

– Analytic description of boundaries, with specification by the user of the intersection of boundaries in 2d. – Automatic mesh generator, based on the Delaunay-Vorono ¨ ı algorithm. (2d,3d) – load and save Mesh, solution – Mesh adaptation based on metric, possibly anisotropic, with optional auto- matic computation of the metric from the Hessian of a solution. – LU, Cholesky, Crout, CG, GMRES, UMFPack, SuperLU, MUMPS, HIPS, HYPRE, SUPERLU DIST, PASTIX. ... sparse linear solver ; eigenvalue and eigenvector computation with ARPACK. – Online graphics with OpenGL/GLUT, C++ like syntax. – Link with other soft : modulef, emc2, medit, gnuplot, tetgen, superlu, mumps, ... – Dynamic linking to add plugin. – Wide range of of examples : Navier-Stokes 3d, elasticity 3d, fluid structure, eigenvalue problem, Schwarz’ domain decomposition algorithm, residual er- ror indicator, ...

ECCM2010, Paris, Mai 2010 7

slide-8
SLIDE 8

How to use

  • n Unix build a ”yours.edp” file with your favorite editor : emacs, vi, nedit,
  • etc. Enter

FreeFem++ yours.edp or FreeFem++-nw yours.edp to execute your script. Remark, this application FreeFem++ must be in a directory of your PATH shell variable.

  • n Window, MacOs X build a ”yours.edp” file with your favorite text editor

(raw text, not word text) : emacs, winedit, wordpad, bbedit, ... and click

  • n the icon of the application FreeFem++ and load you file via de open file

dialog box or drag and drop the icon of your built file on the application FreeFem++ icon.

ECCM2010, Paris, Mai 2010 8

slide-9
SLIDE 9

Linear elasticty equation, weak form

Let a domain Ω ⊂ Rd with a partition of ∂Ω in Γd, Γn. Find the displacement u field such that : − ∇.σ(u) = f in Ω,

u = 0 on Γd,

σ(u).n = 0 on Γn (1) Where ε(u) = 1

2(∇u + t∇u) and σ(u) = Aε(u) with A the linear positif

  • perator on symmetric d × d matrix corresponding to the material propriety.

Denote Vg = {v ∈ H1(Ω)d/v|Γd = g} . The Basic displacement variational formulation with is : find u ∈ V0(Ω) , such that

  • Ω ε(v) : Aε(u) =
  • Ω v.f+
  • Γ((Aε(u)).n).v,

∀v ∈ V0(Ω) (2)

ECCM2010, Paris, Mai 2010 9

slide-10
SLIDE 10

Linear elasticty equation, in FreeFem++

The finite element method is just : replace Vg with a finite element space, and the FreeFem++ code : load "medit" include "cube.idp" int[int] Nxyz=[20,5,5]; real [int,int] Bxyz=[[0.,5.],[0.,1.],[0.,1.]]; int [int,int] Lxyz=[[1,2],[2,2],[2,2]]; mesh3 Th=Cube(Nxyz,Bxyz,Lxyz); // Alu ... real rhoAlu = 2600, alu11= 1.11e11 , alu12 = 0.61e11 ; real alu44= (alu11-alu12)*0.5; func Aalu = [ [alu11, alu12,alu12, 0. ,0. ,0. ], [alu12, alu11,alu12, 0. ,0. ,0. ], [alu12, alu12,alu11, 0. ,0. ,0. ], [0. ,

  • 0. ,
  • 0. ,

alu44,0. ,0. ], [0. ,

  • 0. ,
  • 0. ,

0. ,alu44,0. ], [0. ,

  • 0. ,
  • 0. ,

0. ,0. ,alu44] ]; real gravity = -9.81;

ECCM2010, Paris, Mai 2010 10

slide-11
SLIDE 11

Linear elasticty equation, in FreeFem++

The problem code : fespace Vh(Th,[P1,P1,P1]); Vh [u1,u2,u3], [v1,v2,v3]; macro Strain(u1,u2,u3) [dx(u1),dy(u2),dz(u3),(dz(u2)+dy(u3)), (dz(u1)+dx(u3)),(dy(u1)+dx(u2))] // EOM macro div(u1,u2,u3) ( dx(u1)+dy(u2)+dz(u3) ) // EOM solve Lame([u1,u2,u3],[v1,v2,v3])= int3d(Th)( Strain(v1,v2,v3)’*(Aalu*Strain(u1,u2,u3)) )

  • int3d(Th) ( rhoAlu*gravity*v3)

+ on(1,u1=0,u2=0,u3=0) ; real coef= 0.1/u1[].linfty; int[int] ref2=[1,0,2,0]; mesh3 Thm=movemesh3(Th,transfo=[x+u1*coef,y+u2*coef,z+u3*coef],label=ref2); plot(Th,Thm, wait=1,cmm="coef amplification = "+coef ); medit("Th-Thm",Th,Thm);

ECCM2010, Paris, Mai 2010 11

slide-12
SLIDE 12

Lame equation / figure

Execute beam-A-3d.edp Execute fish.edp Execute EqPoisson.edp

ECCM2010, Paris, Mai 2010 12

slide-13
SLIDE 13

Linear elasticty equation Eigen Value

The code to compute and show eigen vector of the Linear elasticty equation

varf vLame([u1,u2,u3],[v1,v2,v3])= int3d(Th)( Strain(v1,v2,v3)’*(Aalu*Strain(u1,u2,u3)) )+ on(1,u1=0,u2=0,u3=0) ; varf vMass([u1,u2,u3],[v1,v2,v3])= int3d(Th)( [v1,v2,v3]’*[u1,u2,u3]*rhoalu ); matrix A= vLame(Vh,Vh,solver=sparsesolver); matrix B= vMass(Vh,Vh,solver=CG,eps=1e-20); int nev=20; // number of computed eigen value close to 0 real[int] ev(nev); // to store nev eigein value Vh[int] [eu1,eu2,eu3](nev); // to store nev eigen vector int k=EigenValue(A,B,sym=true,value=ev,vector=eu1,tol=1e-10); nev=min(k,nev); // some time the number of converged EV. can be greater than nev; for (int i=0;i<nev;i++) { real coef= 0.5/eu1[i][].linfty; mesh3 Thm=movemesh3(Th,transfo=[x+eu1[i]*coef,y+eu2[i]*coef,z+eu3[i]*coef]); medit("Thm-"+ev[i],Thm,wait=1);}

Execute beam-EV-3d.edp

ECCM2010, Paris, Mai 2010 13

slide-14
SLIDE 14

Some Trick to build meshes

The problem is to compute eigenvalue of a potential flow on the Chesapeake bay (Thank to Mme. Sonia Garcia, smg @ usna.edu) – Read the image in freefem, adaptmesh , trunc to build a first mesh of the bay and finally remove no connected component. We use : ξ > 0.9||ξ||∞ where ξ is solution of 10−5ξ − ∆ξ = 0 in Ω; ∂ξ ∂n = 1

  • n Γ.

Remark, on each connect component ω of Ω, we have ξ|ω ≃ 105

  • ∂ω 1
  • ω 1 .

Execute Chesapeake/Chesapeake-mesh.edp – Solve the eigen value, on this mesh. – Execute Chesapeake/Chesapeake-flow.edp

ECCM2010, Paris, Mai 2010 14

slide-15
SLIDE 15

A true problem with 3 physics : Piezo, Elastic, Dielectric

In domain Ω =]0, p[×R ; split in 3 part ΩD, ΩE, ΩP (resp. Dielectric part, Elastic part, Pieze Electric part). We solve a follow problem : Compute u, φ in Ω such that : ∀(v, ψ)

  • ΩD

ǫE(φ)∗E(ψ) +

  • ΩE

ε(v)∗ : Aε(u) +

  • ΩP

−ǫE(φ)∗E(ψ) + ε(v)∗ : Aε(u) − ε(v)∗ : EE(φ) − E(ψ)∗E∗ : ε(u) −

  • Ω ω2ρv∗u

= 0 where E(φ) = −∇φ, ∗ is the transpose and complex conjugation, ε(u) = 1

2(∇u + t∇u) , A the linear positif operator on symmetric d × d matrix

corresponding to the material elactic propriety E is the piezo/elastic coupling tensor, ω is the pulse, ρ the density, ǫ the permitivity material. Boundary condition are : α p-periodic (i.e : u(x + p, .) = αu(x, .) and φ given

  • n the elastic boundary.

ECCM2010, Paris, Mai 2010 15

slide-16
SLIDE 16

α periodic Finite element trick

Compute a Poisson problem in domain ]0, p[×] − 1, 1[ with α-periodic condition on vertical boundary Γp ( u(0, y) = αu(p, y) where α is a complex number such that α = e2iπγ) and u is given on top and bottom border Γd. Denote Vα = {u ∈ H1(Ω); u(0, y) = αu(p, y)}, V0α = {u ∈ Vα; uΓd = 0} Find u ∈ Vα and u given on Γd such that ∀v ∈ V0α,

  • Ω ∇u.∇v −
  • Γr

v ∂u ∂ n =

  • Ω fv,

(3) denote ϕα = e2iπγx/p we have u ∈ Vα iff ϕαu ∈ V1. So the problem is equivalent to find uα = uϕα ∈ V1 uαϕα given on Γd such that ∀vα ∈ V01,

  • Ω ∇αuα.∇αvα −
  • Γr

vα ∂uα ∂ n =

  • Ω fvαϕα,

(4) where ∇αu = ∇(ϕαu) = ϕα∇u + uϕα

  • 2iπγ/p

ECCM2010, Paris, Mai 2010 16

slide-17
SLIDE 17

The femfem++ code for the 3 physics equation

The weak/variationnal formulation :

macro dxa(up) (phia*dx(up)+dphiadx*up) // EOM macro dya(up) (phia*dy(up)) // EOM macro Strain(u1,u2,u3) [ dxa(u1),dya(u2),dya(u3), dxa(u3),( dxa(u2)+dya(u1)) ] // EOM macro E(uphi) [-dxa(uphi),-dya(uphi)] // EOM varf vfullK ([u1,u2,u3,uphi],[v1,v2,v3,vphi]) = int2d(Th,regphiP)( Strain(v1,v2,v3)’*(C5x5*Strain(u1,u2,u3) )

  • Strain(v1,v2,v3)’*(E5x2*E(uphi))
  • E(vphi)’*(E5x2’*Strain(u1,u2,u3))
  • E(vphi)’*(Eps*E(uphi)))

+ int2d(Th,regphiE) ( Strain(v1,v2,v3)’*(CAlu5x5*Strain(u1,u2,u3) ) + E(vphi)’*E(uphi)*eeps )

  • int2d(Th,regphiD,regphiDD)( (

E(vphi)’*E(uphi) )*Deps + eeps*(u1*v1+u2*v2+u3*v3)) + on(labelec,uphi=phia’); varf vFullM ([u1,u2,u3,uphi],[v1,v2,v3,vphi]) = int2d(Th,regphiP) ( - rho*([v1,v2,v3]’*[u1,u2,u3])) + int2d(Th,regphiE) ( - rhoAlu*([v1,v2,v3]’*[u1,u2,u3]));

ECCM2010, Paris, Mai 2010 17

slide-18
SLIDE 18

The femfem++ code for the 3 physics equation, matrix contruction

fespace Vhp(Th,[Pk,Pk,Pk,Pk],periodic=[[labright,y],[lableft,y]]); matrix<complex> A; {// for local variable in block matrix<complex>AbemD,AbemP,A,AK,AM; // Matrix Declaration AK = vfullK(Vhp,Vhp); AM = vFullM(Vhp,Vhp); MatBemDielec4(AbemD,Vhp,Th,labdown,Deps,gam,nharmdiele); AK = AK+ (-1.0)*AbemD; MatBemPiezoDielec4(AbemP,Vhp,Th,labup,gam,nharmpiezo,omega,CC,EE,EEps,rho); AK = AK + (-1.0)*AbemP; A = AK+ (omega*omega)*AM; } // clean local variable in block set(A,solver=sparsesolver); complex[int] B = vfullK(0,Vhp); Vhp<complex> [up1,up2,up3,phip]; up1[] = A^-1*B; Execute edp-ECCM/BemPiezoECCM.edp

ECCM2010, Paris, Mai 2010 18

slide-19
SLIDE 19

Dynamique des vesicules dans un fluide

Fluide Navier-Stokes Incompressible ρ∂u ∂t + ρ(u.∇)u + ∇p − div(νe(u)) = 0 dans Ω \ Σ div u = 0 dans Ω \ ϕ(Σ) + C.L. sur le bord du domaine Membrane Equilibre des forces J′(ϕ) + ∂ ∂τ (pττ) = −[νe(u).n] + [p.n] Incompressibilit´ e de la membrane ∂u ∂τ · τ = 0 sur Σ Couplage Vitesse du fluide=Vitesse de la membrane dϕ dt = u ◦ ϕ. Merci ` a O. Pantz, CMAP, Ecole Polytechnique

ECCM2010, Paris, Mai 2010 19

slide-20
SLIDE 20

Notations

Ω = Domaine fluide Σ = ϕ(Σ0) = Configuration actuelle de la membrane des globules rouges, Σ0 = configuration de r´ ef´ erence ϕ = D´ eformation de la membrane u = Vitesse du fluide e(u) = (∇u + ∇uT)/2 = Tenseur m´ etrique lin´ earis´ e pτ = Pression membranaire ν = Viscosit´ e du fluide ρ = Masse volumique du fluide τ = Tangente ` a la membrane n = Normale ext´ erieure ` a la membrane [a] = aint − aext = Saut ` a l’interface de a J = NRJ de flexion J(ϕ) =

  • Σ |ϕ′′|2 ds.

ECCM2010, Paris, Mai 2010 20

slide-21
SLIDE 21

Vesicules dans un ´ ecoulement

Vesicules dans un ´ ecoulement de Poiseuille avec goulot d’´ etranglement

Merci ` a O. pantz , CMAP, Ecole Polytechnique

ECCM2010, Paris, Mai 2010 21

slide-22
SLIDE 22

Une intersection

Merci ` a O. pantz , CMAP, Ecole Polytechnique

ECCM2010, Paris, Mai 2010 22

slide-23
SLIDE 23

Minimisation of the compliance

Let Ω the reference configuration of the elastic solide (linear). We find the

  • ptimal form minimizing the compliance

J(u) =

  • ΓN

g · u ds, where ΓN is the border partie where the surface force g is apply and u is the structural displacement define by : u ∈ V := {v ∈ H1(Ω)2 with v = 0 on ΓD}, ∀v ∈ V,

  • Ω 2µe(u) : e(v) + λ(∇ · u)(∇ · v) dx =
  • ΓN

g · v dx, where e(v) = (∇u + ∇uT)/2 et ΓD is a part of the boundary where the structure is lock.

Example from O. Pantz, Ecole Polytechnique, CMAP, France

ECCM2010, Paris, Mai 2010 23

slide-24
SLIDE 24

Optimisation of the cantilever

The cantilever is lock on left and the vertical force is apply on right.

Example from O. Pantz, Ecole Polytechnique, CMAP, France

ECCM2010, Paris, Mai 2010 24

slide-25
SLIDE 25

Conclusion and Future

It is a useful tool to teaches Finite Element Method, and to test some nontrivial algorithm. – Galerkin discontinue (do in 2d, to do in 3d) – 3D ( under construction ) – automatic differentiation ( under construction ) – // linear solver and build matrix // – 3d mesh adaptation (in progress with FreeYams and mmg3d) – Add FInite volume schema ( next 4 years) – Suite et FIN. (L’avenir ne manque pas de future et lyc´ ee de Versailles) Thank, for your attention ! and see your as a FreeFem++ user, may be .

ECCM2010, Paris, Mai 2010 25

slide-26
SLIDE 26

ECCM2010, Paris, Mai 2010 26

slide-27
SLIDE 27

Build Matrix and vector of problem

The 3d FreeFem++ code : mesh3 Th("dodecaedre.mesh"); // read a mesh from file fespace Vh(Th,P13d); // define the P1 FE space macro Grad(u) [dx(u),dy(u),dz(u)] // End of Macro varf vlaplace(u,v,solver=CG) = int3d(Th)( Grad(u)’*Grad(v) ) + int3d(Th) ( 1*v) + on(2,u=2); //

  • n γ2

matrix A= vlaplace(Vh,Vh,solver=CG); // bilinear part real[int] b=vlaplace(0,Vh); // // linear part Vh u; u[] = A^-1*b; // solve the linear system

ECCM2010, Paris, Mai 2010 27

slide-28
SLIDE 28

Remark on varf

The functions appearing in the variational form are formal and local to the varf definition, the only important think is the order in the parameter list, like in varf vb1([u1,u2],[q]) = int2d(Th)( (dy(u1)+dy(u2)) *q) + int2d(Th)(1*q); varf vb2([v1,v2],[p]) = int2d(Th)( (dy(v1)+dy(v2)) *p) + int2d(Th)(1*p); To build matrix A from the bilinear part the the variational form a of type varf do simply matrix B1 = vb1(Vh,Wh [, ...] ); matrix<complex> C1 = vb1(Vh,Wh [, ...] ); // where the fespace have the correct number of component // Vh is "fespace" for the unknown fields with 2 component // ex fespace Vh(Th,[P2,P2]); or fespace Vh(Th,RT); // Wh is "fespace" for the test fields with 1 component To build a vector, put u1 = u2 = 0 by setting 0 of on unknown part. real[int] b = vb2(0,Wh); complex[int] c = vb2(0,Wh);

ECCM2010, Paris, Mai 2010 28

slide-29
SLIDE 29

The boundary condition terms

– An ”on” scalar form (for Dirichlet ) :

  • n(1, u = g )

The meaning is for all degree of freedom i of this associated boundary, the diagonal term of the matrix aii = tgv with the terrible giant value tgv (=1030 by default) and the right hand side b[i] = ”(Πhg)[i]” × tgv, where the ”(Πhg)g[i]” is the boundary node value given by the interpolation of g. – An ”on” vectorial form (for Dirichlet ) :

  • n(1,u1=g1,u2=g2)

If you have vectorial finite element like RT0, the 2 components are coupled, and so you have : b[i] = ”(Πh(g1, g2))[i]” × tgv, where Πh is the vectorial finite element interpolant. – a linear form on Γ (for Neumann in 2d )

  • int1d(Th)( f*w)
  • r
  • int1d(Th,3))( f*w)

– a bilinear form on Γ or Γ2 (for Robin in 2d) int1d(Th)( K*v*w)

  • r

int1d(Th,2)( K*v*w). – a linear form on Γ (for Neumann in 3d )

  • int2d(Th)( f*w)
  • r
  • int2d(Th,3)( f*w)

– a bilinear form on Γ or Γ2 (for Robin in 3d) int2d(Th)( K*v*w)

  • r

int2d(Th,2)( K*v*w).

ECCM2010, Paris, Mai 2010 29

slide-30
SLIDE 30

Trick to extract the degree of freedom on label 1 in know order

mesh Th=square(10,10); fespace Vh(Th,[P2,P2]); // exemple of finite element int[int] ib(0:Vh.ndof-1); // arry ib[i]=i of size the number of DoF { // for memory management: all locals are remove at end of block // to get numbering in good order .. // for u1: x-10 alway <0 // for u2: x-10 + 1e-10 alway <0 but a little gearter than u1 so after // after sort we have u1 u2 node 1,u1 u2 node 1, .... with node numbering x ր // at the begin of the array varf vbord([u1,u2],[v1,v2]) = on(1,u1=x-10,u2=x-10+1e-10); real[int] xb=vbord(0,Vh,tgv=1); // get the interpolation on border 1 . sort(xb,ib); // sort of 2 array in parallel // so now the begin of the array is the dof on label 1 and in ib we have the numbering xb = xb ? 1 : 0; int ndofon1 = xb.sum +0.5; // to count the number of non zero. ib.resize(ndofon1); // resize of the array } cout << ib << endl; Execute BEM.edp

ECCM2010, Paris, Mai 2010 30

slide-31
SLIDE 31

The team to day and the users

  • 1. Dev. team ( ff2a3) : F. Hecht (Kernel) , A. le Hyaric (Graphic), J. Mo-

rice (PostDoc 2years, 3d Mesh, Solver ..), G. A. Atenekeng (PostDoc 1 an, Solver //), S. Auliac (Phd 3 years, automatic Diff. ), O. Pironneau (Documentation), ...

  • 2. Tester : LJLL : 4, IRMAR : 3, CMAP : 3, INRIA : 3, Seville : 3 Know

users more than 300 in the world , in more than 20 country

  • 3. Industry : EADS, Dassault, CEA, Andras, IFREMER, PME...
  • 4. Teaching : Ecole Polytechnique, les Mines, Central, les Pont et Chauss´

ees...

  • 5. University : Orsay, UMPC, Rennes, Metz, Grenoble, Seville, Jyv¨

askyl¨ a Fin- lande, K´ enitra Maroc, Annaba, Setif Alg´ erie, ENIT Tunisie, Belgique, USA, Japan, Chine , Chili,

  • 6. FreeFem++ day at IHP (Paris) : 80 participants, 12 nationality, ... (for

missing item, person, etc...)

ECCM2010, Paris, Mai 2010 31