in ProgramsScientific > CompilePrograms > Freefem++

#### Documentations

http://www.freefem.org
http://www.freefem.org/ff/index.htm FreeFem++ is an implementation of a language dedicated to the finite element method. It enables you to solve Partial Differential Equations (PDE) easily. Problems involving PDE from several branches of physics such as fluid-structure interactions require interpolations of data on several meshes and their manipulation within one program.
http://www.freefem.org/ff3d/index.html 3D finite element PDE solver. It does not use standard FEM approximation but is based on fictitious domain method. The main reason for this is the absence of free 3D mesh generators.

#### Packaging

see http://cookerspot.tuxfamily.org/progs/RPM/
http://cookerspot.tuxfamily.org/progs/SPECS/
http://cookerspot.tuxfamily.org/progs/SRPMS/

#### Launch the program

FreeFem++-cs
copy paste this small example, with New :
```border aaa(t=0,1){x=t;y=0;};
border bbb(t=0,0.5){x=1;y=t;};
border ccc(t=0,0.5){x=1-t;y=0.5;};
border ddd(t=0.5,1){x=0.5;y=t;};
border eee(t=0.5,1){x=1-t;y=1;};
border fff(t=0,1){x=0;y=1-t;};
mesh Th = buildmesh (aaa(6) + bbb(4) + ccc(4) +ddd(4) + eee(4) + fff(6));
fespace Vh(Th,P1);   //  to change P1 in P2 to make P2 finite element.
Vh u=0,v;
func f= 1;
func g= 0;
int i=0;
real error=0.1, coef= 0.1^(1./5.);
problem Probem1(u,v,solver=CG,eps=-1.0e-6) =
int2d(Th)(  dx(u)*dx(v) + dy(u)*dy(v))
+ int2d(Th) ( v*f )
+ on(aaa,bbb,ccc,ddd,eee,fff,u=g)  ;

for (i=0;i< 10;i++)
{
real d = clock();
Probem1; //  solve the problem
plot(u,Th,wait=1);