freeFem++

Software Category
Version
4.7

freeFem++

FreeFem++ is a powerful software package for solving partial differential equations using finite element methods. It comes equipped with its own scripting language as well as some visualization tools.

Using FreeFem++ on RCC Resources

FreeFem++ can be run using either serial or parallel versions, but different executable files are used. Additionally, FreeFem++ can be used interactively or via job submission.

If using the software interactively, the user must tunnel X in the ssh command (using ssh -Y), since the solution for the following examples will require a window or two to be displayed.

The freefem++ software requires loading the gnu module:

module load gnu

If you want to use FreeFem++ in parallel, you will also need to load a parallel module (gnu openmpi, or gnu mvapich2). Note that only two of the example files are available on the HPC. Other example files are available in the source code download, located here.

Example Program Running freefem++ in Serial

Log into a spear node (or the HPC), tunneling X:

ssh -Y [username]@spear-login.hpc.fsu.edu

Use the executable FreeFem++ to run a simple example available on the HPC located in /gpfs/research/software/userfiles/freefem .

module load gnu

FreeFem++ /gpfs/research/software/userfiles/freefem/aaa-adp.edp 

Successful execution should display two pop-up windows.

Example Program Running FreeFem++ in Parallel

Log into a spear node (or the HPC), tunneling X:

ssh -Y [username]@hpc-login.rcc.fsu.edu

Load the GNU Open MPI compiler:

module load gnu openmpi

The executable FreeFem++-mpi will become available upon loading the gnu module. The example is available in the directory /gpfs/research/software/userfiles/freefem.

Run the program using the usual srun -np [processors] command, followed by the FreeFem executable, noting the -mpi extension. This specific example requires that only 2 cores be used.

srun -np 2 FreeFem++-mpi /gpfs/research/software/userfiles/freefem/schwarz-c.edp

Successful execution should display a pop-up window. To suppress the pop-up window, use -np at the end of the command. To submit a job on the HPC, use the same command as above inside of a Slurm submission script.