Star-CCM+/fr: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
Line 55: | Line 55: | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
<div class="mw-translate-fuzzy"> | |||
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | ||
</div> | |||
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK)) | NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK)) | ||
<div class="mw-translate-fuzzy"> | |||
starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim | starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim | ||
</div> | |||
}}</tab> | }}</tab> | ||
Line 77: | Line 81: | ||
module load StdEnv/2020 # ne pas modifier | module load StdEnv/2020 # ne pas modifier | ||
# | # module load starccm/18.02.008-R8 | ||
module load starccm-mixed/18.02.008 | module load starccm-mixed/18.02.008 | ||
Line 86: | Line 90: | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | ||
NCORE=$(( | NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | ||
<div class="mw-translate-fuzzy"> | |||
starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | ||
</div> | |||
}}</tab> | }}</tab> | ||
Line 108: | Line 114: | ||
module load StdEnv/2020 # ne pas modifier | module load StdEnv/2020 # ne pas modifier | ||
# | # module load starccm/18.02.008-R8 | ||
module load starccm-mixed/18.02.008 | module load starccm-mixed/18.02.008 | ||
Line 117: | Line 123: | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | ||
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK)) | NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK)) | ||
<div class="mw-translate-fuzzy"> | |||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | ||
</div> | |||
}}</tab> | }}</tab> | ||
Line 150: | Line 156: | ||
mkdir -p "$STARCCM_TMP" | mkdir -p "$STARCCM_TMP" | ||
<div class="mw-translate-fuzzy"> | |||
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID | ||
</div> | |||
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK)) | NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK)) | ||
<div class="mw-translate-fuzzy"> | |||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi | starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi | ||
</div> | |||
}} | }} | ||
Line 182: | Line 192: | ||
module load starccm/13.06.012-R8 | module load starccm/13.06.012-R8 | ||
<div class="mw-translate-fuzzy"> | |||
slurm_hl2hl.py --format STAR-CCM+ > $SLURM_SUBMIT_DIR/machinefile_$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > $SLURM_SUBMIT_DIR/machinefile_$SLURM_JOB_ID | ||
Line 201: | Line 212: | ||
</tab> | </tab> | ||
</tabs> | </tabs> | ||
</div> | |||
= Visualisation à distance = | = Visualisation à distance = |
Revision as of 19:16, 17 July 2023
STAR-CCM+ est une suite logicielle de simulation utilisée dans plusieurs spécialités de génie. Elle permet la modélisation dans des domaines variés dont l'acoustique, la dynamique des fluides, le transfert thermique, la rhéologie, l'écoulement polyphasique, le flux de particules, la mécanique des solides, les fluides réactifs, l'électrochimie et l'électromagnétisme.
Limites de la licence
Les binaires STAR-CCM+ sont installés sur nos serveurs, mais nous n'avons pas de licence pour utilisation générale; vous devez donc posséder votre propre licence. Vous pouvez acheter une licence POD (Power On Demand) directement de Siemens. Autrement, vous pouvez utiliser une licence locale hébergée par votre établissement pourvu que le pare-feu permette à la grappe où les tâches seront exécutées d'y accéder.
Utilisation de votre propre serveur de licence
Afin de configurer votre compte pour utiliser votre propre serveur de licence, créez le fichier $HOME/.licenses/starccm.lic qui contient
SERVER IP ANY PORT
USE_SERVER
où IP et PORT sont l'adresse IP et le port de votre serveur de licence.
Fichier pour une licence POD
Si vous disposez d'une licence POD de Siemens configurez le fichier $HOME/.licenses/starccm.lic sur la ou les grappes où les tâches seront exécutées.
SERVER flex.cd-adapco.com ANY 1999
USE_SERVER
Soumettre des tâches en lot sur nos grappes
Sélectionnez l’un des modules disponibles, selon vos besoins :
- starccm pour le format double précision,
- starccm-mixed pour le format précision mixte.
Vous devrez aussi configurer votre environnement pour l’utilisation de votre licence. Cette opération est plutôt simple si vous utilisez le serveur CD-adapco qui vous permet de payer uniquement pour votre consommation. Par contre, si vous utilisez un serveur de licence interne, contactez le soutien technique pour obtenir de l'aide.
Sur Niagara, les nœuds de calcul configurent le système de fichiers $HOME en lecture seule (read only). Il est donc important de définir la variable d'environnement $STARCCM_TMP et de la diriger vers $SCRATCH, ce qui est unique à la version de StarCCM+. Autrement, StarCCM+ tente de créer le répertoire dans $HOME et se termine de façon anormale.
#!/bin/bash
#SBATCH --account=def-group # indiquez le nom du compte
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm)
#SBATCH --nodes=1 # indiquez 1 ou plusieurs nœuds
#SBATCH --cpus-per-task=40 # demandez tous les cœurs par nœud
#SBATCH --mem=0 # demandez toute la mémoire par nœud
#SBATCH --ntasks-per-node=1 # ne pas modifier
module load StdEnv/2020 # ne pas modifier
# chargez le module starccm/18.02.008-R8
module load starccm-mixed/18.02.008
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com"
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}"
mkdir -p "$STARCCM_TMP"
<div class="mw-translate-fuzzy">
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID
</div>
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK))
<div class="mw-translate-fuzzy">
starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim
</div>
#!/bin/bash
#SBATCH --account=def-group # indiquez le nom du compte
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm)
#SBATCH --nodes=1 # indiquez 1 ou plusieurs nœuds
#SBATCH --cpus-per-task=48 # (ou 32) demandez tous les cœurs par nœud
#SBATCH --mem=0 # demandez toute la mémoire par nœud
#SBATCH --ntasks-per-node=1 # ne pas modifier
module load StdEnv/2020 # ne pas modifier
# module load starccm/18.02.008-R8
module load starccm-mixed/18.02.008
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com"
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}"
mkdir -p "$STARCCM_TMP"
slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE))
<div class="mw-translate-fuzzy">
starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2
</div>
#!/bin/bash
#SBATCH --account=def-group # indiquez le nom du compte
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm)
#SBATCH --nodes=1 # indiquez 1 ou plusieurs nœuds
#SBATCH --cpus-per-task=32 # (ou 44) demandez tous les cœurs par nœud
#SBATCH --mem=0 # demandez tous les cœurs par nœud
#SBATCH --ntasks-per-node=1 # ne pas modifier
module load StdEnv/2020 # ne pas modifier
# module load starccm/18.02.008-R8
module load starccm-mixed/18.02.008
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com"
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}"
mkdir -p "$STARCCM_TMP"
slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK))
<div class="mw-translate-fuzzy">
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2
</div>
#!/bin/bash
#SBATCH --account=def-group # indiquez le nom du compte
#SBATCH --time=00-01:00 # indiquez la limite de temps (jj-hh:mm)
#SBATCH --nodes=1 # indiquez 1 ou plusieurs nœuds
#SBATCH --cpus-per-task=64 # demandez tous les cœurs par nœud
#SBATCH --mem=0 # demandez toute la mémoire par nœud
#SBATCH --ntasks-per-node=1 # ne pas modifier
module load StdEnv/2020 # ne pas modifier
# chargez le module starccm/18.02.008-R8
module load starccm-mixed/18.02.008
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com"
export STARCCM_TMP="${SCRATCH}/.starccm-${EBVERSIONSTARCCM}"
mkdir -p "$STARCCM_TMP"
<div class="mw-translate-fuzzy">
slurm_hl2hl.py --format STAR-CCM+ > machinefile-$SLURM_JOB_ID
</div>
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK))
<div class="mw-translate-fuzzy">
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -np $NCORE -podkey $LM_PROJECT -licpath $CDLMD_LICENSE_FILE -machinefile $PWD/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi
</div>
#!/bin/bash
#SBATCH --time=0-00:30 # indiquez la limite de temps (jj-hh:mm)
#SBATCH --nodes=1 # indiquez 1 ou plusieurs nœuds
#SBATCH --cpus-per-task=40 # demandez tous les cœurs par nœud
#SBATCH --ntasks-per-node=1 # ne pas modifier
#SBATCH --mail-type=BEGIN
#SBATCH --mail-type=END
cd $SLURM_SUBMIT_DIR
ssh nia-gw -L 1999:flex.cd-adapco.com:1999 -L 2099:flex.cd-adapco.com:2099 -N -f
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@127.0.0.1"
module load CCEnv
module load StdEnv/2018.3
module load starccm/13.06.012-R8
<div class="mw-translate-fuzzy">
slurm_hl2hl.py --format STAR-CCM+ > $SLURM_SUBMIT_DIR/machinefile_$SLURM_JOB_ID
NCORE=$((SLURM_NTASKS * SLURM_CPUS_PER_TASK))
# nous contournons les problèmes de licence
# en lançant Star-CCM+ jusqu'à ce que le code de sortie soit égal à 0 (ici, au plus 5 fois)
i=1
RET=-1
while [ $i -le 5 ] && [ $RET -ne 0 ]; do
[ $i -eq 1 ] || sleep 5
echo "Attempt number: "$i
starccm+ -batch -power -np $NCORE -podkey $LM_PROJECT -machinefile $SLURM_SUBMIT_DIR/machinefile_$SLURM_JOB_ID $SLURM_SUBMIT_DIR/your-simulation-file.java $SLURM_SUBMIT_DIR/your-simulation-file.sim > $SLURM_JOB_ID.results
RET=$?
i=$((i+1))
done
exit $RET
Visualisation à distance
Préparation
Configurez votre compte pour visualiser à distance :
- Créez le fichier de licence
~/.licenses/starccm.lic
comme décrit ci-dessus. - Si vous avez une licence POD (Power-on-demand),
- configurez
export LM_PROJECT='CD-ADAPCO PROJECT ID'
et - ajoutez -power aux autres options ligne de commande, comme montré ci-dessous.
- configurez
Nœuds de calcul
Connectez-vous à un nœud avec TigerVNC et ouvrez une fenêtre de terminal, puis
- STAR-CCM+ 15.04.010 (ou versions plus récentes)
module load StdEnv/2020
module load starccm-mixed/17.02.007
**OU**starccm/16.04.007-R8
- starccm+
- STAR-CCM+ 14.06.010, 14.04.013, 14.02.012
module load StdEnv/2016
module load starccm-mixed/14.06.010
**OU**starccm/14.06.010-R8
- starccm+
- STAR-CCM+ 13.06.012 (ou versions moins récentes)
module load StdEnv/2016
module load starccm-mixed/13.06.012
**OU**starccm/13.06.012-R8
- starccm+ -mesa
Nœuds VDI
Connectez-vous à gra-vdi avec TigerVNC et ouvrez une fenêtre de terminal (Applications -> Systems Tools -> Mate Terminal), puis
- STAR-CCM+ 15.04.010 (ou versions plus récentes)
module load CcEnv StdEnv/2020
module load starccm-mixed/17.02.007
**OU**starccm/17.02.007-R8
- starccm+ -clientldpreload /usr/lib64/VirtualGL/libvglfaker.so
- STAR-CCM+ 14.06.013 (pour cette version)
module load CcEnv StdEnv/2016
module load starccm-mixed/14.06.013
**OU**starccm/14.06.013-R8
- starccm+ -clientldpreload /usr/lib64/VirtualGL/libvglfaker.so
- STAR-CCM+ 13.06.012 (ou versions moins récentes)
module load CcEnv StdEnv/2016
module load starccm-mixed/13.06.012
**OU**starccm/13.06.012-R8
- starccm+ -mesa