Retour
Simulation
Novembre 2023

Code-Aster sur Qarnot Cloud

Code-Aster est un puissant logiciel open source pour les simulations numériques en mécanique et en thermodynamique. Il est largement utilisé pour les analyses structurelles et thermiques dans divers domaines. Ce guide vous expliquera comment exécuter des simulations Code-Aster sur la plateforme Qarnot.

Version

Le cas de test utilise la version Code-aster 14.6.

Si une autre version vous intéresse, veuillez nous envoyer un e-mail à qlab@qarnot.com.

Cas de test

Veuillez vous assurer que vous avez créé un compte Qarnot.

Ce cas de test est basé sur une étude de POUTRE 2D. Vous pouvez télécharger le dossier du cas ici, qui contient le maillage et les fichiers de configuration. Vous devez le placer au même niveau de dossier que le script pour lancer le calcul. Veuillez noter qu'il doit être décompressé avant de pouvoir être utilisé sur Qarnot.

Lancer le cas

Avant de commencer un calcul avec le SDK Python, quelques étapes sont nécessaires :

En plus du SDK Python, Qarnot fournit des SDK C# et Node.js, ainsi qu'une interface en ligne de commande.

Une fois que tout est configuré, le script suivant doit être utilisé pour démarrer le calcul.

Pour lancer ce script, copiez simplement le code suivant dans un script Python, placez-le au même niveau que le dossier d'entrée et exécutez python3 SampleCodeaster.py dans votre terminal.

Votre arborescence de fichiers devrait ressembler à ceci :

Assurez-vous d'avoir copié votre jeton d'authentification dans le script (à la place de QARNOT_TOKEN) pour pouvoir lancer la tâche sur Qarnot.

sample_codeaster.py

"""
Script to launch a simple code-aster task on Qarnot's platform
"""

import qarnot
from qarnot.scheduling_type import OnDemandScheduling
import os

# =============================== Setup Variables =============================== #

CLIENT_TOKEN=os.getenv("QARNOT_TOKEN")         # If your token is in a .env. You can also execute, in your terminal, 'export QARNOT_TOKEN='your_token''.
PROFILE="code-aster"                           # Qarnot profile to use. Use "code-aster" to not have interenet acces and no ssh connectivity.

NB_INSTANCES = 1                               # Number of instances in your cluster.
CODE_ASTER_VERSION="16.7"                      # Code_Aster version

DIR_TO_SYNC = 'etudepoutre2D'                  # Exact name for your model's directory (for example "model_dir", if Radioss) or file with extension (for exemple "model.fem", if Optistruct)'
INPUT_BUCKET_NAME =  f"{DIR_TO_SYNC}-in"    
OUTPUT_BUCKET_NAME = f"{DIR_TO_SYNC}-out"
TASK_NAME = f"RUN test Code_Aster - {DIR_TO_SYNC}" 

CA_EXPORT_FILE = "etudepoutre2D.export"        # Your Code_Aster .export file. 

# =============================== Lauching a Task =============================== #

# Create a connection, from which all other objects will be derived
conn = qarnot.connection.Connection(client_token=CLIENT_TOKEN)

# Create task
task = conn.create_task(TASK_NAME, PROFILE, NB_INSTANCES)

# Create the input bucket and synchronize with a local folder
input_bucket = conn.retrieve_or_create_bucket(INPUT_BUCKET_NAME)
input_bucket.sync_directory(DIR_TO_SYNC)
task.resources.append(input_bucket)

# Create a result bucket and attach it to the task
output_bucket = conn.create_bucket(OUTPUT_BUCKET_NAME)
task.results = output_bucket

# Required settings
task.constants["CA_EXPORT_FILE"] = CA_EXPORT_FILE
task.constants['DOCKER_TAG'] = CODE_ASTER_VERSION
task.constants["SETUP_CLUSTER_NB_SLOTS"] = "26"
task.hardware_constraints = [qarnot.hardware_constraint.SpecificHardware("28c-128g-intel-dual-xeon2680v4-ssd")]

# Scheduling type
task.scheduling_type=OnDemandScheduling()

# You are ready to submit your task!
task.submit()

Résultats

À tout moment, vous pouvez suivre l'état de votre tâche sur l'interface web générale. La figure suivante montre une simulation de démonstration Code-Aster réussie .

Vous devriez également avoir un dossier de résultats dans le bucket de sortie (fichier .med) et sur votre ordinateur, contenant tous les résultats numériques. Vous pouvez ouvrir le fichier de sortie pour visualiser les résultats dans Gmsh ou tout autre logiciel de visualisation.

Conclusion

C'est tout ! Si vous avez des questions, n'hésitez pas à nous contacter à qlab@qarnot.com. Nous vous aiderons avec plaisir !

Retour

Nos articles