# Cast3M – Un logiciel de calcul par éléments finis en mécanique des structures et des fluides, basé sur Gibiane un langage orienté objet

Pierre Verpeaux, Clément Berthinier, Benoit Prabel

► To cite this version:

Pierre Verpeaux, Clément Berthinier, Benoit Prabel. Cast3M – Un logiciel de calcul par éléments finis en mécanique des structures et des fluides, basé sur Gibiane un langage orienté objet. 14ème Colloque National en Calcul de Structures (CSMA 2019), May 2019, Giens, France. hal-03205657

HAL Id: hal-03205657

https://hal.science/hal-03205657v1

Submitted on 20 Dec 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
# Cast3M – Un logiciel de calcul par éléments finis en mécanique des structures et des fluides, basé sur Gibiane un langage orienté objet

P. Verpeaux<fnref n="1" />, C. Berthinier<fnref n="2" />, B. Prabel<fnref n="3" />

**Résumé** — Cast3M est un code de calcul par éléments finis disponible sur les plateformes *Linux*, *IBM-Aix*, *MacOS X* et *Windows*. Le langage Gibiane permet à l'utilisateur d'expérimenter facilement de nouveaux modèles et méthodes et d'utiliser les objets et opérateurs élémentaires pré-existants et validés de Cast3M pour résoudre ses propres problèmes. De nombreux modèles sont implémentés nativement afin de réaliser des calculs de structure, mécanique des fluides, thermique, diffusion...

**Mots clefs** — Cast3M, éléments finis, langage Gibiane, opérateurs, procédures

## 1. Présentation de Cast3M

Cast3M est un code de calcul utilisant la méthode des éléments finis pour la mécanique des structures et des fluides. Cast3M est disponible nativement pour les plateformes *Linux*, *IBM-Aix*, *MacOS X* et *Windows*. Il peut être porté sur toute autre plateforme disposant d'un compilateur *FORTRAN*.

Le développement de Cast3M entre dans le cadre d'une activité de recherche dans le domaine de la mécanique, le but étant de définir un instrument de haut niveau, pouvant servir de support à la conception, au dimensionnement et à l'analyse de structures et de composants, dans le domaine nucléaire comme dans le secteur industriel classique.

Cast3M permet de traiter des problèmes de mécanique (jusqu'à la ruine des structures), de thermique, de diffusion, linéaire ou non linéaires (matériau, géométrique, relations unilatérales et frottement), stationnaires ou dynamique (selon un schéma implicite ou explicite, sur base physique ou modale). Il permet notamment de réaliser des calculs couplant la mécanique des fluides à la mécanique des structures.

<footnote n="1">¹CEA-Saclay, DEN/DANS/DM2S/SEMT, France, pierre.verpeaux@cea.fr, http://www-cast3m.cea.fr</footnote>

<footnote n="2">²CEA-Saclay, DEN/DANS/DM2S/SEMT/LM2S, France, clement.berthinier@cea.fr</footnote>

<footnote n="3">³CEA-Saclay, DEN/DANS/DM2S/SEMT/DYN, France, benoit.prabel@cea.fr</footnote>
## 2. Cast3M – Une plateforme de développement

Grace à son modèle de représentation en objets manipulés par des opérateurs élémentaires, l'utilisateur peut facilement développer ses propres fonctionnalités et étendre le domaine d'utilisation de Cast3M pour répondre à de nouveaux besoins.

Cast3M utilise le langage Gibiane pour enchaîner les opérations. Il peut fonctionner en mode interactif (commande par commande) ou en exécutant un fichier contenant les instructions. Ce langage permet de réaliser des opérations de haut niveau algorithmique en encapsulant des opérations élémentaires dans des procédures. Il possède aussi tous les attributs d'un langage informatique orienté objet : typage dynamique des données, expressions conditionnelles, expressions répétitives, traitement des exceptions, récursivité, etc. De plus, aux objets classiquement disponibles dans les langages informatiques usuels (LOGIQUES, ENTIERS, FLOTTANTS, MOTS, TABLES) viennent s'ajouter des objets propres à la modélisation par éléments finis : MAILLAGES, MODELES, RIGIDITES, CHAMPS, FONCTIONS, CONDITIONS AUX LIMITES. Gibiane est à la fois un langage de programmation et de modélisation.

Cast3M est un système complet intégrant non seulement des outils de résolution numérique mais également des opérations de pré/post-traitement permettent de surcroit le contrôle des données et la surveillance des calculs en cours d'exécution.

La grande flexibilité offerte par le programme ne dispense toutefois pas l'utilisateur d'apprendre à poser ses problèmes de calcul selon la méthode adoptée dans le code. Il est important de comprendre comment se déroule l'ensemble d'une analyse par éléments finis, de façon à pouvoir toujours faire un rapprochement direct entre l'opération arithmétique visée et les opérateurs à utiliser.
# 3. Phénomènes physique modélisables avec Cast3M

## 3.1. Mécanique statique et quasi-statique

- Élasticité (linéaire, non linéaire, isotrope, anisotrope, etc.)

- Plasticité (von Mises, Drucker-Prager, Chaboche, Camclay, Ottosen, etc.)

- Viscoplasticité, fluage (Norton, Maxwell, Chaboche, etc.)

- Endommagement (Mazars, Gurson, Rousselier, Chaboche-Lemaitre, etc.)

- Propriétés matériaux pouvant dépendre de n'importe quelle variable (temps, température, etc.)

- Couplage facile avec des lois matériaux utilisateur (UMAT ou MFRONT)

<figure><img src="image_2.png" /><figcaption>Figure 1 – Simulation d'un essai de voile en cisaillement (à gauche) et d'une enceinte de réacteur par l'IRSN (à droite)</figcaption></figure>

## 3.2. Contact, frottement, relations unilatérales

<figure><img src="image_3.png" /><figcaption>Figure 2 – Calcul des contraintes dans un clip de sac à dos (à gauche) et dans une paire de roues dentées (à droite)</figcaption></figure>
## 3.3. Instabilités et flambages

<figure><img src="image_4.png" /><figcaption>Figure 3 – Flambage élastique d'une barre en torsion avec auto-contact frottant instable (~14 tours)</figcaption></figure>

## 3.4. Dynamique

- Analyses fréquentielles ou temporelles pas à pas sur base physique ou modale

- Interaction fluide-structure

- Machines tournantes

<figure><img src="image_5.png" /><figcaption>Figure 4 – Vibrations quasi-périodiques d'un cintre de générateur de vapeur impactant sur des barres anti-vibratoires et excité par des forces fluide-élastiques</figcaption></figure>
### 3.5. Mécanique de la rupture

- Éléments finis enrichis (X-FEM)

- Propagation de fissures quasi-statique ou dynamique

- Approche local (FIS) ou énergétique (intégrale J)

- Zones cohésives

<figure><img src="image_6.png" /><figcaption>Figure 5 – Propagation de fissures en élasto-plasticité à l'aide d'X-FEM : à gauche, comparaison / essais en dynamique ; à droite en fatigue</figcaption></figure>

### 3.6. Thermique et thermo-mécanique

- Conduction (stationnaire ou transitoire, linéaire ou non-linéaire, isotrope ou anisotrope)

- Convection

- Rayonnement (infini, face-à-face, cavité, etc.)
## 3.7. Changement de phase

- Métallurgique (Koistinen, Leblond), reconstitution de diagrammes CCT

- Parfait (corps purs, mélanges eutectiques, oxydation)

- Orientation cristalline durant la solidification (méthode « CAFÉ »)

<figure><img src="image_7.png" /><figcaption>Figure 6 – Diagramme CCT calculé (à gauche) et indicateur de phases (3 phases en présence – à droite)</figcaption></figure>

## 3.8. Mécanique des fluides

- Navier-Stokes stationnaire ou transitoire

- Compressible ou incompressible

- Laminaire ou turbulent

- Équation de Darcy (milieux poreux saturés)

- Méthode particulaire

<figure><img src="image_8.png" /><figcaption>Figure 7 – Convection naturelle dans une maquette d'enceinte (à gauche) et calcul d'angle de décollement d'un fluide autour d'un cylindre (à droite)</figcaption></figure>
## 3.9. Magnétostatique

- Potentiel, vecteur potentiel, scalaire

- Calcul des champs de Biot et Savart

- Courants de surface induits

- Comportement linéaire ou non-linéaire du matériau

<figure><img src="image_9.png" /><figcaption>Figure 8 – Efforts dans une bobine conductrice</figcaption></figure>

## 3.10. Optimisation topologique

- Procédure d'optimisation topologique (TOOPTIM – G. LE QUILLIEC)

- Procédure de reconstitution de surfaces (TOPOPSURF) dans un objectif d'impression 3D

<figure><img src="image_10.png" /><figcaption>Figure 9 – Optimisation d'un mécanisme de pince avec la procédure TOOPTIM</figcaption></figure>
### 3.11. Multi-Physiques

- Diffusion multi-espèces (loi de Fick)

- Couplages thermo-hydro-mécanique

<figure><img src="image_11.png" /><figcaption>Figure 10 – Corrosion d'une armature de béton</figcaption></figure>

### 3.12. Échange de données sous différents formats

<table><caption>Table 1 – Bilan des entrées/sorties depuis Cast3M</caption><thead><tr><td>Format</td><td>Entrée</td><td>Sortie</td></tr></thead><tbody><tr><td>UNV</td><td>OUI</td><td>NON</td></tr><tr><td>FEM</td><td>OUI</td><td>NON</td></tr><tr><td>CSV</td><td>OUI</td><td>NON</td></tr><tr><td>AVS</td><td>OUI</td><td>OUI</td></tr><tr><td>MED</td><td>OUI</td><td>OUI</td></tr><tr><td>NAS</td><td>OUI</td><td>OUI</td></tr><tr><td>STL</td><td>OUI</td><td>OUI</td></tr><tr><td>EXCE</td><td>NON</td><td>OUI</td></tr><tr><td>EXCE</td><td>NON</td><td>OUI</td></tr><tr><td>ABAQ</td><td>NON</td><td>OUI</td></tr><tr><td>VTK</td><td>NON</td><td>OUI</td></tr><tr><td>MAT</td><td>NON</td><td>OUI</td></tr><tr><td>CHAI</td><td>NON</td><td>OUI</td></tr><tr><td>FER</td><td>NON</td><td>OUI</td></tr></tbody></table>

## Références

[1] Cast3M : http://www-cast3m.cea.fr