User Tools

Site Tools


howto:fds

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
howto:fds [2022/10/05 11:06]
ccrosby [Introduction]
howto:fds [2022/10/05 13:35] (current)
ccrosby [Postprocessing]
Line 11: Line 11:
 This will give you access to two fds executables: This will give you access to two fds executables:
   - fds has been compiled without support for OpenMP and should be used with MPI only   - fds has been compiled without support for OpenMP and should be used with MPI only
-  - fds_openmp has been compiled with OpenMP support and can be used for MPI and hybrid parallel runs+  - fds_openmp has been compiled with OpenMP support and can be used for single node and hybrid parallel runs
  
 If you intend using MPI parallel, it will be necessary to provide a machinefile for this version, which has not been compiled with one of the system MPI compilers.  A typical command line will thus be: If you intend using MPI parallel, it will be necessary to provide a machinefile for this version, which has not been compiled with one of the system MPI compilers.  A typical command line will thus be:
Line 23: Line 23:
 </code> </code>
  
 +
 +===== Sample PBS script for version 6.7.9 =====
 +
 +<file bash runFDS679.qsub>
 +#!/bin/bash
 +## Lines starting with the # symbol are comments, unless followed by ! or PBS, 
 +##  in which case they are directives
 +## The following PBS directive requests two 24 core compute nodes
 +##  The $PBS_NODEFILE file will contain the hostnames for 16 MPI processes (2 X 8, as per mpiprocs)
 +##  This is only meaningful if your model contains 16 grids
 +##  The number of grids must match the number of MPI processes
 +#PBS -l select=2:ncpus=24:mpiprocs=8 -q normal
 +## Specify your own project shortcode here
 +#PBS -P MECH1234
 +## The walltime should be a small overestimate of the expected run time
 +##  Requesting a very long walltime may delay the start of your job
 +##  If the requested walltime is too short, the job will be killed before it is finished
 +#PBS -l walltime=6:00:00
 +##  Obviously use your own paths here
 +#PBS -e /mnt/lustre/users/jblogs/FDS_Runs/stderr.txt
 +#PBS -o /mnt/lustre/users/jblogs/FDS_Runs/stdout.txt
 +export PBS_JOBDIR=/mnt/lustre/users/jblogs/FDS_Runs
 +cd $PBS_JOBDIR
 +module load chpc/compmech/FDS/FDS-6.7.9 
 +## Assign a sensible value for OMP_NUM_THREADS
 +##  If your number of MPI processes is a multiple of ##  24, it will be best to set it to 1,
 +##  and not use OpenMP at all
 +##  A value greater than 3 does not help
 +export OMP_NUM_THREADS=3
 +## The number of MPI processes is extracted from the length of the machinefile $PBS_NODEFILE
 +nproc=`cat $PBS_NODEFILE | wc -l`
 +mpirun -np $nproc -machinefile $PBS_NODEFILE fds_openmp FDS_inputFile.fds > fds.out
 +</file>
  
 ===== Sample PBS script for version 6.7.0 ===== ===== Sample PBS script for version 6.7.0 =====
Line 42: Line 75:
 #PBS -l walltime=6:00:00 #PBS -l walltime=6:00:00
 ##  Obviously use your own paths here ##  Obviously use your own paths here
-#PBS -e /mnt/lustre3p/users/jblogs/FDS_Runs/stderr.txt +#PBS -e /mnt/lustre/users/jblogs/FDS_Runs/stderr.txt 
-#PBS -o /mnt/lustre3p/users/jblogs/FDS_Runs/stdout.txt +#PBS -o /mnt/lustre/users/jblogs/FDS_Runs/stdout.txt 
-## These two lines will send you an email on Abort, Begin and End of the job +export PBS_JOBDIR=/mnt/lustre/users/jblogs/FDS_Runs
-##  Obviously use your own real email address +
-#PBS -m abe +
-#PBS -M jblogs@email.co.za +
-export PBS_JOBDIR=/mnt/lustre3p/users/jblogs/FDS_Runs+
 cd $PBS_JOBDIR cd $PBS_JOBDIR
 module load chpc/compmech/FDS/6.7.0 module load chpc/compmech/FDS/6.7.0
Line 62: Line 91:
  
 ===== Postprocessing ===== ===== Postprocessing =====
-Smokeview is also installed on the system, and can be accessed with the command ''smokeview'' or ''smv''.  However, this is only possible when using one of the visualisation nodes chpcviz1 or chpclic1.  Please read the instructions on [[howto:remote_viz|setting up a VNC connection]], and run Smokeview with the VirtualGL wrapper ''/opt/VirtualGL/bin/vglrun smokeview'' It may also be practical to use the very well-developed visualisation codes [[howto:paraview|Paraview]] or [[howto:visit|VisIt]].  Please experiment and provide feedback.+Smokeview is also installed on the system, and can be accessed with the command ''smokeview'' or ''smv''.  This can be done  on one of the visualisation nodes chpcviz1 or chpclic1.  Please read the instructions on [[howto:remote_viz|setting up a VNC connection]], and run Smokeview with the VirtualGL wrapper ''/opt/VirtualGL/bin/vglrun smokeview''.    
 + 
 +If you want to run Smokeview on a compute node, please read the instructions at https://wiki.chpc.ac.za/howto:remote_viz#getting_a_virtual_desktop_on_a_compute_node.  You will need to load a mesa module to enable software rendering. 
 + 
 + It may also be practical to use the very well-developed visualisation codes [[howto:paraview|Paraview]] or [[howto:visit|VisIt]].  Please experiment and provide feedback.
  
 ===== Parallel Scaling ===== ===== Parallel Scaling =====
/app/dokuwiki/data/attic/howto/fds.1664960800.txt.gz · Last modified: 2022/10/05 11:06 by ccrosby