ABAQUS

Le logiciel ABAQUS est installé sur Newton et accessible :

  • en mode graphique (avec une interface) les machines de prepost-

  • en mode batch sur ces mêmes machines et sur les noeuds calcul

Son usage est réservé aux utilisateurs du LTDS.

Configuration de votre shell

Ajouter à la fin du fichier $HOME/.bashrc la ligne suivante

export PATH=/softs/manual/ltds/Simulia2022/Commands:$PATH

Utilisation en mode graphique

Il vous faut se connecter sur les machines proposant des serveurs graphiques, en utilisant X2Go. Une fois arrivé sur le bureau distant, ouvrir un terminal et lancer la commande

vglrun abaqus cae

et la fenêtre de visualisation s’affiche sur votre bureau distant.

ABAQUS CAE

Utilisation en mode console

Pour utiliser ABAQUS de manière efficace sur le calculateur, il est nécessaire d’utiliser les noeuds de calcul. Toutefois, lors de vos débuts, il est préférable de faire des tests sur les machines facilitant le travail interactif. Les différents modes d’usage sont détaillés ci-dessous

Exécution en interactif sur les machines de prepost-*

Pour les étapes de mise au point, test ou débogage, il est pratique de travailler directement sur les machines de services plutôt que sur les nœuds de calcul.

abaqus job=DEMO input=Mon_cas.inp cpus=2

Exécution en batch sur les noeuds

Le calculateur utilise le gestionnaire de ressource SLURM pour attribuer aux utilisateurs des coeurs et de la mémoire. Voici un exemple de script de soumission d’un job :

#!/bin/bash -l
#SBATCH -J AbaqusTest
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=16
#SBATCH --cpus-per-task=1
#SBATCH --time=1-12:00:00
#SBATCH -p haswell,skylake
#SBATCH -o %x-%j.log

### Chargement d'une bibliothèque MPI
module load intel/2015a

### Necessaire pour l'execution d'ABAQUS
unset SLURM_GTIDS

### Creation d'un fichier de configuration de l'environnement
env_file=abaqus_v6.env
cat << EOF > ${env_file}
#verbose = 3
#ask_delete = OFF
mp_file_system = (SHARED, LOCAL)
EOF

node_list=$(scontrol show hostname ${SLURM_NODELIST} | sort -u)
mp_host_list="["
for host in ${node_list}; do
    mp_host_list="${mp_host_list}['$host', ${SLURM_CPUS_ON_NODE}],"
done
mp_host_list=$(echo ${mp_host_list} | sed -e "s/,$/]/")
echo "mp_host_list=${mp_host_list}"  >> ${env_file}

### Set input file and job (file prefix) name here
job_name=${SLURM_JOB_NAME}
input_file=your_input_file.inp

### ABAQUS parallel execution
abaqus job=${job_name} input=${input_file} cpus=${SLURM_NTASKS} standard_parallel=all mp_mode=mpi interactive