HyperWorks Optistruct job

To submit Hyperworks Optistruct solver job on HPC:

  • upload your model files to your case folder inside your home folder on HPC, e.g. into /home/yourusername/HW/case1/
  • copy this submission script and save as e.g. optistruct_2018.slurm: in your case folder
#!/bin/bash
# specify required run time for the job (here 12 hrs)

#SBATCH --time=12:00:00
#SBATCH --job-name=optistruct_job

# if you want to book whole node(s) -- recommended if a lot of memory/CPU is needed
#SBATCH --exclusive

# specify required number of CPUs (here 64 on any type of nodes)
#SBATCH -n 64

# specify type of compute node you want (nehalem=8CPU/node, broadwell=32CPU/node, sandy=12CPU/node)
#SBATCH --constraint=nehalem

# load respective Hyperworks module (hw/2017.2 or hw/2018)
module load hw/2018

# name of your fem file
FEMFILE="myfemfile.fem"

HOSTFILE=`srun /bin/hostname|sort`
echo $HOSTFILE > hostlist.txt

LOGFILE=${SLURM_JOBID}_log.txt

EXECUTABLE=optistruct

# total number of CPUs booked above
NPROCS=$SLURM_NTASKS

# scratch space: either on BeeGFS (parallel file system /mnt/beegfs/scratch) or on a local disk of a node (/scratch/$USER/$SLURM_JOBID)

scratch="/mnt/beegfs/scratch/$USER/$SLURM_JOBID"

# create scratch folder
srun mkdir -p $scratch

# Parameters for the parallel (MPP) run
ARGS="${FEMFILE} -mpi pl -mpiargs -cpu_bind_mt=4 -np $SLURM_NTASKS -hostfile ${SLURM_SUBMIT_DIR}/hostlist.txt -tmpdir $scratch "

CMD="${EXECUTABLE} ${ARGS}"

###### RUN THE JOB ######
echo "Launching: $CMD" >> ${LOGFILE}_cmd

$CMD | tee ${SLURM_JOBID}_out.log

# after job completes clean up scratch space:
srun rm -fr $scratch

submit as sbatch optistruct_2018.slurm

css.php