#!/bin/bash -l

ACCOUNT=	# Enter account name
PARTITION=	# Enter partition

# number of nodes
NN=		# Enter number of nodes
NNHOST=         # Enter number of processes per node (typically 1)

#TIMEOUT="-t 10:00"

WORKDIR=                  # Enter work directory; set a path that is writable by the compute nodes, 
                          # ${HOME} may be unavailable

COMSOLDIR=                # Enter COMSOL installation path
                          # Use "module load comsol/5.5" + "which comsol" to figure out the installation path

OUTDIR=${WORKDIR}/out     # Enter output directory
OUTLOG=${OUTDIR}/out.txt
ERRLOG=${OUTDIR}/err.txt            
PREFSDIR=${WORKDIR}/prefs                    # Enter preferences directory
DATADIR=${PREFSDIR}/data
CONFDIR=${PREFSDIR}/configuration
RECDIR=${WORKDIR}/recoveries
TMPDIR=${WORKDIR}/tmp
INFILE=${WORKDIR}/models/test.mph            # Enter input file name
OUTFILE=${OUTDIR}/test_out.mph

mkdir -p ${OUTDIR}
mkdir -p ${PREFSDIR}
mkdir -p ${RECDIR}
mkdir -p ${TMPDIR}

sbatch -A ${ACCOUNT} ${TIMEOUT} -N ${NN} -p ${PARTITION} -o ${OUTLOG} -e ${ERRLOG} --export=FLROOT=${COMSOLDIR} \
       ${COMSOLDIR}/bin/comsol batch \
       -mpibootstrap slurm -nnhost ${NNHOST} -mpifabrics shm:tcp \
       -inputfile ${INFILE} -outputfile ${OUTFILE} \
       -prefsdir ${PREFSDIR} -configuration ${CONFDIR}/comsol_@process.id \
       -data ${DATADIR}/comsol_@process.id \
       -recoverydir ${RECDIR} -tmpdir ${TMPDIR}
