FreeFem++/Example
From ScientificComputing
As an example for using FreeFem++, we are going to solve a Poisson equation. For a given function , find a function satisfying
Here is the boundary of the bounded open set
The following is a FreeFem++ program which computes when and is the unit disk. The boundary is
[leonhard@euler06 ~]$ ls -ltr test.edp -rw-r--r-- 1 leonhard T0000 283 Dec 6 12:56 test.edp [leonhard@euler06 ~]$ cat test.edp border C(t=0,2*pi){x=cos(t); y=sin(t);} mesh Th = buildmesh (C(50)); fespace Vh(Th,P1); Vh u,v; func f= x*y; real cpu=clock(); solve Poisson(u,v,solver=LU) = int2d(Th)(dx(u)*dx(v) + dy(u)*dy(v)) - int2d(Th)( f*v) + on(C,u=0) ; cout << " CPU time = " << clock()-cpu << endl; [leonhard@euler06 ~]$ module load new gcc/4.8.2 hdf5/1.8.12 open_mpi/1.6.5 fftw/3.3.3 openblas/0.2.8_seq gsl/1.16 scalapack/2.0.2 freefem/3.34 [leonhard@euler06 ~]$ bsub -n 1 -W 1:00 -R "rusage[mem=2048]" "FreeFem++ test.edp" Generic job. Job <33651159> is submitted to queue <normal.4h>. [leonhard@euler06 ~]$ bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 33651159 leonhard PEND normal.4h euler06 * test.edp Dec 6 13:17 [leonhard@euler06 ~]$ bjobs JOBID USER STAT QUEUE FROM_HOST EXEC_HOST JOB_NAME SUBMIT_TIME 33651159 leonhard RUN normal.4h euler06 e3011 * test.edp Dec 6 13:17 [leonhard@euler06 ~]$ bjobs No unfinished job found [leonhard@euler06 ~]$ grep -A1 Solve lsf.o33651159 -- Solve : min -0.0103244 max 0.0102905 [leonhard@euler06 ~]$
You can find the resource usage summary in the LSF log file.