FDS

FDS (Fire Dynamics Simulator) was developed by the National Institute of Standards and Technology (NIST) for large-eddy simulation (LES) of low-speed flows, with an emphasis on smoke and heat transport from fires.

General documentation can be found here.

FDS can utilise both MPI and OpenMP

Example Script

#!/bin/bash -e

#SBATCH --job-name FDS_job
#SBATCH --time 02:00:00		#Walltime
#SBATCH --ntasks 4              #One task per mesh, NO MORE
#SBATCH --cpus-per-task 8       #Multupthreading than 4 cores not recommended.
#SBATCH --output %x.out		#Name output file according to job name
#SBATCH --hint=nomultithread    #Hyperthreading decreases efficiency

module load FDS/6.7.1-intel-2017a

input="/nesi/project/nesi99999/path/to/input.fds"

export OMP_NUM_THREADS=$((${SLURM_CPUS_PER_TASK})) #Equal to the real number of CPU's

srun fds ${input}
  • To increase performance try splitting up your meshes so FDS can take advantage of more cores.
  • Each mesh should have it's own task, assigning more tasks than there are meshes will cause an error.
  • Multi-threading efficiency drops off significantly after 4 physical cores. --cpus-per-task 8
  • In order to disable hyper-threading (increased efficiency / core) remove the --cpus-per-task line from your Slurm header and set;
    export OMP_NUM_THREADS=$((${SLURM_CPUS_PER_TASK}))
  • Hyper-threading is not recommended.

 

 

Labels: mahuika engineering
Was this article helpful?
0 out of 0 found this helpful