LS-DYNA est un logiciel de simulation numérique avancé, spécialisé dans l’analyse explicite et implicite des structures soumises à des sollicitations dynamiques complexes. Il est particulièrement reconnu pour ses capacités en crash-test automobile, impact, chute, explosion et autres phénomènes transitoires à haute non-linéarité.
Ingénieurs, chercheurs et concepteurs utilisent LS-DYNA pour modéliser le comportement des matériaux et des structures dans des conditions extrêmes, afin d’optimiser la sécurité, la fiabilité et la performance des conceptions. Le logiciel repose sur la méthode des éléments finis (EF) pour résoudre des équations hautement non linéaires, permettant de reproduire avec précision des phénomènes réels et de fournir une aide essentielle à la prise de décision en ingénierie.
Pour lancer une simulation LS-DYNA sur Qarnot, vous devez nous autoriser à accéder à votre licence. Pour plus de détails, veuillez contacter notre équipe via support-compute@qarnot-computing.com.
Nous supposerons, à partir de maintenant, que votre configuration de licence avec nous est déjà terminée.
Voici les versions actuellement disponibles sur Qarnot :
Si une autre version vous intéresse, veuillez nous envoyer un e-mail à support-compute@qarnot-computing.com.
Avant de lancer un calcul avec le Python SDK, quelques étapes sont nécessaires :
Note : en plus du Python SDK, Qarnot propose également des SDKs pour C# et Node.js, ainsi qu'une ligne de commande (CLI).
Ce cas test vous montrera comment lancer le modèle Drop Test : EXP_SC_DROP.key. Il provient du site d’Ansys.
Une fois le fichier téléchargé, placez-le dans un répertoire nommé dyna_drop_test.
Une fois que tout est configuré, utilisez le script run-ls-dyna.py ci-dessous pour lancer le calcul sur Qarnot.
Pour lancer le calcul sur Qarnot, enregistrez le code ci-dessus en tant que script Python dans votre répertoire de travail. Avant de l'exécuter, assurez-vous de mettre à jour les constantes suivantes au début du script :
Une fois cela fait, la structure de vos fichiers devrait ressembler à ceci :
├─ dyna_drop_test/
│ ├─ EXP_SC_DROP.key
├─ run-ls-dyna.py
Pour lancer ce script, exécutez simplement python3 run-ls-dyna.py dans votre terminal.
Vous savez désormais lancer une tâche ls-dyna sur Qarnot !
Vous devriez maintenant avoir un dossier dyna_drop_test-out dans votre répertoire de travail sur votre ordinateur et un bucket dyna_drop_test-out dans Tasq contenant tous les fichiers de sortie.
Vous pouvez visualiser directement sur tasq certaines images et fichiers de logs générées par la simulation qui se trouvent dans votre bucket de sortie.
Vos résultats seront stockés dans le bucket dyna_drop_test-out et peuvent être récupérés de trois manières :
Pour une grande quantité de fichiers ou plus de 5gb de donnée, il est conseillé d’utiliser rclone (linux) ou cyberduck (windows). Ce sont deux applications opensource de gestion de bucket S3.
Pour cette partie, nous partirons du principe que vous avez déjà lancé une tâche simple sur Qarnot.
Il est aussi possible de lancer plusieurs cas ls-dyna par instance. Pour ce faire, il faudra créer une pool puis lancer des tâches dans cette pool.
Il y a donc deux étapes
Avant de créer une pool avec le Python SDK, quelques étapes sont nécessaires :
Slots : Chaque pool peut accueillir X simulation en même temps. On parle de slots.
Instances : Une pool peut rassembler une ou plusieurs instances. Il s’agit là de définir combien d’instances, de 28 ou 96 coeurs, vous souhaitez utiliser.
Ci-dessous, vous trouverez le script python pour lancer votre premier pool:
Vous l’aurez remarqué, l'envoi des fichiers d’input ne se fait pas à cette étape, mais plus tard lors du lancement de vos tâches.
Une fois votre pool lancé, le script affichera dans votre STDOUT :
Avant de créer une pool avec le Python SDK, quelques étapes sont nécessaires :
C’est ici que vous lancez votre tâche. Donc vous aurez besoin d’un bucket d’entrée et d’un bucket de sortie, ils peuvent être identiques ou uniques par tâche.
Par contre, vous n’aurez pas besoin de définir un profil ou une version d’LS-DYNA car ils sont déjà définis dans la pool.
Le script python ci-dessous est à utiliser pour chaque nouvelle simulation.
Pour un tâche dans une pool, ne pas utiliser le bouton abort. Il faut suivre le guide ci-dessous sinon la pool entière s'arretera.
Une fois votre pool lancée, il est possible d’annuler des tâches à l’aide de la commande suivante : SCHED_UI=”true” /qarnot/utils/slot_scheduler abort
Depuis le lien VNC affiché une fois la pool lancée, vous pouvez lancer un terminal et y exécuter la commande. A partir de l’interface graphique ouverte, vous pourrez sélectionner des tâches et les terminer en cliquant sur le bouton OK.