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 <<<MY_SECRET_TOKEN>>>) pour pouvoir lancer la tâche sur Qarnot.

sample_codeaster.py

#!/usr/bin/env python3

import qarnot

# Create a connection
conn=qarnot.connection.Connection(client_token='&lt;&lt;&lt;MY_SECRET_TOKEN&gt;&gt;&gt;')

# Create a task
task = conn.create_task("codeaster", "docker-batch", 1)
 
# Create a resource bucket and add input files
input_bucket = conn.retrieve_or_create_bucket("codeaster-input")
input_bucket.sync_directory("input")

# Attach the bucket to the task
task.resources.append(input_bucket)

# Create a result bucket and attach it to the task .
output_bucket = conn.retrieve_or_create_bucket("codeaster-output")
task.results = output_bucket
 
task.constants["DOCKER_REPO"] = "qarnotlab/code_aster"
task.constants["DOCKER_TAG"] = "latest"
task.constants["DOCKER_CMD"] = "/job/allruncodeaster.sh"

# Submit the task to the Api, that will launch it on the cluster 
task.run(output_dir="codeasterout")

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