FLUKA
Introduction
Details about the purpose of FLUKA can be found on the official web page [1] which states:
FLUKA is a fully integrated particle physics MonteCarlo simulation package. It has many applications in high energy experimental physics and engineering, shielding, detector and telescope design, cosmic ray studies, dosimetry, medical physics and radio-biology.
Manuals about the usage of FLUKA can be found there as well, there is also an active mailing list to ask questions (see [2]).
Please note that the FLUKA user license allows the free usage of FLUKA for non-commericial scientific research. By using FLUKA on the cluster you accept the user license.
Currently, FLUKA version 2011.2c-5 (Oct 2016) is installed on the cluster (older versions may be replaced from time to time if a minor release update is available).
Using FLUKA on the cluster
In order to run FLUKA programs on the cluster you need to load the FLUKA module and also the GCC module:
module load gcc module load fluka
As usual the you need to use the SGE Job Management (Queueing) System e.g. by creating a job script as follows:
#!/bin/bash ### the following lines are used by SGE to determine your job requirements ### you may want to modify the requested resources, e.g. h_vmem or h_rt, ### if you need more memory or run time (respectively) #$ -S /bin/bash #$ -cwd #$ -l h_rt=1:00:0 #$ -l h_vmem=1000M #$ -l h_fsize=100M #$ -N fluka #$ -j n ### here the actual job script begins echo Job started on `date` # put a time stamp in log file # load modules module load gcc module load fluka # settings (here you need to make your own modifications) INPUTFILE=example # without .inp FIRSTCYCLE=1 LASTCYCLE=5 # run code rfluka -N $(expr $FIRSTCYCLE - 1) -M $LASTCYCLE $INPUTFILE echo Job finished on `date` # put a time stamp in log file exit
If this is stored e.g. as run_fluka.sge you can submit a job with
qsub run_fluka.sge
Note, that this requires the file example.inp in the directory where the job is submitted from. To copy this file to your current directory excute the commands:
module load fluka # if you haven't done so before cp $FLUPRO/example.inp .
Once the submitted job is completed you should find a number of new files.
Running FLUKA in parallel
A FLUKA input describes an experiment which typically is repeated several times (cycles) depending on the parameters given to the rfluka-command. Since each cycle is independent of all others a job array can in principle be used to parallelize the cycles of a FLUKA job.
However, in that case you need to prepare different input files for each (group of) cycle(s) with a different seed in the RANDOMIZE input card (see [[3]].