Hyperworks
Table of Contents
Load Hyperworks 2022.1:
module load Hyperworks/2022.1
Available Hyperworks Versions can be listed with module spider Hyperworks
. Specifying a version will list the needed modules: module spider Hyperworks/2022.1
The standard mode of using Hyperworks is to use the installation of the Desktop application with FastX to set up your model/simulation. Once this has been done you would then launch the appropriate Solver program (OptiStruct, RADIOSS, MotionSolve)
When the Solver has finished you can visualize and analyze in the Hyperworks Desktop. You can start the Hyperworks Desktop using hmdesktop
.
Each of the Hyperworks Solvers can be run in serial in a similar way. Construct a batch submission script with the command to launch your chosen solver and the correct command line options.
For example, this is a batch script to run a serial RADIOSS job:
#!/usr/bin/zsh
#SBATCH --job-name=HW_RADIOSS_test
#SBATCH --time=00:20:00
#SBATCH --nodes=1
#SBATCH --tasks-per-node=1
#SBATCH --cpus-per-task=1
# Load Hyperworks module with a specific version
module load Hyperworks/2022.1
# Launch the serial job
radioss box.fem
Only the OptiStruct Solver currently supports parallel execution. OptiStruct supports a number of parallel execution modes of which two can be used:
Shared memory (SMP) mode uses multiple cores within a single node
Distributed memory (SPMD) mode uses multiple cores across multiple nodes via the MPI library
OptiStruct SMP
You can use up to 48 physical cores for OptiStruct SMP mode as these are the maximum numbers available on each c18m compute node.
You use the -nt
option to OptiStruct to specify the number of cores to use.
For example, to run a 24-core OptiStruct SMP calculation you could use the following job script:
#!/usr/bin/zsh
# Slurm job options (name, compute nodes, job time)
#SBATCH --job-name=HW_OptiStruct_SMP
#SBATCH --time=00:20:00
#SBATCH --nodes=1
#SBATCH --tasks-per-node=1
#SBATCH --cpus-per-task=24
# Load Hyperworks module
module load Hyperworks/2022.1
# Launch the parallel job
# Using 24 threads per node
optistruct box.fem -nt $SLURM_CPUS_PER_TASK
OptiStruct SPMD
There are four different parallelisation schemes for OptiStruct SPMD that are selected by different flags:
- Domain decompostion:
-ddm
- Multi-model optimisation:
-mmo
- Failsafe topology optimisation:
-fso
You should launch OptiStruct SPMD using the standard Intel MPI command available as $MPIEXEC
.
Note: OptiStruct does not support the use of SGI MPT, you must use Intel MPI.
Example OptiStruct SPMD batch script:
#!/usr/bin/zsh
#SBATCH --job-name=HW_OptiStruct_SPMD
#SBATCH --time=0:20:0
#SBATCH --nodes=2
#SBATCH --tasks-per-node=24
#SBATCH --cpus-per-task=1
# Load Hyperworks module
module load Hyperworks/2022.1
srun --ntasks=$SLURM_NTASKS $EBROOTHYPERWORKS/hwsolver/optistruct/bin/linux64/optistruct_${EBVERSIONHYPERWORKS}_linux64_impi box.fem -ddmmode