Cast3M
Cast3M (Castem) est un logiciel de simulation numérique utilisé en mécanique des structures, et développé par le Département de Modélisation des Systèmes et Structures (DM2S), autrefois Département Mécanique et Technologie (DMT), du Commissariat français à l'Energie Atomique et aux énergies alternatives (CEA). Il est mis à disposition gracieusement pour l'enseignement et la recherche.
Développé par | CEA |
---|---|
Dernière version | 2020 |
Type | Simulation numérique |
Politique de distribution | Gratuit pour l'enseignement et la recherche |
Site web | www-cast3m.cea.fr |
Il utilise la méthode des éléments finis pour résoudre différents types de problèmes scientifiques.
Historique
Cast3M est développé depuis les années 80 par l'ancien Département Mécanique et Technologie (DMT) du Commissariat français à l'Énergie Atomique et aux énergies alternatives (CEA) [1]. Le langage de programmation utilisé pour développer Cast3M est le langage ESOPE, extension du langage Fortran 77 [2].
Originellement désigné CASTEM2000, dans sa version actuelle ce logiciel est appelé Cast3M. De nouvelles versions sont proposées annuellement au téléchargement, garantissant la compatibilité avec la plupart des systèmes d'exploitation.
Fonctionnement de Cast3M
Cast3M utilise le langage Gibiane[3] pour décrire les données et les opérations. Cast3M, contrairement à la plupart des codes éléments finis, est rédigé entièrement en Français. Cast3M est à la fois un programme de maillage, un programme de calcul et un programme de visualisation des résultats.
Son fonctionnement repose sur l'utilisation de processus élémentaires : les OPERATEURS et les DIRECTIVES. Les informations sont appelées OBJETS. Les opérateurs opèrent sur l'espace des objets.
- Les OBJETS sont nommés par l'utilisateur. Ils sont typés (exemples : nombre entier, flottant, point, ligne, maillage, matrice de rigidité, déformée…), ce qui permet aux opérateurs de les exploiter et de vérifier la syntaxe des données.
- Les OPERATEURS ont un nom. Ils créent un ou plusieurs objets dont les noms sont choisis par l'utilisateur. La seule condition de fonctionnement d'un opérateur dépend de l'existence de l'information au moment de son utilisation. L'utilisation d'un opérateur s'écrira toujours :
{nom du (des) résultat(s)} = {nom de l'opérateur} {nom de(s) l'information(s)} ; Le point-virgule indique la fin de l'instruction élémentaire.
- Les DIRECTIVES modifient un ou plusieurs objets existants ou produisent une sortie sur une unité logique (écran, imprimante, …). Elles ne créent pas de nouveaux objets.
Il n'y a aucune distinction entre les opérateurs ou directives de pré-traitement, de calcul et de post-traitement, ils peuvent donc être utilisés à tout moment du programme selon les besoins du problème.
Les opérateurs ne sont qu'une classe particulière d'objets.
Chaque processus possède une notice (en français et en anglais), disponible sur la page : Notice Cast3M
Organisation d'un calcul
Contrairement à d'autres logiciels d'éléments finis, Cast3M ne possède pas d'interface graphique permettant de poser le problème désiré facilement, ce qui rend ce logiciel un peu difficile d'utilisation pour un débutant. Cast3M ne possède pas d'éditeur de texte propre mais plusieurs modules ont été développés dans des éditeurs libres pour faciliter son utilisation, et sont disponibles dans sa rubrique 'Utilitaires'. Pour réaliser un calcul avec Cast3M, il faut créer un fichier texte (avec un éditeur de texte), l'enregistrer au format .dgibi puis le lancer avec Cast3M. Nous décrivons donc ici le contenu du fichier .dgibi que l'on devra lancer dans Cast3M. L'organisation d'un calcul se fait de la manière suivante :
- Choix de la géométrie et du maillage : définition des points, lignes, surfaces… et choix du type de maillage.
- Définition du modèle mathématique et physique : données caractérisant le modèle, propriétés matérielles, conditions aux limites, conditions initiales…
- Résolution du problème discrétisé : calcul des matrices de rigidité et de masse, assemblage, application des chargements, résolution.
- Analyse et post-traitement des résultats.
Le fait que l'on puisse utiliser à tout moment du programme n'importe lequel des opérateurs (qu'il soit de type mailleur, définition de modèle, visualisation…) permet de nombreuses facilités telles que :
- la visualisation des informations à toutes les étapes de manière à contrôler les données introduites et le déroulement du calcul,
- l'archivage et la restauration des informations afin d'être capable d'interrompre un calcul et de le continuer ultérieurement,
- la possibilité d'itérer dans les étapes désirées.
C'est dans cette mesure que Cast3M dépasse donc les limites d'adaptabilité offertes par les codes de calcul conventionnels.
Institutions utilisant Cast3M
Des cours s'appuyant sur Cast3M sont donnés dans de nombreux établissements d'enseignement supérieur préparant leurs élèves à la recherche en mécanique :
- École supérieure d'électricité
- École centrale Paris
- École centrale Nantes
- École normale supérieure de Cachan (départements de Génie Civil et de Génie Mécanique).
- École des Ponts ParisTech
- Université Pierre-et-Marie-Curie
- École polytechnique
- ENSTA ParisTech
- École des Mines de Paris
- ENSIB
- ENSICAEN (École nationale supérieure d'ingénieurs de Caen)
- ENSTIB
- École spéciale des travaux publics, du bâtiment et de l'industrie
- Institut supérieur aquitain du bâtiment et des travaux publics
- Institut national des sciences appliquées
- Université de Limoges
- ENSIATE
- Polytech'Montpellier
- Polytech' Marseille (département Génie Civil)
- EPF (Sceaux)
- ENSIACET
- Université d'Artois
- Université de Bretagne-Sud
- Université de Poitiers
- Université Clermont-Auvergne
- Université de Lille
- Polytech Tours
Notes et références
- Présentation générale de CASTEM2000 :
- Thierry Charras et J. Kichenin, DĂ©velopper dans Cast3m, CEA, (lire en ligne)
- Le langage de commande Gibiane: description informelle: