Ada : FreeFem++

Description

FreeFem++ is a free software by which differential equations may be solved by finite elements. It has its own script language, inspired from C++, to describe the type of differential problem, the partial differential equations and the initial and boundary conditions. It can, thereby, solve multi-physics problems (exhibiting non-linearities, in two and three dimensions) on meshes which can have up to millions or billions of nodes.

Installed version

  • FreeFem++ 3.43-1

Utilisation

FreeFem++ is accessible through the module command (we advise you to read the documentation about the ''module'' for more information):

  module load freefem++

Launching script

The following example illustrates the launching of the FreeFem++ multi-thread version:

FreeFem.ll
# @ job_name = FreeFem++
# @ output   = $(job_name).$(jobid)
# @ error    = $(job_name).$(jobid)
# @ job_type = serial
# @ parallel_threads = 4
# @ wall_clock_limit = 1:30:00
# @ queue
 
# To have the display of the executed commands
set -x
 
# Loading of FreeFem++
module load freefem++
 
# Copy the input files to the TMPDIR
cp ./example.edp $TMPDIR
 
# Change the current directory to the TMPDIR
cd $TMPDIR
 
# Execution
FreeFem++-nw ./example.edp
 
# Copy any output files to the submission file
# cp ./resultat.res $LOADL_STEP_INITDIR

The following example illusstrates the launching of the FreeFem++ MPI version:

FreeFem_MPI.ll
# @ job_name = FreeFem++
# @ output   = $(job_name).$(jobid)
# @ error    = $(job_name).$(jobid)
# @ job_type = parallel
# @ total_tasks = 16
# @ wall_clock_limit = 1:30:00
# @ queue
 
# To have the display of the executed commands
set -x
 
# Loading of FreeFem++
module load freefem++
 
# Copy the input files to the TMPDIR
cp ./example.edp $TMPDIR
 
# Change the current directory to the TMPDIR
cd $TMPDIR
 
# Execution
poe FreeFem++-mpi -nw example.edp
 
# Copy any output files to the submission file
# cp ./resultat.res $LOADL_STEP_INITDIR

Do not hesitate to consult the more detailed advice about the submission in queue on Ada of a multi-thread job or a job parallelized with MPI.

Documentation

The user manual is available on the FreeFem++ official Web site.