STAR-CCM+#
Simcenter STAR-CCM+ is a commercial software tool for CFD and more generally computational continuum mechanics. As a general purpose CFD code Simcenter STAR-CCM+ provides a wide variety of physical models for turbulent flows, acoustics, Eulerian and Lagrangian multi-phase flow modeling, radiation, combustion and chemical reactions, heat and mass transfer including conjugate heat transfer in solid domains.
Licensing#
Please note that the clusters do not come with any license. If you want to use Simcenter STAR-CCM+ on the HPC clusters, you have to have access to suitable licenses. Several groups hold a joint license pool for non-commercial academic use which is coordinated through the software group of RRZE.
Availability / Target HPC systems#
Different versions of all Simcenter STAR-CCM+ are available via environment modules, which can be listed by module avail star-ccm+
. A special version can be loaded, e.g. by module load star-ccm+/2310
.
Production jobs should be run on the parallel HPC systems in batch mode.
Simcenter STAR-CCM+ can also be used in interactive GUI mode for serial pre- and/or post-processing on the login nodes. This should only be used to make quick simulation setup changes. It is not permitted to run computationally intensive Simcenter STAR-CCM+ simulation runs or serial/parallel post-processing sessions with large memory consumption on login nodes.
For pre- or post-processing of larger simulation cases via interactive GUI mode, have a look at our visualization node.
Notes#
- Once you load the
star-ccm+
module, the environment variable$PODKEY
will hold your specific POD-key. The value will be updated centrally as needed. The POD-key from the HPC system will not work at your chair and vice versa. - We recommend writing automatic backup files (every 6 to 12 hours) for longer runs to be able to restart the simulation in case of a job or machine failure.
- Star-CCM+ can be configured to stop after a certain elapsed simulation time. More information here
- Besides the default mixed precision solver, Siemens PLM is also providing installation packages for higher accuracy double precision simulations. The latter comes for the price of approx. 20% higher execution times and approx. twice as large simulation results files. These modules are only available on demand and are named
star-ccm+/XXX-r8
. - Siemens PLM recently changed (with release 2020.x?) the default MPI used by STAR-CCM+ from HP/Platform MPI to Open MPI. Old job scripts may required changes to avoid errors due to incompatible MPI options. The sample scripts below have been updated accordingly.
Sample job scripts#
All job scripts have to contain the following information:
- Resource definition for the queuing system (more details here)
- Load Simcenter STAR-CCM+ environment module
- Generate a file with names of hosts of the current simulation run to tell STAR-CCM+ on which nodes it should run (see example below)
- Start command for parallel execution of
starccm+
with all appropriate command line parameters, including a controlling STAR-CCM+ Java macro. Available parameters can be listed viastarccm+ -help
.
parallel STAR-CCM+ on Meggie#
The following script runs Star-CCM+ on Meggie in parallel on two nodes with 20 CPUs each.
#!/bin/bash -l
#SBATCH --job-name=my-ccm
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=20
#SBATCH --time=24:00:00
#SBATCH --export=NONE
unset SLURM_EXPORT_ENV
# star-ccm+ arguments
CCMARGS="-load simxyz.sim"
# STAR-CCM+ version to use
module add star-ccm+/2310
# calculate the number of cores actually used
NUMCORES=$(( ${SLURM_JOB_NUM_NODES} * ${SLURM_NTASKS_PER_NODE} ))
# start STAR-CCM+
starccm+ -batch -cpubind v -np ${NUMCORES} --batchsystem slurm -power -podkey $PODKEY ${CCMARGS}
parallel STAR-CCM+ on Fritz#
The following script runs Star-CCM+ on Fritz in parallel on two nodes with 72 CPUs each.
#!/bin/bash -l
#SBATCH --job-name=my-ccm
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=72
#SBATCH --time=24:00:00
#SBATCH --export=NONE
unset SLURM_EXPORT_ENV
# star-ccm+ arguments
CCMARGS="-load simxyz.sim"
# STAR-CCM+ version to use
module add star-ccm+/2310
# calculate the number of cores actually used
NUMCORES=$(( ${SLURM_JOB_NUM_NODES} * ${SLURM_NTASKS_PER_NODE} ))
# start STAR-CCM+
starccm+ -batch -cpubind v -np ${NUMCORES} --batchsystem slurm -power -podkey $PODKEY ${CCMARGS}