Star-CCM+/fr: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
Line 8: | Line 8: | ||
Vous pouvez acheter une licence POD (<i>Power On Demand</i>) directement de [https://www.plm.automation.siemens.com/global/en/buy/ 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. | Vous pouvez acheter une licence POD (<i>Power On Demand</i>) directement de [https://www.plm.automation.siemens.com/global/en/buy/ 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. | ||
<div class="mw-translate-fuzzy"> | |||
== Utilisation de votre propre serveur de licence == | == Utilisation de votre propre serveur de licence == | ||
Afin de configurer votre compte pour utiliser votre propre serveur de licence, créez le fichier <code>$HOME/.licenses/starccm.lic</code> qui contient | Afin de configurer votre compte pour utiliser votre propre serveur de licence, créez le fichier <code>$HOME/.licenses/starccm.lic</code> qui contient | ||
Line 13: | Line 14: | ||
USE_SERVER}} | USE_SERVER}} | ||
où <code>IP</code> et <code>PORT</code> sont remplacés par l'adresse IP et le port de votre serveur de licence. | où <code>IP</code> et <code>PORT</code> sont remplacés par l'adresse IP et le port de votre serveur de licence. | ||
</div> | |||
=== Fichier pour une licence POD === | === Fichier pour une licence POD === | ||
<div class="mw-translate-fuzzy"> | |||
Si vous disposez d'une licence POD de [https://www.plm.automation.siemens.com/global/en/buy/ Siemens] configurez le fichier <code>$HOME/.licenses/starccm.lic</code> sur la ou les grappes où les tâches seront exécutées. | Si vous disposez d'une licence POD de [https://www.plm.automation.siemens.com/global/en/buy/ Siemens] configurez le fichier <code>$HOME/.licenses/starccm.lic</code> sur la ou les grappes où les tâches seront exécutées. | ||
{{File|name=starccm.lic|contents=SERVER flex.cd-adapco.com ANY 1999 | {{File|name=starccm.lic|contents=SERVER flex.cd-adapco.com ANY 1999 | ||
USE_SERVER}} | USE_SERVER}} | ||
</div> | |||
<div class="mw-translate-fuzzy"> | |||
= Soumettre des tâches en lot sur nos grappes = | = Soumettre des tâches en lot sur nos grappes = | ||
Sélectionnez l’un des modules disponibles, selon vos besoins : | Sélectionnez l’un des modules disponibles, selon vos besoins : | ||
* <code>starccm</code> pour le format double précision, | * <code>starccm</code> pour le format double précision, | ||
* <code>starccm-mixed</code> pour le format précision mixte. | * <code>starccm-mixed</code> pour le format précision mixte. | ||
</div> | |||
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 [[Technical support/fr|soutien technique]] pour obtenir de l'aide. | <div class="mw-translate-fuzzy"> | ||
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 [[Technical support/fr|soutien technique]] pour obtenir de l'aide. | |||
</div> | |||
<tabs> | <tabs> | ||
Line 61: | Line 66: | ||
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | ||
<div class="mw-translate-fuzzy"> | |||
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | # supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | ||
starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim | starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim | ||
</div> | |||
}}</tab> | }}</tab> | ||
Line 95: | Line 102: | ||
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | ||
<div class="mw-translate-fuzzy"> | |||
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | # supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | ||
starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | ||
</div> | |||
}}</tab> | }}</tab> | ||
Line 122: | Line 131: | ||
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com" | ||
<div class="mw-translate-fuzzy"> | |||
slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID | ||
</div> | |||
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | ||
<div class="mw-translate-fuzzy"> | |||
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | # supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | ||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi intel -fabric psm2 | ||
</div> | |||
}}</tab> | }}</tab> | ||
Line 163: | Line 173: | ||
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE)) | ||
<div class="mw-translate-fuzzy"> | |||
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | # supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement | ||
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi | starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi | ||
</div> | |||
}} | }} | ||
Line 197: | Line 209: | ||
ssh nia-gw -L 1999:flex.cd-adapco.com:1999 -L 2099:flex.cd-adapco.com:2099 -N -f | ssh nia-gw -L 1999:flex.cd-adapco.com:1999 -L 2099:flex.cd-adapco.com:2099 -N -f | ||
<div class="mw-translate-fuzzy"> | |||
cd $SLURM_SUBMIT_DIR | cd $SLURM_SUBMIT_DIR | ||
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 218: | Line 231: | ||
</tab> | </tab> | ||
</tabs> | </tabs> | ||
</div> | |||
= Visualisation à distance = | = Visualisation à distance = |
Revision as of 22:21, 22 July 2024
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 remplacés par 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.
#!/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 # Versions < 18.06.006
module load StdEnv/2023
#module load starccm/18.06.006-R8
module load starccm-mixed/18.06.006
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">
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement
starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/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 # Versions < 18.06.006
module load StdEnv/2023
#module load starccm/18.06.006-R8
module load starccm-mixed/18.06.006
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">
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement
starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/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 toute la mémoire par nœud
#SBATCH --ntasks-per-node=1 # ne pas modifier
#module load StdEnv/2020 # Versions < 18.06.006
module load StdEnv/2023
#module load starccm/18.06.006-R8
module load starccm-mixed/18.06.006
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@flex.cd-adapco.com"
<div class="mw-translate-fuzzy">
slurm_hl2hl.py --format STAR-CCM+ > $STARCCM_TMP/machinefile-$SLURM_JOB_ID
</div>
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE))
<div class="mw-translate-fuzzy">
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/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 # Versions < 18.06.006
module load StdEnv/2023
#module load starccm/18.06.006-R8
module load starccm-mixed/18.06.006
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">
# supprimez <i>-power -podkey $LM_PROJECT</i> si vous utilisez un serveur de licence de votre établissement
starccm+ -jvmargs -Xmx4G -jvmargs -Djava.io.tmpdir=$SLURM_TMPDIR -batch -power -podkey $LM_PROJECT -np $NCORE -licpath $CDLMD_LICENSE_FILE -machinefile $STARCCM_TMP/machinefile-$SLURM_JOB_ID $PWD/your-file.sim -mpi openmpi
</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=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
#SBATCH --mail-type=BEGIN
#SBATCH --mail-type=END
module load CCEnv
#module load StdEnv/2020 # Versions < 18.06.006
module load StdEnv/2023
#module load starccm/18.06.006-R8
module load starccm-mixed/18.06.006
export LM_PROJECT='YOUR CD-ADAPCO PROJECT ID GOES HERE'
export CDLMD_LICENSE_FILE="1999@127.0.0.1"
ssh nia-gw -L 1999:flex.cd-adapco.com:1999 -L 2099:flex.cd-adapco.com:2099 -N -f
<div class="mw-translate-fuzzy">
cd $SLURM_SUBMIT_DIR
slurm_hl2hl.py --format STAR-CCM+ > $SLURM_SUBMIT_DIR/machinefile_$SLURM_JOB_ID
NCORE=$((SLURM_NNODES * SLURM_CPUS_PER_TASK * SLURM_NTASKS_PER_NODE))
# Solution en cas d'échec de la licence :
# jusqu'à ce que l'état en sortie soit égal à zéro, nous tentons de lancer Star-CCM+ (ici, au moins 5 fois)
i=1
RET=-1
while [ $i -le 5 ] && [ $RET -ne 0 ]; do
[ $i -eq 1 ] || sleep 5
echo "Attempt number: "$I
# si vous utilisez un serveur de licence de votre établissement, supprimez "-power -podkey $LM_PROJECT"
starccm+ -batch -power -podkey $LM_PROJECT -np $NCORE -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 connectez-vous. Quand le bureau distant est affiché, cliquez sur
ouvrez une fenêtre de terminal (Applications-->Systems Tools-->Mate Terminal) pour ouvrir une fenêtre de terminal et indiquez la version de Star-CCM que vous voulez charger (voir ci-dessous). Si voous avez déjà chargé un StdEnv, vous pouvez faire afficher les versions disponibles avec la commande module avail starccm-mixed
. Présentement, seulement l'implémentation MESA de OpenGL peut être utilisée sur gra-vdi avec starccm en raison de problèmes avec virtualgl qui offre l'accélération des GPU locaux pour les graphiques OpenGL.
- STAR-CCM+ 18.04.008 (ou versions plus récentes)
module load CcEnv StdEnv/2023
module load starccm-mixed/18.04.008
**OR**starccm/18.04.008-R8
- starccm+ -mesa
- STAR-CCM+ 15.04.010 --> 18.02.008 (de version X jusqu'à version Y)
module load CcEnv StdEnv/2020
module load starccm-mixed/15.04.010
**OR**starccm/15.04.010-R8
- starccm+ -mesa
- STAR-CCM+ 13.06.012 (ou versions moins récentes)
module load CcEnv StdEnv/2016
module load starccm-mixed/13.06.012
**OR**starccm/13.06.012-R8
- starccm+ -mesa