Gmsh est un outil de maillage léger et facile à utiliser, disponible en open source. Il permet d'utiliser des API dans plusieurs langages de programmation pour lancer les étapes de maillage. L'exécution de votre maillage Gmsh sur Qarnot est aussi simple que de télécharger votre cas et de lancer un script. Voici un aperçu des différentes étapes.
Le cas de test utilise Gmsh 4.8.4, sorti en 2021
Si une autre version vous intéresse, n'hésitez pas à nous envoyer un e-mail à qlab@qarnot.com.
Veuillez vous assurer que vous avez créé un compte Qarnot.
Ce cas de test est basé sur trois cubes simples à mailler. Vous pouvez télécharger les fichiers ici, qui contiennent la définition de la géométrie dans un fichier Gmsh. Vous devez le placer au même niveau que le script de lancement du calcul. Veuillez noter qu'il doit être décompressé avant de pouvoir être utilisé sur Qarnot.
Avant de commencer un calcul avec le SDK Python, quelques étapes sont nécessaires :
Remarque : en plus du SDK Python, Qarnot fournit des SDK C# et Node.js, ainsi qu'une ligne de commande.
Une fois que tout est configuré, le script suivant doit être utilisé pour démarrer le calcul. 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.
import qarnot
# Create a connection, from which all other objects will be derived
# Enter client token here
conn=qarnot.connection.Connection(client_token='<<<MY_SECRET_TOKEN>>>')
# Create a task
task = conn.create_task("Hello World - Gmsh", "docker-batch", 1)
# Create the input bucket and synchronize with a local folder
# Insert a local folder directory
input_bucket = conn.create_bucket("gmsh-in")
input_bucket.sync_directory("hex")
# Attach the bucket to the task
task.resources.append(input_bucket)
# Create a result bucket and attach it to the task
task.results = conn.create_bucket("gmsh-out")
# Define the Docker image and the command to be run in the container
task.constants["DOCKER_REPO"] = "qarnotlab/gmsh"
task.constants["DOCKER_TAG"] = "4.8.4"
task.constants['DOCKER_CMD'] = "gmsh hex.geo -3 -format vtk"
# Submit the task
task.run(output_dir="gmsh_results")
Pour lancer ce script, copiez simplement le code précédent dans un script Python, placez-le au même niveau que le dossier hex
et exécutez python3 gmsh.py &
dans votre terminal.
À tout moment, vous pouvez surveiller l'état de votre tâche sur l'interface web générale de la Console.
Vous devriez également avoir maintenant un dossier de résultats dans le bucket de sortie et sur votre ordinateur, contenant le résultat du maillage. Vous pouvez ouvrir le fichier hex.vtk
dans Paraview ou tout autre visualiseur. Vous pouvez aussi utiliser notre payload Paraview Web pour visualiser les résultats en ligne si nécessaire.
Et voilà ! Si vous avez des questions, veuillez contacter qlab@qarnot.com et nous vous aiderons avec plaisir !