Presentation Cast3M
Presentation Cast3M
E. L E F ICHOUX
P RÉSENTATION ET U TILISATION
DE C AST 3M
É DITION 2011
Ce document a été initialement conçu et réalisé par Emmanuelle L E F ICHOUX
à l’École Nationale Supérieure des Techniques Avancées (ENSTA).
http://www-cast3m.cea.fr
Cast3M est un logiciel de calcul par la méthode des éléments finis pour la
mécanique des structures et des fluides. Cast3M est développé au Départe-
ment de Modélisation des Systèmes et Structures (DM2S) de la Direction de
l’Énergie Nucléaire du Commissariat à l’Énergie Atomique et aux Énergies
Alternatives (CEA).
Dans cette optique, Cast3M intègre non seulement les processus de réso-
lution (solveur) mais également les fonctions de construction du modèle
(pré-processeur) et d’exploitation des résultats (post-traitement). Cast3M est
un logiciel « boîte à outils » qui permet à l’utilisateur de développer des
fonctions répondant à ses propres besoins.
3 Les objets 17
3.1 Classification des objets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Utilisation des objets élémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 Utilisation des objets de maillage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.4 Utilisation des objets de calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.5 Objets EVOLUTION et TABLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4 Procédures 27
4.1 Définition d’une procédure pendant l’exécution . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Définition d’une procédure dans un fichier externe . . . . . . . . . . . . . . . . . . . . . . . . 28
5 Maillage 29
5.1 Création des points et des lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2 Création de surfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.1 Opérateurs SURFACE et DALLER . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.2 Opérateur REGLER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.2.3 Opérateurs TRANSLATION et ROTATION . . . . . . . . . . . . . . . . . . . . . . . 34
5.3 Création de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.1 Opérateur VOLUME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.2 Opérateur PAVER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4 Récapitulation des opérateurs de maillage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 Exemple : Maillage d’un cylindre creux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5
TABLE DES MATIÈRES
9 Erreurs classiques 59
10 Calculs mécaniques 63
10.1 Chargement type poids propre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.1.1 Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.1.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
10.1.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
10.2 Calcul axisymétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.2.1 Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.2.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
10.2.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
10.3 Calcul dynamique pas à pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.3.1 Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.3.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
10.3.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
11 Calculs thermiques 73
11.1 Calcul du champ de températures d’un tube épais . . . . . . . . . . . . . . . . . . . . . . . . 73
11.1.1 Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
11.1.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
11.1.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
11.2 Tube soumis à une convection forcée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2.1 Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
11.2.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
11.3 Calcul thermo-mécanique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.3.1 Données du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
11.3.2 Fichier de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
11.3.3 Commentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
Index 91
6
Chapitre 1
1.1 Historique
Le développement des codes de calcul a évolué de pair avec le matériel informatique. Au départ, les pro-
grammes de calcul étaient écrits pour résoudre des problèmes donnés et fonctionnaient généralement en boîte
noire.
Trois programmes constituant le noyau du système Cast3M ont été développés au CEA/DMT : il s’agissait
d’un programme de maillage, d’un programme de calcul et d’un programme de visualisation des résultats.
La multiplicité des problèmes a ensuite conduit à développer des programmes de calcul distincts capables de
communiquer entre eux le cas échéant.
Les progrès du matériel informatique a alors permis de développer de nombreuses fonctions qui réduisaient
les temps de préparation des jeux de données. Ainsi, il fallait remettre à niveau tous les codes en répercutant
dans chacun les améliorations et corrections effectuées dans l’un d’entre eux. De plus, les jeux de données
devenaient de plus en plus compliqués et le post-traitement devait être capable de relire des fichiers différents
selon les codes de calcul utilisés. À ces problèmes se sont ajoutés de nouveaux besoins tels que des structures
plus complexes mettant en jeu des phénomènes variés et couplés (couplage mécanique-thermique) ou bien
intégration des fonctions de maillage dans le processus de calcul (optimisation de forme).
Toutes ces considérations ont conduit à repenser à la base le problème du calcul numérique de manière à
développer un code de calcul de nouvelle génération : Cast3M.
Contrairement aux anciens codes de calcul, écrits pour résoudre des problèmes donnés et auxquels l’utili-
sateur doit se plier, Cast3M peut s’adapter aux besoins de l’utilisateur pour résoudre ses problèmes. De plus,
Cast3M donne à l’utilisateur la connaissance du problème effectivement posé et des méthodes employées.
7
CHAPITRE 1. PRÉSENTATION GÉNÉRALE DE CAST3M
8
1.4. MISE EN ŒUVRE
l’utilisateur d’adapter ses calculs selon les problèmes qu’il doit résoudre. Il donne à l’utilisateur la connaissance
du problème posé et des méthodes employées.
Ceci a été rendu possible par l’application :
– d’un principe : la SIMPLICITE,
– l’observation de quatre règles : l’ORTHOGONALITE, la VISIBILITE, la REGULARITE et la DOCU-
MENTATION,
– la poursuite d’un objectif : la QUALITE.
La simplicité Il s’agit d’un principe de bon sens, mais dont l’application n’est pas si aisée. C’est le fondement
de la démarche scientifique : il est facile de faire des choses compliquées à partir de choses simples. Par ailleurs,
simple ne signifie pas simpliste.
L’orthogonalité des processus Cette règle est basée sur deux idées :
– Les processus sont indépendants entre eux : on peut changer ou modifier un processus sans toucher aux
autres.
– Tous les processus peuvent se combiner, c’est ce qui fait la puissance du code.
Il en résulte que l’on peut tester le fonctionnement des processus de manière indépendante.
La visibilité et la localité des processus La visibilité vise à supprimer l’existence de données cachées, en
imposant que toutes les données soient indiquées au processus de manière visible, là où elles sont utilisées. La
localité permet principalement de détecter les erreurs de données à l’endroit où elles sont définies et non pas
beaucoup plus loin dans le calcul, ce qui rendrait leur diagnostic malaisé.
Cette double règle a un corollaire immédiat : l’information créée par le processus doit aussi être visible.
La régularité des processus Il s’agit d’une part de la régularité dans l’utilisation des processus et d’autre
part de la régularité dans les possibilités d’un processus.
– Régularité dans l’utilisation des processus : il n’existe pas d’exception dans la syntaxe des données. Ceci
permet d’avoir des syntaxes identiques pour des processus différents ayant besoin des mêmes données.
– Régularité dans les possibilités d’un processus : il n’existe pas d’exception dans les opérations possibles
du processus.
La documentation des processus La documentation d’un processus fait partie du processus et elle doit
être développée simultanément au processus. C’est elle qui permet à l’utilisateur de connaître la fonction du
processus et son utilisation.
La règle est que c’est la documentation qui a raison et non pas la programmation du processus.
9
CHAPITRE 1. PRÉSENTATION GÉNÉRALE DE CAST3M
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.
Langage GIBIANE Afin de convertir les noms des objets en entités informatiques utilisables par le pro-
gramme, il faut disposer d’une interface. C’est le langage GIBIANE qui va permettre à l’utilisateur de commu-
niquer directement avec le programme.
Les opérations avec GIBIANE consistent en une manipulation des objets existants dans le but de les modi-
fier ou d’en créer de nouveaux.
Utilisation de procédures Une des conséquences de l’architecture adoptée pour Cast3M est la possibilité de
créer des procédures, c’est-à-dire des méta-processus constitués d’un ensemble de processus élémentaires.
Ces procédures sont créées pour des besoins de nature diverse :
– certains enchaînement de données peuvent se retrouver de manière répétitive, les regrouper dans une
seule instruction permet d’améliorer la lisibilité du programme,
– faciliter l’utilisation du programme pour des personnes peu familiarisées avec la méthode des éléments
finis en revenant à un principe de boîte noire,
– pour des problèmes assez difficiles tels que des calculs non linéaires, il n’est pas raisonnable d’obliger
l’utilisateur à définir explicitement un algorithme de résolution,
– à l’inverse, l’utilisateur peut vouloir créer de nouveaux opérateurs, modifier ou remplacer certains opé-
rateurs selon ses besoins.
Les procédures sont écrites en langage de données et ont les propriétés suivantes :
– elles sont utilisables comme des opérateurs élémentaires,
– une procédure peut en appeler une autre et peut s’appeler elle-même,
– on peut surcharger un opérateur ou une procédure existante par une procédure,
– la séquence d’opérateurs élémentaires contenus dans une procédure est entièrement visible.
Grâce aux procédures, l’utilisateur peut programmer lui-même les processus nécessaires à la résolution de
son problème. Il peut encore écrire et tester très rapidement de nouveaux algorithmes sans avoir besoin de
modifier le logiciel.
À l’inverse, les procédures permettent de rendre transparents pour l’utilisateur des algorithmes et des mé-
thodes relativement complexes, tels que les algorithmes de calcul en plasticité, en grands déplacements, contacts
unilatéraux, etc...
10
Chapitre 2
11
CHAPITRE 2. ASPECTS GÉNÉRAUX D’UTILISATION
– Le programme associe un type à chaque chaîne de caractères rencontrée dans une ligne, il lui associe
aussi un contenu.
L’analyse d’une suite de caractères se fait de la façon suivante :
- si elle est encadrée par des guillemets, c’est une chaîne de caractères à prendre telle quelle.
Exemple : ’AbC3eD’
- elle peut être interprétée comme une valeur numérique.
Exemple : 3.5
- sinon elle est changée en majuscule puis on cherche si c’est le nom d’un objet existant auquel cas on
lui affecte son type et sa valeur.
Exemple : X = 5 ; Y = x + 3 ;
x est traduit en X et vaut 5.
- si ce n’est pas le nom d’un objet, on le crée avec un nom et un contenu identique à la suite de caractères
en majuscule.
Exemple : dFIN est interprété comme un mot DFIN qui contient DFIN.
Notons ici que les opérateurs et les mots-clés de Cast3M doivent être en majuscules, ainsi fin ou FIN ou
’FIN’ arrêtent le code alors que ’fin’ ne l’arrête pas.
Il est fortement déconseillé aux utilisateurs d’attribuer à un objet le nom d’un opérateur existant, car il ne
peut plus dans la suite du jeu de données être utilisé pour assurer sa fonction initiale.
Exemple de jeu de données :
OPTI DIME 3 ELEM SEG2 MODE TRID ;
OPTI ECHO 0 ;
*-Definition des points-
OEIL1 = 0. 0. 100. ;
P0 = 0. 0. 0. ;
P1 = 5. 0. 0. ;
P2 = 9. 0.5 0. ;
*-Definition des lignes-
C1 = C 15 P0 P1 P2 ;
L1 = D 5 P2 P0 ;
TRAC OEIL1 QUAL (C1 ET L1) ;
MESS ’Fin de l exemple’ ;
FIN ;
Options générales de calcul Les valeurs des principaux paramètres de contrôle créés par la directive OPTI
sont :
12
2.3. EXÉCUTION DU PROGRAMME
DIME : correspond à la dimension de l’espace utilisé par les opérateurs de maillage et de calcul. Valeurs : 1,
2 ou 3.
MODE : correspond au mode de calcul.
PLAN CONT : contraintes planes
PLAN DEFO : déformations planes
PLAN GENE P1 : déformations planes généralisées (P1= point support)
AXIS : axisymétrique
FOUR NN : analyse en série de Fourier (NN=numéro de l’harmonique)
TRID : tridimensionnel
ECHO : correspond à l’écho.
0 : les données n’apparaissent pas en sortie
1 : toutes les données apparaissent en sortie
DONN : correspond à l’unité logique sur laquelle le programme lit les données.
5 : les données sont lues au clavier
3 : numéro affecté par défaut au fichier de données
Pour interrompre l’exécution du programme en mode batch, il faut taper dans le fichier de données la
commande OPTI DONN 5 à l’endroit où l’on souhaite l’interruption ; l’utilisateur peut alors taper ses
instructions au clavier. S’il veut reprendre l’exécution du programme en cours, il doit taper OPTI DONN
3.
DENS : correspond à la densité courante (la valeur entrée spécifie la longueur de référence d’un élément).
ELEM : correspond au type d’éléments à fabriquer.
Exemple :
*Déclaration des paramètres
OPTI ’DIME’ 3 ’ELEM’ QUA4 ’MODE’ PLAN CONT ;
Dans cet exemple, le calcul se fait en 3D et en contraintes planes. Le maillage génère si possible
des quadrilatères à 4 nœuds et sinon des éléments de type linéaire.
Opérateurs et directives On peut insérer entre les directives OPTI et FIN n’importe quel opérateur ou direc-
tive.
• Un opérateur s’écrit sous la forme : OBJ1 = NOM_OPERATEUR OBJi ;
OBJ1 est l’objet ’résultat’ créé par l’opérateur.
OBJi est l’objet ’donnée’ ou argument nécessaire à l’opérateur. Le nombre d’arguments dépend de l’opérateur
choisi.
Exemple :
LIG1 = DROITE PA PB ;
L’opérateur DROITE crée un segment délimité par les points PA et PB. Dans cet exemple, les
arguments de l’opérateur DROITE sont les deux points frontières du segment.
Il existe également des arguments optionnels qui, selon les cas, ne sont pas obligatoires lors de l’appel de
l’opérateur. Reprenons l’exemple précédent en y ajoutant un argument optionnel :
Exemple :
LIG1 = DROITE 10 PA PB ;
L’argument optionnel concerne le nombre d’éléments générés sur le segment. Si on ne le précise
pas, le programme prend une valeur par défaut, fonction des densités associées aux points PA et
PB.
Certains opérateurs font appel à des arguments qui doivent être précédés par des mots-clés afin d’éviter
toute confusion entre les divers arguments de l’opérateur. Toujours sur le même exemple, on peut spécifier les
densités associées aux points frontières du segment, pour cela, il faut insérer les mots-clés DINI et DFIN devant
les arguments relatif aux densités :
13
CHAPITRE 2. ASPECTS GÉNÉRAUX D’UTILISATION
Exemple :
LIG1 = DROITE 10 PA PB ’DINI’ 1. ’DFIN’ 0.5 ;
• Une directive s’écrit sous la forme : NOM_DIRECTIVE OBJi ;
OBJi est l’objet ’donnée’ ou argument nécessaire à la directive. Le nombre d’arguments dépend de la directive
choisie.
Exemple :
TRAC OEIL1 GEO1 ;
La directive TRAC permet de dessiner l’objet GEO1 de type MAILLAGE avec un point de vue
OEIL1.
• Si les objets fournis sont incompatibles avec l’opérateur ou la directive, un message est imprimé avertis-
sant l’utilisateur de la non obtention du résultat et donnant une indication sur la nature de l’erreur.
14
2.3. EXÉCUTION DU PROGRAMME
Exemple :
$ * OPTI DIME 3 ELEM SEG2;
$ *
$ * PA = 10. 10. 0. ;
$ * PB = 20. 20. ;
***** ERREUR 37 ***** dans l’operateur =
Troisieme coordonnee ?
La lecture des donnees continue sur le terminal
Premiere ligne = donnees : deuxieme ligne = type des donnees.
20. 20.
FLOTTANT FLOTTANT
$
Les messages d’erreur les plus courants sont détaillés dans la partie 9. Nous ne saurions trop conseiller de
lire attentivement toutes les lignes du message d’erreur notamment la deuxième et les deux dernières lignes.
L’environnement dans castem Il existe plusieurs directives d’environnement qui permettent l’obtention de
l’aide en ligne (en mode interactif), la saisie de données au clavier, l’archivage et la restauration d’informations
(qui permettent d’interrompre des calculs et de les reprendre ultérieurement), etc... Nous allons présenter ici les
directives les plus usuelles.
INFO : fournit la documentation relative à l’opérateur demandé et s’utilise ainsi :
AIDE : liste tous les opérateurs utilisant le mot-clé demandé et s’utilise ainsi :
LIS1 = AIDE ’mot-clé’ ;
Après cette instruction, la liste de tous les opérateurs trouvés est imprimée.
SORTIR : permet de sortir un objet maillage dans le fichier défini dans les options par ’OPTI SORT Nfichier’
(Nfichier peut être un numéro d’unité logique ou un nom de fichier).
LIRE : permet de lire un objet maillage dans le fichier défini dans les options par ’OPTI LECT Nfichier’.
SAUVER : permet d’écrire un ou plusieurs objets dans le fichier défini dans les options par ’OPTI SAUV
Nfichier’. Cela permet d’interrompre des calculs et de les reprendre ultérieurement.
RESTITUER : permet de remettre en mémoire les objets contenus dans le fichier défini dans les options par
’OPTI REST Nfichier’.
OBTENIR : permet de saisir un ou plusieurs objets au clavier.
LISTE : permet d’afficher toutes les informations relatives à un objet.
Exemple :
OBTE NBRE1*FLOTTANT NBENT2*ENTIER ;
LIST NBRE1 ;
LIST NBENT2 ;
OPTI SORT 7 SAUV ’resu1.sort’ ;
SORTIR C1 ;
SAUV NBRE1 NBENT2 ;
L’objet maillage C1 est enregistré dans le fichier d’unité logique 7 c’est-à-dire fort.7.
Les objets NBRE1 et NBENT2 sont enregistrés dans le fichier de nom ’resu1.sort’.
15
CHAPITRE 2. ASPECTS GÉNÉRAUX D’UTILISATION
Il est possible d’obtenir la notice en anglais (ainsi que tous les messages d’exécution) en spécifiant dans
les options : OPTI LANG ANGLAIS.
16
3.1. CLASSIFICATION DES OBJETS
Chapitre 3
Les objets
La structure informatique de Cast3M est basée sur le concept d’objets qui sont des données relatives à
chaque processus. Les objets sont classés selon le type d’informations qu’ils renferment et selon la signification
que prennent ces informations au cours de l’analyse.
Certains types ne représentent que des données mathématiques ou informatiques (entier, flottant, liste de
mots, liste d’entiers, ...). D’autres ont un caractère plus physique et s’adaptent à une modélisation par éléments
finis (champs par point, champs par élément, matrices de rigidité, ...).
Au cours d’une exécution de Cast3M, le type des objets peut être obtenu en listant leur contenu avec la
directive LIST.
– Objets de maillage
17
CHAPITRE 3. LES OBJETS
– Objets de calcul
CHPOINT Objet contenant n’importe quel type de données définies aux nœuds du
maillage
LISTCHPO Objet constitué d’une liste de CHPOINT
MMODEL Objet associant un domaine physique, un maillage, une formulation élément
fini et un comportement de matériau.
MCHAML Objet contenant n’importe quel type de données définies dans les éléments du
maillage. Les valeurs du champ peuvent être définies au centre de gravité de
l’élément, aux nœuds de l’élément ou aux points d’intégration de l’élément
RIGIDITE Objet contenant les données relatives à des matrices de rigidité, de masse, de
rigidité géométrique, de conductivité. De manière générale, ce sont des ma-
trices couplant des inconnues physiques.
CHARGEMENT Objet contenant la description spatiale et temporelle d’un chargement
SOLUTION Objet contenant l’ensemble des valeurs et vecteurs propres associés à une ana-
lyse modale
CONFIGURATION Objet relatif à la description d’un champ de discrétisation
ATTACHE Objet contenant la description des liaisons entre sous-structures en vue d’une
analyse dynamique
BASEMODA Objet contenant la description des liaisons s’exerçant sur une structure et la
spécification de l’ensemble des modes et solutions statiques
BLOQSTRU Objet contenant la description des liaisons entre sous-structures en vue d’une
analyse dynamique
ELEMSTRU Objet permettant d’écrire des liaisons entre sous-structures et contenant la des-
cription d’un élément de structure avec la géométrie associée
STRUCTURE Objet relatif à la description d’une structure et contenant la rigidité et la masse
s’y rapportant
– Objets de post-traitement
VECTEUR Objet relatif à la visualisation d’un champ par points au moyen de vecteurs
DEFORME Objet relatif à la caractérisation d’un domaine déformé (obtenu en superposant
un objet de type MAILLAGE à un objet de type CHPOINT
18
3.2. UTILISATION DES OBJETS ÉLÉMENTAIRES
$ * LIST I5 ;
Entier valant: 81
Objets de type FLOTTANT Ils sont créés de la même façon que les entiers mais les nombres doivent conte-
nir un point ou être exprimés en notation puissance.
Exemple :
F1 = 2.5 ;
F2 = 4E-1 ;
F3 = F1 + F2 ;
MESS ’Valeur de F3 :’ F3 ;
L’opérateur MESS permet d’éditer sous forme de message les arguments attribués (de type EN-
TIER, FLOTTANT ou MOTS).
Objets de type LOGIQUE Ces objets contiennent une variable logique de valeur VRAI ou FAUX. Pour les
créer, on peut leur affecter directement les mots ’VRAI’ ou ’FAUX’. On peut aussi les créer avec les opérateurs
de comparaison EGA, >EG, <EG, <, > et NEG. Les variables logiques sont utilisées avec les directives SI,
SINON, FINSI.
Exemple :
LOG1 = VRAI ;
I1 = 2 ; I2 = 4 ;
I3 = I1 + 2 ;
LOG2 = I2 EGA I3 ;
SI LOG2 ;
MESS ’Les deux entiers I2 et I3 sont égaux ’ ;
SINON ; MESS ’Les deux entiers ne sont pas égaux’ ;
FINSI ;
Objets de type LISTENTI, LISTREEL et LISTMOTS Ces objets sont des listes d’entiers, de réels ou de
mots. Pour les créer, on peut utiliser l’opérateur PROG pour les réels, l’opérateur LECT pour les entiers ou
l’opérateur MOTS pour les mots.
Exemple :
LISR1 = PROG 5*1. ;
LISR2 = PROG 1. 1. 1. 1. 1. ;
LISR3 = PROG 1. ’PAS’ 1. 5. ;
LISR4 = PROG 1. ’PAS’ 1. ’NPAS’ 4 ;
LISI1 = LECT 4*3 ;
19
CHAPITRE 3. LES OBJETS
$ * LIST P1 ;
Point dont le numero est actuellement 1
Coordonnees: 0.00000E+00 0.00000E+00 0.00000E+00 Densite: 0.00000E+00
$ * LIST P2 ;
Point dont le numero est actuellement 2
Coordonnees: 8.6603 5.0000 0.00000E+00 Densite: 0.00000E+00
$ *
$ * FIN;
Lorsqu’on liste un objet de type POINT, il apparaît une quantité supplémentaire aux coordonnées. Il s’agit
de la densité. Cette valeur est nulle par défaut, on peut la modifier avec la directive DENS.
La densité permet de contrôler la taille locale des côtés des éléments se raccordant à un point. Elle s’exprime
dans la même unité que les coordonnées des points. Si l’on crée plusieurs éléments entre deux points, la taille
des éléments en ces deux points sera à peu près égale à la densité associée et la taille des autres éléments sera
une progression géométrique. Nous reviendrons sur la notion de densité dans la partie 5.
Il est possible de créer des objets de type POINT avec l’opérateur PLUS qui permet d’effectuer des trans-
lations.
Exemple :
P1 = 0. 1. ;
VEC1 = 1. 1. ;
P2 = P1 PLUS VEC1 ;
VEC1 représente le vecteur de translation, le point P2 aura pour coordonnées : (1. 2.).
20
3.4. UTILISATION DES OBJETS DE CALCUL
Objets de type MAILLAGE Les objets de type MAILLAGE représentent les éléments qui peuvent être des
lignes, des surfaces ou des volumes. Il existe de nombreuses manières de les créer. Nous détaillerons tous ces
opérateurs dans la partie 5.
Pour créer un segment de droite, on utilise l’opérateur DROITE et pour créer un arc de cercle, l’opérateur
CERCLE. Selon le type d’éléments spécifié dans la directive OPTI ELEM, les lignes créées auront 2 nœuds
(SEG2) ou 3 nœuds (SEG3).
Exemple :
OPTI ELEM SEG2 ;
P1 = 0. 0. ;
P2 = 1. 1. ;
LIG1 = DROITE 2 P1 P2 ;
OPTI ELEM SEG3 ;
LIG2 = DROITE 2 P1 P2 ;
LIST LIG1 ;
LIST LIG2 ;
1 3
3 2
$ * LIST LIG2 ;
MAILLAGE 4641 : 2 element(S) de type SEG3
0 sous-reference(s)
1ere ligne numero element : 2eme couleur : 3eme... noeud(s)
1 2
DEFA DEFA
1 5
4 6
5 2
Les points intermédiaires ne sont pas nommés, l’utilisateur n’y a pas accès sauf en les nommant.
21
CHAPITRE 3. LES OBJETS
Le champ par points CHP1 s’appuie sur les nœuds du maillage LIG1 (qui contient 10 points). Avant de donner
les noms des composantes et leurs valeurs, il faut spécifier le nombre de composantes (ici 2). La liste des valeurs
de la composante UX à chaque nœud est donnée sous forme de liste de réels (objets de type LISTREEL). Cette
liste doit comporter autant de valeurs qu’il y a de nœuds dans le support géométrique (objet de type MAILLAGE
ou POINT). La composante UY est constante sur tous les points du maillage, on peut alors rentrer directement
une valeur (type ENTIER ou FLOTTANT) à la place d’une liste de réels.
Lorsqu’on liste un objet de type CHPOINT, il apparaît diverses informations : le titre, le type, l’attribut de
nature et l’option de calcul. La nature du champ peut être indéterminée (comme ici), diffuse ou discrète : quand
le champ représente une grandeur continue (par exemple un champ de déplacement), il est de nature diffuse ;
quand il représente un champ nodal équivalent (par exemple une force nodale), il est de nature discrète.
Il est possible de créer à partir d’un objet CHPOINT à plusieurs composantes un objet CHPOINT de même
type en extrayant une ou plusieurs composantes données. Pour cela, on utilise l’opérateur EXCO. On peut
garder les mêmes noms de composante ou bien en donner de nouveaux.
Exemple :
CHP2 = EXCO ’UX’ CHP1 ;
CHP3 = EXCO ’UX’ CHP1 ’U1’ ;
CHP4 = EXCO (MOTS UX UY) CHP1 (MOTS U1 U2) ;
Le champ CHP2 aura une composante de nom UX et dont les valeurs seront égales à celles de la
composante UX de CHP1. Le champ CHP3 aura une composante de nom U1 et dont les valeurs
seront égales à celles de la composante UX de CHP1. Le champ CHP4 aura deux composantes de
nom U1 et U2 et dont les valeurs seront égales à celles des composantes UX et UY de CHP1.
Il est possible de changer le nom des composantes d’un objet CHPO avec l’opérateur NOMC.
Exemple :
CHP5 = NOMC ’DEP’ CHP2 ;
CHP6 = NOMC (MOTS UX UY) (MOTS U1 U2) CHP1 ;
Le champ CHP5 sera identique au champ CHP2 mais le nom de sa composante sera DEP et non
plus UX.
Le champ CHP6 sera identique au champ CHP1 mais les noms de ses composantes seront U1 et
U2 et non plus UX et UY.
Objet de type MCHAML Un objet de type MCHAML, appelé aussi champ par éléments, contient des don-
nées définies pour chaque élément du maillage référencé. Il peut s’agir des caractéristiques des matériaux, des
caractéristiques géométriques des éléments (section, épaisseur...), des contraintes, des déformations... Comme
les objets CHPOINT, il peut contenir une ou plusieurs composantes.
Dans chaque élément, les valeurs du champ peuvent être définies :
– aux nœuds de l’élément
22
3.4. UTILISATION DES OBJETS DE CALCUL
$ * LIST CHAM2 ;
+-----------------------------------------------------------------------------+
| OBJET MCHAML CONTENANT 1 ZONE(S) ELEMENTAIRE(S) |
| TYPE : |
| OPTION DE CALCUL DEFORMATIONS PLANES |
+-----------------------------------------------------------------------------+
ZONE ELEMENTAIRE NUMERO 1
------------------------------
POINTEUR SUR L’OBJET MAILLAGE 4637
NUMERO DE L’HARMONIQUE 0
POINTEUR SUR LES POINTS SUPPORTS 4691
VALEURS DONNEES AU CENTRE DE GRAVITE
NOM DU CONSTITUANT 4683
NOMBRE DE COMPOSANTES 1
Si le support n’est pas précisé lors de la création d’un objet CHAML avec l’opérateur MANU, le champ sera
par défaut défini aux nœuds des éléments. On peut utiliser l’opérateur EXCO sur les objets MCHAML de la
même manière qu’avec les objets CHPOINT (l’opérateur NOMC ne s’utilise qu’avec les objets CHPOINT).
Manipulation des objets CHPOINT et MCHAML Il est possible de construire un objet CHPOINT à partir
d’un objet MCHAML avec l’opérateur CHAN(GER) suivi du mot-clé CHPO. L’opération inverse est possible
avec CHAN suivi du mot-clé CHAM.
Exemple :
CHP7 = CHAN ’CHPO’ MODL1 CHAM2 ;
CHAM3 = CHAN ’CHAM’ CHP7 MODL1 ’GRAVITE’ ;
LIST CHAM2 ;
LIST CHP7 ;
LIST CHAM3 ;
23
CHAPITRE 3. LES OBJETS
0 50 0 0 0 0 0 0 0
champ CHAM2 :
0 25 25 0 0 0 0 0 0 0
champ CHP7 :
12,5 25 12,5 0 0 0 0 0 0
champ CHAM3 :
On peut remarquer qu’en repassant du champ par points CHP7 au champ par éléments CHAM3, les valeurs
obtenues sont différentes du champ par éléments initial CHAM2. Ceci est lié au principe de l’opérateur CHAN
qui travaille sur des moyennes.
On peut utiliser sur les objets CHPOINT et MCHAML les opérateurs élémentaires de calcul algébrique : +,
-, *, /, **. Il est préférable que les composantes des différents champs aient les mêmes noms et s’appuient sur
les mêmes maillages ou modèles. En effet, l’opérateur + par exemple n’effectue pas la somme des deux champs
s’ils sont différents mais fait une adjonction.
Objet de type MMODEL Les objets de type MMODEL associent à un maillage un domaine physique, un
modèle de comportement du matériau et le type d’éléments finis à utiliser.
Exemple :
MODL1 = MODEL LIG1 MECANIQUE ELASTIQUE COQ2 ;
Le maillage LIG1 est associé à une formulation mécanique, le matériau est élastique isotrope, les
éléments finis sont de type coque mince à 2 nœuds.
Objet de type TABLE Pour créer un objet de type TABLE, on utilise l’opérateur TABLE. Ce type d’objet
comporte une structure en arborescence. Chaque objet de la table peut être de type quelconque et est caractérisé
par un indice quelconque.
Exemple :
TAB1 = TABLE ;
TAB1 .FORCE = TABLE ;
TAB1 .FORCE.GRAVITE = CHAM1 ;
TAB1 .FORCE.LOCAL = CHAM2 ;
24
3.5. OBJETS EVOLUTION ET TABLE
25
CHAPITRE 3. LES OBJETS
26
Chapitre 4
Procédures
Il est possible de faire appel à des procédures au cours de l’exécution d’un programme. L’utilisateur peut
créer ses propres procédures ou utiliser celles mises à sa disposition dans le programme Cast3M. Les procédures
existantes dans le programme s’utilisent comme des opérateurs élémentaires. Nous allons détailler dans ce
chapitre la manière dont l’utilisateur peut créer ses propres procédures.
Les procédures peuvent être définies dans le programme d’exécution ou bien dans un fichier externe.
27
CHAPITRE 4. PROCÉDURES
28
Chapitre 5
Maillage
Dans la plupart des pré-processeurs des codes de calcul par éléments finis, le modèle géométrique est créé
en deux étapes : dans un premier temps, la définition de la géométrie par des éléments géométriques de base
(points, lignes, surfaces, volumes) puis dans un second temps la génération du maillage à partir des géométries
créées. Dans Cast3M, un objet géométrique n’existe que sous forme discrétisée. La discrétisation du domaine
en éléments s’effectue au moment de la définition de la géométrie. Nous allons présenter dans ce chapitre
les principaux opérateurs géométriques qui créent des objets de type MAILLAGE (points, lignes, surfaces,
volumes). La démarche générale est la suivante :
– construction des points
– construction des lignes à partir des points
– construction des surfaces à partir des lignes
– construction des volumes à partir des surfaces.
Les objets de type MAILLAGE constituent le support géométrique des éléments finis qui seront définis
ultérieurement. Le type des supports géométriques doit donc être en accord avec les éléments finis qui seront
utilisés : par exemple, si les éléments sont de type poutre, barre ou coque axisymétrique, les supports géomé-
triques correspondants devront être des SEG2 (segments à 2 nœuds).
29
CHAPITRE 5. MAILLAGE
-L2 : le nombre d’éléments n’est pas spécifié, L2 est divisé en éléments dont le nombre et la lon-
gueur sont calculés en fonction des densités des extrémités. Ici les densités ne sont pas identiques,
les éléments sont donc de longueur différente. La taille est calculée en tenant compte des densités
des extrémités. L’élément adjacent au point P1 aura une longueur égale à DINI (= 1) et l’élément
adjacent au point P2 une longueur égale à DFIN (= 2).
N1 est le nombre de nœuds de L2, obtenu avec l’opérateur NBNO.
N2 est le nombre d’éléments de L2, obtenu avec l’opérateur NBEL.
-L3 : le nombre d’éléments est spécifié et négatif, L3 est divisé en 10 éléments dont la taille est
calculée en fonction des densités des extrémités. Ici les densités sont identiques, les éléments sont
donc d’égale longueur.
-L4 : le nombre d’éléments est spécifié et négatif. La ligne est un arc de cercle reliant les points P3
et P0 et de centre CEN1.
On aurait pu obtenir le même résultat en affectant aux points P0 et P1 une densité de 1 et aux points P2 et
P3 une densité de 2. La création des lignes n’aurait alors pas nécessité les mots-clés DINI et DFIN.
Exemple :
OPTI DIME 2 ELEM SEG2 DENS 1. ;
P0 = 0. 0. ;
P1 = 10. 0. ;
DENS 2. ;
P2 = 10. 10. ;
P3 = 0. 10. ;
CEN1 = 5. 10. ;
L1 = D -10 P0 P1 ;
L2 = D P1 P2 ; N2 = NBEL L2 ;
L3 = D -10 P2 P3 ;
L4 = C ((-1)*N2) P3 CEN1 P0 ;
CONT1 = L1 ET L2 ET L3 ET L4 ;
TRAC CONT1 ;
Il est possible de nommer un point qui a été créé automatiquement et n’est pas encore nommé. On utilise
pour cela l’opérateur POINT. Pour obtenir les coordonnées d’un point, on utilise l’opérateur COOR.
Exemple :
PCHAR1 = L1 POIN 5 ;
PCHAR2 = L1 POIN ’PROC’ (6.1 0.) ;
X2 = COOR 1 PCHAR2 ;
Y2 = COOR 2 PCHAR2 ;
X1 Y1 = COOR PCHAR1 ;
-PCHAR1 est le 5ème point de la ligne L1.
-PCHAR2 est le point de la ligne L1 le plus proche du point (6.1 0.).
-X2 est l’abscisse de PCHAR2, Y2 l’ordonnée.
-X1 est l’abscisse de PCHAR1, Y1 l’ordonnée.
Il existe d’autres opérateurs géométriques :
CER3 : construit un arc de cercle passant par trois points
PARA : construit un arc de parabole
CUBP et CUBT : construisent des arcs de cubique
COURBE : crée une courbe polynomiale d’ordre (n-1) à partir de n points
QUELCONQUE : construit une ligne brisée passant par les points spécifiés
INTERSECTION : construit l’arc de courbe, intersection de deux surfaces
30
5.2. CRÉATION DE SURFACES
31
CHAPITRE 5. MAILLAGE
SURF1
SURF2 SURF3
On peut utiliser l’opérateur SURFACE pour créer une surface comportant des contours extérieurs et in-
térieurs (délimitant des trous par exemple). Les contours intérieurs doivent tourner dans le sens opposé des
contours extérieurs.
32
5.2. CRÉATION DE SURFACES
Exemple :
SURF4 SURF5
33
CHAPITRE 5. MAILLAGE
SURF6 SURF7
SURF8
34
5.3. CRÉATION DE VOLUMES
35
CHAPITRE 5. MAILLAGE
V1
36
5.4. RÉCAPITULATION DES OPÉRATEURS DE MAILLAGE
37
CHAPITRE 5. MAILLAGE
EXEMPLE 1
************************************************************************
*LIGNES
*Contour interieur de la base
C11 = C 20 P11 O1 P12 ;
C12 = C 20 P12 O1 P13 ;
C13 = C 20 P13 O1 P14 ;
C14 = C 20 P14 O1 P11 ;
CONT1 = C11 ET C12 ET C13 ET C14 ;
************************************************************************
*SURFACE
SURF1 = SURF CONTTOT1 ’PLAN’ ;
************************************************************************
*VOLUME
VOL1 = SURF1 VOLU 10 TRANS (0. 0. H1) ;
************************************************************************
*TRACAGE
TITRE ’MAILLAGE D UN CYLINDRE CREUX’ ;
TRAC CACH QUAL VOL1 ;
FIN;
38
5.5. EXEMPLE : MAILLAGE D’UN CYLINDRE CREUX
définition de CUB8 en début de fichier évite de préciser à chaque étape (lignes, surfaces et volume) le
nouveau type d’éléments.
– COMM Hauteur du cylindre ;
La directive COMM(ENTAIRE) permet d’introduire des commentaires dans le jeu de données. Le com-
mentaire prend fin au point-virgule. Cette directive est équivalente à un astérisque placé en début de
ligne.
– Le contour CONT2 doit tourner dans le sens opposé de CONT1 (dans l’optique de l’utilisation de SUR-
FACE avec des contours extérieur et intérieur).
– TRAC CACH QUAL VOL1 ;
L’option QUAL de la directive TRAC permet d’afficher sur le dessin le nom des entités qui y figurent.
VOL1
C23 C21
SURF1
CONTTOT1
CONT2 P21
P24
C24
MAILLAGE D UN CYLINDRE CREUX
39
CHAPITRE 5. MAILLAGE
EXEMPLE 2
OPTI DIME 3 ELEM CUB8 ;
************************************************************************
*POINTS
H1 = 5. ; COMM Hauteur du cylindre ;
R1 = 2. ; COMM Rayon interieur ;
R2 = 2.5 ; COMM Rayon exterieur ;
O1 = 0. 0. 0. ; O2 = 0. 0. H1 ; COMM Points de l axe du cylindre ;
P11 = R1 0. 0. ;
P21 = R2 0. 0. ;
************************************************************************
L1 = P11 D 3 P21 ;
SEC1 = L1 TRANS 10 (0. 0. H1) ;
VO1 = SEC1 VOLU 40 ROTA 180 O1 O2 ;
VO2 = VO1 VOLU 40 ROTA 180 O1 O2 ;
VOL1 = VO1 ET VO2 ;
ELIM 0.001 VOL1 ;
************************************************************************
*TRACAGE
TITRE ’MAILLAGE D UN CYLINDRE CREUX’ ;
TRAC CACH VOL1 ;
FIN;
40
Chapitre 6
Le modèle de calcul représente l’ensemble des données que doit préparer l’utilisateur pour décrire les
caractéristiques complètes du problème à analyser. Il peut être décrit par le schéma suivant :
Paramètres généraux
Géométrie
Chargement
– Les paramètres généraux sont définis avec la directive OPTI (cf. 2.3).
– La géométrie représente la forme discrétisée du domaine à étudier. Elle est composée d’objets de type
MAILLAGE (cf. 5).
– Le modèle associe au maillage une loi de comportement du matériau, la formulation éléments finis ainsi
que le type d’éléments utilisés. C’est un objet de type MMODEL.
– Les caractéristiques des matériaux définissent les propriétés physiques des matériaux : module d’Young,
coefficient de Poisson, masse volumique, etc...Ces données sont rassemblées dans un objet de type
MCHAML à plusieurs composantes (YOUN, NU, RHO...)
– Les caractéristiques des éléments sont relatives à certaines données supplémentaires selon les types d’élé-
ments choisis qui ne peuvent se déduire de la géométrie. Par exemple, pour les coques il est nécessaire
d’indiquer leur épaisseur, pour les poutres leur section et leurs différentes inerties. Ces données sont ras-
semblées dans un objet de type MCHAML à plusieurs composantes (SECT, INRY, EPAI, TORS...). Ce
41
CHAPITRE 6. PRÉPARATION DU MODÈLE DE CALCUL
6.1 Modèle
Le modèle associe à un objet de type MAILLAGE un domaine physique, une loi de comportement du
matériau et la formulation éléments finis. C’est l’opérateur MODE(LISER) qui crée l’objet de type MMODEL.
Exemple :
MOD1 = MODE GEO1 MECANIQUE ELASTIQUE ISOTROPE POUT ;
MOD2 = MODE GEO2 MECANIQUE PLASTIQUE ISOTROPE POUT ;
MOD3 = MODE GEO3 MECANIQUE ELASTIQUE ORTHOTROPE COQ4 ;
MOD4 = MODE GEO4 THERMIQUE ISOTROPE QUA8 ;
MOD5 = MODE GEO5 LIQUIDE MECANIQUE RACO ;
Chaque modèle est défini en affectant à une géométrie (GEOi) une formulation (MECANIQUE,
THERMIQUE, LIQUIDE MECANIQUE), une loi de comportement du matériau et un type d’élé-
ments finis.
Les quatre premiers modèles ont une formulation simple (MECANIQUE ou THERMIQUE), le
cinquième a une formulation couplée (LIQUIDE MECANIQUE).
Le comportement du matériau de MOD1 et MOD3 est linéaire (ELASTIQUE), celui du matériau
de MOD2 est non linéaire (PLASTIQUE).
La formulation LIQUIDE MECANIQUE ne nécessite pas de matériau, le type d’éléments finis
RACO correspond à un raccord liquide-coque.
Le type des éléments finis dépend de la formulation, du type de support géométrique et de l’op-
tion de calcul choisie. Par exemple l’élément POUT est supporté par des SEG2 en formulation
MECANIQUE avec une option de calcul tridimensionnel.
42
6.3. CONDITIONS LIMITES ET CHARGEMENT
Exemple :
MAT1 = MATER MOD1 YOUN 2.E11 NU 0.3 RHO 7850. ;
CAR1 = CARAC MOD1 SECT 0.5 INRY 0.4 INRZ 0.4 TORS 1. ;
MATTOT1 = CAR1 ET MAT1 ;
MATTOT2 = MATER MOD1 YOUN 2.E11 NU 0.3 RHO 7850. SECT 0.5 INRY 0.4 INRZ 0.4 TORS
1. ;
EVYOU1 = EVOL MANU ’YOUN’ (PROG 2.2E11 2.E11 1.8E11) ’TEMP’ (PROG 20. 100. 200.) ;
MATTOT3 = MATER MOD1 YOUN EVYOU1 NU 0.3 ;
Les deux objets MATTOT1 et MATTOT2 sont équivalents.
Si l’on définit les propriétés matérielles séparément des propriétés géométriques, il faut concaténer
ensuite les deux champs (MAT1 ET CAR1).
Dans MATTOT3, le module d’Young est décrit par une évolution donnant la composante YOUN
en fonction du paramètre TEMP.
43
CHAPITRE 6. PRÉPARATION DU MODÈLE DE CALCUL
que le point P1 est encastré, CL2 indique que seuls les déplacements UX et UY de la ligne L1 sont
bloqués.
- CL3 permet de définir une relation de symétrie de tous les déplacements du point P6 par rapport
au plan défini par les points O1, O2 et O3.
- CL4 permet de définir une combinaison linéaire entre les déplacements UZ des points P3 et P4.
- DEP1 permet d’imposer une valeur à la rigidité CL4 à savoir : UZ(P3) - 2 UZ(P4) = 0.5
- F1 définit une force FZ d’amplitude 1000 appliquée sur le point P5.
- FTOT représente le second membre de l’équation, cet objet regroupe la force appliquée au sys-
tème ainsi que le vecteur des déplacements imposés.
44
Chapitre 7
- L’opérateur RIGI construit la matrice de rigidité à partir du modèle et des caractéristiques maté-
rielles et géométriques. Il peut aussi créer des raideurs additionnelles.
45
CHAPITRE 7. RÉSOLUTION D’UN CALCUL
- F = 1000N F
- L = 1m
- φ = 0, 1m
111111111111111111111111
000000000000000000000000
- ρ = 7800kg/m3 000000000000000000000000
111111111111111111111111
- E = 2, 1.1011 Pa P1 P2
L
Données du problème
Fichier de données
OPTI DIME 3 ELEM SEG2 OPTI TRID ;
*DONNEES
AMPF = -1000. ;
LON1 = 1. ;
DIA1 = 0.1 ;
RHOP = 7800. ;
NUP = 0.3 ;
YOP = 2.1E11 ;
*GEOMETRIE
P1 = 0. 0. 0.;
P2 = LON1 0. 0.;
L1 = D 10 P1 P2 ;
*CONDITIONS LIMITES
CL1 = BLOQ DEPLA ROTA P1 ;
*CHARGEMENT
FOR1 = FORCE FY AMPF P2 ;
*MATRICE DE RIGIDITE
RIG1 = RIGI MOD1 MATTOT ;
RIG1 = RIG1 ET CL1 ;
*RESOLUTION
46
7.2. ANALYSE STATIQUE LINÉAIRE
*RESULTATS
DY = EXCO RES1 UY ;
DYABS = ABS DY ;
DYMAX = MAXI DYABS ;
MESS ’FLECHE MAXIMALE EN METRES (F=1000N) :’DYMAX ;
*DEFORMEE
DEF0 = DEFO L1 RES1 0. VERT ;
DEF1 = DEFO L1 RES1 ROUGE ;
OEIL1 = 0. 0. 1000. ;
TRAC OEIL1 (DEF0 ET DEF1) ;
FIN;
Commentaires
OPTI DIME 3 ELEM SEG2 OPTI TRID ;
La dimension requise pour travailler avec des éléments de type poutre est 3 (option de calcul tridimensionnelle).
P1 = 0. 0. 0. ;
P2 = LON1 0. 0. ;
L1 = D 10 P1 P2 ;
La géométrie est décrite par une ligne L1 divisée en 10 éléments d’égale longueur.
47
CHAPITRE 7. RÉSOLUTION D’UN CALCUL
DY = EXCO RES1 UY ;
DYABS = ABS DY ;
DYMAX = MAXI DYABS ;
MESS ’FLECHE MAXIMALE EN METRES (F=1000N) :’DYMAX ;
On crée le champ DY de même type que RES1 en extrayant la composante UY avec l’opérateur EXCO. On
crée ensuite le champ DYABS à partir des valeurs absolues de DY avec l’opérateur ABS. On extrait ensuite la
valeur maximale du champ DYABS avec l’opérateur MAXI.
On aurait pu écrire directement DYMAX = MAXI (ABS DY) pour obtenir la valeur absolue maximale du champ
DY.
AMPLITUDE
0.00E+00
3.09E+02
GIBI FECIT
48
7.3. ANALYSE MODALE
1010
000000000000000000
111111111111111111
10
a
P2 10 10
-a = 0, 4m
-e = 0, 006m
-ρ = 4200kg/m3
-E = 7.1010 Pa
-ν = 0, 3 10
111
000 100
e 1
1010 111
000
00010
10 111
P1
Données du problème
Fichier de données
A1 = 0.4 ;
PI= 3.1415927 ;
*MAILLAGE
P1 = 0. 0. 0. ; P2 = 0. A1 0. ;
VEC1 = A1 0. 0. ;
L1 = D 12 P1 P2 ;
S1 = L1 TRAN 12 VEC1 ;
*RESULTATS
F1= (TAB2.1).frequence ;
F2= (TAB2.2).frequence ;
MESS ’FREQUENCE 1 (HZ) :’ F1;
MESS ’FREQUENCE 2 (HZ) :’ F2;
49
CHAPITRE 7. RÉSOLUTION D’UN CALCUL
FIN;
Commentaires
TAB1= VIBR INTER 0. 100. MAS1 RIG1 IMPR TBAS ;
TAB2= TAB1.modes ;
L’opérateur VIBR recherche les valeurs et modes propres du système : K − ω2 .M = 0 (ici K = RIG1 et M =
MAS1).
L’option INTER(VALLE) calcule les modes propres dont les fréquences sont contenues dans un intervalle
donné (ici [0.,100.]).
Le mot-clé IMPR indique que des messages de calcul seront affichés pendant le déroulement de la procédure.
Le mot-clé TBAS indique que l’objet TAB1 sera de type TABLE et de sous-type BASE_MODALE (sinon il
serait de type SOLUTION).
Organisation de la table de sous-type BASE_MODALE :
Pour simplifier le post-traitement des résultats, on crée TAB2 qui contient la table TAB1.MODES. Elle aura
pour sous-type BASE_DE_MODES et pour indices : MAILLAGE et IMOD (entier variant de 1 au nombre de
modes calculés).
F1= (TAB2.1).frequence ;
F2= (TAB2.2).frequence ;
MESS ’FREQUENCE 1 (HZ) :’ F1 ;
MESS ’FREQUENCE 2 (HZ) :’ F2 ;
TAB2.1 est une table de sous-type MODE. On extrait ici la fréquence du mode 1 : (TAB2.1).frequence.
TAB2.2 est de même type que TAB2.1
50
7.3. ANALYSE MODALE
AMPLITUDE AMPLITUDE
0.00E+00 0.00E+00
1.0 1.0
51
CHAPITRE 7. RÉSOLUTION D’UN CALCUL
52
Chapitre 8
Il s’avère indispensable de traiter les résultats d’une analyse effectuée avec Cast3M, ces résultats étant
contenus dans des objets de type CHPOINT (analyse statique linéaire) ou de type SOLUTION (analyse mo-
dale). Ce traitement permet le calcul de grandeurs dérivées plus faciles à appréhender ou une visualisation en
vue d’une meilleure interprétation des résultats. Deux groupes d’opérateurs sont disponibles à cet effet, l’un
étant réservé au post-traitement des données et l’autre à la représentation graphique. Il est ensuite possible de
sauvegarder les résultats en vue de les restituer dans des calculs ultérieurs.
53
CHAPITRE 8. TRAITEMENT DES RÉSULTATS
EXTR : extrait la valeur numérique d’une composante d’un champ en un point précis.
REDU : réduit le support d’un champ, plusieurs critères sont possibles.
RTEN : calcule le tenseur des contraintes dans un nouveau repère (pour certains types d’éléments).
RESU : calcule la résultante d’un objet de type CHPOINT.
XTX : calcule la norme d’un champ.
8.2 Graphiques
Il existe deux directives pour tracer les résultats :
- DESS(IN) : permet de dessiner des courbes contenues dans des objets de type EVOLUTION
- TRAC(ER) : permet de visualiser plusieurs types d’objets (maillages, isovaleurs, déformées, vecteurs, dessins
animés)
L’exemple suivant illustre les utilisations de la directive TRAC. Il s’agit d’une plaque carrée appuyée sur
ses bords (mêmes données géométriques et matérielles que le problème du paragraphe 7.3). Une pression de
1 bar est appliquée sur la plaque.
Fichiers de données
OPTI DIME 3 ELEM QUA4;
*DONNEES
A1 = 0.4 ; PI= 3.1415927 ;
PRES1 = -1.E5 ;
*MAILLAGE
P1 = 0. 0. 0. ; P2 = 0. A1 0. ;
VEC1 = A1 0. 0. ; LL1 = D 12 P1 P2 ;
S1 = LL1 TRAN 12 VEC1 ; L1 L2 L3 L4 = COTE S1;
*APPLICATION DU CHARGEMENT
CHAR1 = PRES COQUE MOD1 PRES1 DIRE (0. 0. 1.) ;
*RESOLUTION
RES1 = RESO RIG1 CHAR1 ;
*POST-TRAITEMENT
*-----------CONTRAINTES-----------*
***********************************
54
8.2. GRAPHIQUES
*--------TRACE D ISOVALEURS-------*
***********************************
OPTI ISOV SURFACE ;
CALSUPX = EXCO SMXX CALSUP; TRAC OEIL1 MOD1 CALSUPX S1 TITRE ’SMXX’ ;
CAL1 = CHAN CHPO MOD1 CALSUP ; CALX = EXCO SMXX CAL1 ;
TITRE ’CONTRAINTE DE PEAU SMXX, FACE SUPERIEURE’ ;
TRAC OEIL1 CALX S1 ;
CALY = EXCO SMYY CAL1 ;
TITRE ’CONTRAINTE DE PEAU SMYY SUR DEFORME, FACE SUPERIEURE’ ;
TRAC OEIL1 CALY DEF1 S1 ;
FIN ;
VAL − ISO
>−7.52E−03
AMPLITUDE < 2.88E−19
0.00E+00 A−7.46E−03
5.3 D−7.11E−03
G−6.76E−03
J−6.40E−03
M−6.05E−03
P−5.70E−03
S−5.35E−03
V−4.99E−03
Y−4.64E−03
b−4.29E−03
e−3.94E−03
h−3.58E−03
k−3.23E−03
n−2.88E−03
q−2.53E−03
t−2.17E−03
w−1.82E−03
z−1.47E−03
2−1.12E−03
5−7.64E−04
8−4.11E−04
@−5.88E−05
55
CHAPITRE 8. TRAITEMENT DES RÉSULTATS
Commentaires
*---TRACE DE L ETAT DEFORME---*
**********************************
DEF0= DEFO RES1 S1 0. ;
DEF1= DEFO RES1 S1 ROUGE ;
OEIL1 = 100. -200. 50. ;
TRAC OEIL1 (DEF0 ET DEF1) TITRE ’ETAT DEFORME’ ;
ZZ1 = EXCO UZ RES1 ;
OPTI ISOV LIGNE ;
OEIL2 = 0. 0. 100. ;
TRAC OEIL2 S1 ZZ1 TITRE ’DEPLACEMENT UZ’ ;
On peut donner à la directive TRAC des arguments de type DEFORME.
On peut aussi représenter les isovaleurs d’un champ par points (ici ZZ1), il faut alors spécifier l’objet de type
MAILLAGE sur lequel le champ s’appuie (ici S1).
On spécifie la forme des isovaleurs dans la directive OPTI (ici LIGNE).
*-----TRACE D ISOVALEURS-----*
**********************************
OPTI ISOV SURFACE ;
CALSUPX = EXCO SMXX CALSUP ; TRAC OEIL1 MOD1 CALSUPX S1 TITRE ’SMXX’ ;
CAL1 = CHAN CHPO MOD1 CALSUP ; CALX = EXCO SMXX CAL1 ;
TITRE ’CONTRAINTE DE PEAU SMXX, FACE SUPERIEURE’ ;
TRAC OEIL1 CALX S1 ;
CALY = EXCO SMYY CAL1 ;
TITRE ’CONTRAINTE DE PEAU SMYY SUR DEFORME, FACE SUPERIEURE’ ;
TRAC OEIL1 CALY DEF1 S1 ;
Les isovaleurs sont définies par des surfaces.
L’objet CALSUPX est de type MCHAML. On extrait une de ses composantes pour représenter ses isovaleurs.
Il faut préciser l’objet MMODEL sur lequel s’appuie le champ par éléments.
L’objet CALX est un CHPOINT, on le trace de la même manière que ZZ1.
On peut aussi tracer un champ sur l’état déformé, il faut alors spécifier l’objet de type DEFORME (ici DEF1).
VAL − ISO
>−1.28E+08
<−1.11E+05
−1.27E+08
−1.21E+08 VAL − ISO
−1.15E+08 >−1.28E+08
<−1.11E+05
−1.09E+08 −1.27E+08
−1.03E+08 −1.21E+08
−9.70E+07 −1.15E+08
−9.10E+07 −1.09E+08
−8.50E+07 −1.03E+08
−7.90E+07 −9.70E+07
−7.30E+07 −9.10E+07
−6.70E+07 −8.50E+07
−6.10E+07 −7.90E+07
−7.30E+07
−5.50E+07 −6.70E+07
−4.91E+07 −6.10E+07
−4.31E+07 −5.50E+07
−3.71E+07 −4.91E+07
−3.11E+07 −4.31E+07
−2.51E+07 −3.71E+07
−1.91E+07 −3.11E+07
−2.51E+07
−1.31E+07 −1.91E+07
−7.10E+06 −1.31E+07
−1.11E+06 −7.10E+06
−1.11E+06
AMPLITUDE
DEFORMEE
CONTRAINTE DE PEAU SMXX, FACE SUPERIEURE CONTRAINTE DE PEAU SMYY SUR DEFORME, FACE SUPERIEURE 5.3
56
8.2. GRAPHIQUES
COMPOSANTES
VECTEURS
FX FY FZ
57
CHAPITRE 8. TRAITEMENT DES RÉSULTATS
58
Chapitre 9
Erreurs classiques
Lorsque Cast3M rencontre une erreur dans la suite des instructions, il interrompt son exécution et affiche le
message d’erreur relatif à l’erreur reconnue. Ce message peut se décomposer en trois parties :
- le nom de l’opérateur où l’erreur est reconnue (première ligne du message),
- les objets manquants ou mal utilisés suivis de leur type et de leur nom (lignes intermédiaires),
- les données de la commande suivie de leur type (deux dernières lignes).
Ce sont généralement les deux dernières lignes du message d’erreur qui permettent à l’utilisateur de reconnaître
la nature de son erreur.
Ce chapitre n’a pas pour objectif de dresser une liste exhaustive des messages d’erreurs, il présente simplement
les erreurs les plus courantes. Nous ne saurons trop conseiller à l’utilisateur de toujours lire attentivement les
dernières lignes du message d’erreur.
59
CHAPITRE 9. ERREURS CLASSIQUES
suivantes sont considérées comme des chaînes de caractères faisant partie du message et l’er-
reur remarquée par le programme est la longueur trop excessive de l’instruction qu’il consi-
dère comme élémentaire.
– Dimensions
Exemple :
$ opti dime 3 ;
$ P2 = 3. 6. ;
**** ERREUR 37 ***** dans l’opérateur =
Troisième coordonnée ?
Première ligne = données : deuxième ligne = type des données.
3. 6.
FLOTTANT FLOTTANT
La dimension déclarée est 3 alors que le point P2 n’est décrit que par 2 coordonnées d’où le
message d’erreur qui est très explicite.
Exemple :
$ opti dime 2 ;
$ P2 = 1. 1. 1. ;
**** ERREUR 11 ***** dans l’opérateur =
Il y a un résultat de type FLOTTANT et de nom
en trop par rapport aux noms à affecter
Première ligne = données : deuxième ligne = type des données.
1. 1. 1.
FLOTTANT FLOTTANT FLOTTANT
Ici la dimension déclarée est 2 alors que le point P2 est décrit par 3 coordonnées. Le message
d’erreur est différent du précédent, il est seulement indiqué qu’il y a des données en trop et
c’est à l’utilisateur de vérifier si la dimension correspond bien aux données qu’il rentre.
Exemple :
$ opti dime 2 elem seg2 ;
$ P1= 0. 0. ; P2 = 1. 0. ;
$ L1 = D 4 P1 P2 ;
$ MODL1 = MODE L1 MECANIQUE ELASTIQUE POUT ;
**** ERREUR 11 ***** dans l’opérateur =
Il y a un résultat de type MOT et de nom POUT
en trop par rapport aux noms à affecter
Première ligne = données : deuxième ligne = type des données.
MODE L1 MECANIQUE ELASTIQUE POUT
MOT MAILLAGE MOT MOT MOT
Le programme ne reconnaît pas le mot POUT alors que c’est un mot-clé désignant le type
d’éléments finis utilisé. L’erreur ici commise est la dimension de calcul : en effet les éléments
de type POUT sont utilisés dans les calculs TRID(imensionnels), ils requièrent donc une di-
mension d’ordre 3. L’utilisateur doit donc toujours vérifier si les différents types d’éléments
qu’il utilise sont compatibles avec le mode de calcul et la dimension de l’espace indiqués dans
les options de calcul.
– Type d’éléments finis
Exemple :
$ opti dime 2 elem seg2 ;
$ P1 = 0. 0. ; P2 = 1. 0. ;
$ L1 = D 4 P1 P2 ;
60
$ SUR1 = L1 TRANS 6 (0. 1.) ;
**** ERREUR 16 ***** dans l’opérateur TRAN
Type d’élément incorrect
Première ligne = données : deuxième ligne = type des données.
L1 TRANS 6 #1
MAILLAGE MOT ENTIER POINT
L’opérateur TRAN doit créer une surface alors que le type d’éléments finis requis est SEG2.
Le message d’erreur est explicite et indique à l’utilisateur qu’il doit modifier le type de ses
éléments.
– Contour mal fermé
Exemple :
$ P0 = 0. 0. ;
$ P1 = 0. 0. ; P2 = 1. 0. ;
$ P3 = 1. 1. ; P4 = 0. 1. ;
$ L1 = D 1 P1 P2 ; L2 = D 1 P2 P3 ;
$ L3 = D 1 P3 P4 ; L4 = D 1 P4 P0 ;
$ SUR1 = DALL L1 L2 L3 L4 PLAN ;
**** ERREUR 28 ***** dans l’opérateur DALL
Le contour n’est pas reconnu fermé
Première ligne = données : deuxième ligne = type des données.
DALL L1 L2 L3 L4 PLAN
MOT MAILLAGE MAILLAGE MAILLAGE MAILLAGE MOT
Certains opérateurs de maillage requièrent des contours fermés. Ici les 2 objets P0 et P1 sont
distincts même s’ils désignent le même point géométrique. Comme le contour commence par
P1 et se termine par P0, il n’est pas considéré comme fermé.
– Composantes connexes
Parfois un message du type : "Cet objet contient 2 composantes connexes" s’affiche en cours d’exécution.
Cela peut signifier qu’il existe des nœuds doubles dans le maillage ou bien qu’il existe des objets inutilisés
dans la modélisation. Ce message n’interrompt pas l’exécution, mais les résultats obtenus ne seront pas
fiables.
61
CHAPITRE 9. ERREURS CLASSIQUES
62
Chapitre 10
Calculs mécaniques
L’objectif de ce chapitre est de présenter différents cas de calculs mécaniques afin de mettre en évidence
l’enchaînement des différentes étapes.
63
CHAPITRE 10. CALCULS MÉCANIQUES
10.1.3 Commentaires
64
10.1. CHARGEMENT TYPE POIDS PROPRE
COMPOSANTES
VECTEURS
FX FY FZ
AMPLITUDE
0.00E+00
1.37E+03
65
CHAPITRE 10. CALCULS MÉCANIQUES
66
10.2. CALCUL AXISYMÉTRIQUE
10.2.3 Commentaires
67
CHAPITRE 10. CALCULS MÉCANIQUES
COMPOSANTES
VECTEURS
FR FZ
GIBI FECIT
AMPLITUDE
0.00E+00
2.88E+03
68
10.3. CALCUL DYNAMIQUE PAS À PAS
- F = 100N
- F(t) = F ∗ g(t)
- L = 50m
- A = 1m2
- Iy = 10m4
g(t)
- Iz = 10m4
- ν = 0.3
1
- E = 2.1011 Pa
- ρ = 1000.kg/m3
1 1.025 2 t
*---------------------DONNEES---------------------*
AMP1 = -100000. ;
LON1 = 50. ;
SEC1 = 1. ;
IY1 = 10. ;
IZ1 = 10. ;
NUP = 0.3 ;
YOP = 2.1E11 ;
RHOP = 1000. ;
RAID1 = 5.E8 ;
*--------------------GEOMETRIE--------------------*
P1 = 0. 0. 0. ;
P2 = LON1 0. 0. ;
L1 = D 4 P1 P2 ; TRAC L1 ;
*------DEFINITION DU MODELE ET DU MATERIAU--------*
MOD1 = MODEL L1 MECANIQUE ELASTIQUE POUT ;
MAT1 = MATER MOD1 YOUN YOP NU NUP RHO RHOP ;
CAR1 = CARAC MOD1 SECT SEC1 INRY IY1 INRZ IZ1
TORS 1. VECT (0. 1. 0.) ;
MATTOT = MAT1 ET CAR1 ;
*--------------CONDITIONS LIMITES-----------------*
CL1 = APPUI UY RAID1 P1 ;
CL2 = BLOQ L1 UX UZ RX RY ;
CL3 = APPUI UY RAID1 P2 ;
CLTOT= CL1 ET CL2 ET CL3 ;
*-------MATRICES DE RIGIDITE ET DE MASSE----------*
RIG1 = RIGI MOD1 MATTOT ;
RIG1 = RIG1 ET CLTOT ;
MAS1 = MASS MOD1 MATTOT ;
69
CHAPITRE 10. CALCULS MÉCANIQUES
*------------EVOLUTION TEMPORELLE-----------------*
LIS1 = PROG 0. 1. 1.025 3.025 ;
LIS2 = PROG 0. 1. 0. 0. ;
EVT1 = EVOL MANU T LIS1 G(T) LIS2 ;
*-----------------CHARGEMENT----------------------*
FOR1 = FORCE FY AMP1 L1 ;
CHA1 = CHAR FORC FOR1 EVT1 ;
VEC1 = VECT FOR1 1.e-4 FX FY FZ ROUGE ;
TRAC VEC1 L1 ;
*---------------TABLE DE DONNEES------------------*
TAB2 = TABLE;
TAB2.CHAR = CHA1 ;
TAB2.RIGI = RIG1 ;
TAB2.MASS = MAS1 ;
TAB2.FREQ = 20. ;
TAB2.INST = PROG 0. PAS 1.25E-2 3.;
TAB2.DEPL = MANU CHPO L1 3 UX 0. UY 0. UZ 0. ;
TAB2.VITE = MANU CHPO L1 3 UX 0. UY 0. UZ 0. ;
*-------------RESOLUTION PAS A PAS----------------*
TAB1 = DYNAMIC TAB2 ;
*-------------------RESULTATS---------------------*
LT = PROG ; LUY1 = PROG ;
LUY2 = PROG ; LUY3 = PROG ;
P3 = L1 POIN 3 ;
I = 0 ;
NBB = (DIME TAB2.INST) - 1 ;
REPETER BOUC1 NBB ;
I = I + 1 ;
LT = LT ET (PROG (TAB1.I.TEMP)) ;
DEP1 = TAB1.I.DEPL ;
LUY1 = LUY1 ET (PROG (EXTR DEP1 UY P1));
LUY2 = LUY2 ET (PROG (EXTR DEP1 UY P2));
LUY3 = LUY3 ET (PROG (EXTR DEP1 UY P3));
FIN BOUC1 ;
EVY1 = EVOL MANU ’TEMPS’ LT ’UY(P1)’ LUY1 ;
EVY2 = EVOL MANU ’TEMPS’ LT ’UY(P2)’ LUY2 ;
EVY3 = EVOL MANU ’TEMPS’ LT ’UY(P3)’ LUY3 ;
DESS EVY1 TITR ’UY POINT P1’ MIMA ;
DESS EVY2 TITR ’UY POINT P2’ MIMA ;
DESS EVY3 TITR ’UY POINT P3’ MIMA ;
*-------------------DEFORMEE----------------------*
DEP1 = TAB1. 80 .DEPL ;
DEF0 = DEFO L1 DEP1 0. VERT ;
DEF1 = DEFO L1 DEP1 ROUGE ;
TITRE ’DEFORMEE TEMPS T=1 I=80 ’ ;
TRAC (DEF0 ET DEF1) ;
FIN;
70
10.3. CALCUL DYNAMIQUE PAS À PAS
10.3.3 Commentaires
TAB2 = TABLE ;
TAB2.CHAR = CHA1 ;
TAB2.RIGI = RIG1 ;
TAB2.MASS = MAS1 ;
TAB2.FREQ = 20. ;
TAB2.INST = PROG 0. PAS 1.25E-2 3. ;
TAB2.DEPL = MANU CHPO L1 3 UX 0. UY 0. UZ 0. ;
TAB2.VITE = MANU CHPO L1 3 UX 0. UY 0. UZ 0. ;
TAB1 = DYNAMIC TAB2 ;
Les arguments d’entrée et de sortie de la procédure DYNAMIC sont regroupés dans des tables. Les différents
indices de la table d’entrée (TAB2) sont :
- CHAR : contient le chargement (objet de type CHARGEMENT)
- RIGI : contient la matrice de rigidité (objet de type RIGIDITE)
- MASS : contient la matrice de masse (objet de type RIGIDITE)
- FREQ : contient la fréquence de coupure (objet de type FLOTTANT). Cette valeur permet de déterminer le
pas de temps du calcul : ∆t = 0.25/Fcoup .
- INST : contient la liste des instants de sortie (objet de type LISTREEL). Le dernier instant de sortie doit être
inférieur au dernier temps de la description temporelle du chargement.
- DEPL : contient les déplacements initiaux (objet de type CHPOINT)
- VITE : contient les vitesses initiales (objet de type CHPOINT). Les noms de composantes des vitesses doivent
être identiques aux noms des composantes des déplacements.
La table de sortie (TAB1) est construite de la manière suivante :
TAB1.i (objet de type TABLE) avec en indice :
- TEMP : la valeur du ième instant (type FLOTTANT)
- DEPL : les déplacements du ième instant (type CHPOINT)
- VITE : les vitesses du ième instant (type CHPOINT)
Ainsi il y a autant de tables TAB1.i qu’il y a d’instants de sortie.
71
CHAPITRE 10. CALCULS MÉCANIQUES
AMPLITUDE
0.00E+00
3.18E+04
COMPOSANTES
VECTEURS
FX FY FZ
.40
.20
.00
−.20
−.40
−.60
−.80
−1.00
TEMPS
−1.20
.00 .50 1.00 1.50 2.00 2.50 3.00
UY POINT P1
1.00
.50
.00
−.50
−1.00
−1.50
TEMPS
−2.00
.00 .50 1.00 1.50 2.00 2.50 3.00
UY POINT P3
72
Chapitre 11
Calculs thermiques
Il est possible de faire l’analogie suivante entre le calcul thermique et le calcul mécanique :
À partir d’exemples simples, nous allons présenter les différents opérateurs permettant d’effectuer des cal-
culs thermiques.
Ti
Ri
Re
- Ri = 0.05m
- Re = 0.2m
- H = 0.5m
- Ti = 0oC φ
H
e
- Φe = 100.W /m2
- K = 130W /mo
73
CHAPITRE 11. CALCULS THERMIQUES
74
11.1. CALCUL DU CHAMP DE TEMPÉRATURES D’UN TUBE ÉPAIS
VAL − ISO
>−2.31E−18
< 2.13E−01
1.66E−03
1.16E−02
2.16E−02
3.16E−02
4.16E−02
5.15E−02
6.15E−02
7.15E−02
8.14E−02
9.14E−02
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20
.21
CHAMP DE TEMPERATURES
11.1.3 Commentaires
CL1 = BLOQUE T D1 ;
DCL1 = DEPI CL1 0. ;
Pour fixer les conditions limites, on utilise les mêmes opérateurs que pour les calculs mécaniques : l’opérateur
BLOQUE permet de fixer la température T sur une partie du maillage (droite D1) en créant un objet de type
RIGIDITE ; l’opérateur DEPI spécifie la valeur du blocage CL1 en créant un objet de type CHPOINT.
L’objet CL1 doit être ajouté à la matrice de conductivité et l’objet DCL1 doit être ajouté au chargement.
75
CHAPITRE 11. CALCULS THERMIQUES
76
11.2. TUBE SOUMIS À UNE CONVECTION FORCÉE
Ti
Ri Re
- Ri = 6m
- Re = 12m
- H = 4m
- Ti = 100oC Ta Ta
- Ta = 125oC H
o
- H = 5W /m2
- K = 8W /mo
77
CHAPITRE 11. CALCULS THERMIQUES
11.2.3 Commentaires
78
11.3. CALCUL THERMO-MÉCANIQUE
VAL − ISO
> 1.00E+02
< 1.23E+02
1.00E+02
1.01E+02
1.02E+02
1.03E+02
1.04E+02
1.05E+02
1.07E+02
1.08E+02
1.09E+02
1.10E+02
1.11E+02
1.12E+02
1.13E+02
1.14E+02
1.15E+02
1.16E+02
1.17E+02
1.18E+02
1.19E+02
1.20E+02
1.21E+02
1.23E+02
CHAMP DE TEMPERATURES
Chargement mécanique :
- sur AB et CE : encastrement
- sur EA : pression P = 100MPa
79
CHAPITRE 11. CALCULS THERMIQUES
E C
1m
A B
0,6 m
Caractéristiques matérielles :
o
- H = 750W /m2
- K = 52W /mo
- E = 2.1011 Pa
- ν = 0.3
- ρ = 7800kg/m3
- α = 10−5
80
11.3. CALCUL THERMO-MÉCANIQUE
81
CHAPITRE 11. CALCULS THERMIQUES
11.3.3 Commentaires
82
11.3. CALCUL THERMO-MÉCANIQUE
AMPLITUDE
0.00E+00
2.39E+02
VAL − ISO
>−3.30E+02
< 4.86E+01
−3.27E+02
−3.09E+02
−2.92E+02
−2.74E+02
−2.56E+02
−2.38E+02
−2.21E+02
−2.03E+02
−1.85E+02
−1.67E+02
−1.50E+02
−1.32E+02
−1.14E+02
−96.
−79.
−61.
−43.
−25.
−7.6
10.
28.
46.
VAL − ISO
>−4.34E+02
< 1.84E+02
−4.29E+02
−4.00E+02
−3.71E+02
−3.42E+02
−3.13E+02
−2.84E+02
−2.55E+02
−2.26E+02
−1.97E+02
−1.68E+02
−1.39E+02
−1.10E+02
−81.
−52.
−23.
5.7
35.
64.
93.
1.22E+02
1.51E+02
1.80E+02
83
CHAPITRE 11. CALCULS THERMIQUES
84
Chapitre 12
Nous allons présenter l’utilisation de la procédure PASAPAS qui est l’opérateur principal de calculs non li-
néaires de Cast3M. Cette procédure peut s’utiliser pour des calculs non linéaires de mécanique ou de thermique
ou encore des calculs couplés thermo-mécaniques :
- en mécanique elle effectue un calcul non linéaire incrémental. La non linéarité peut provenir soit du matériau
(plasticité), soit des grands déplacements, soit des deux à la fois.
- en thermique elle effectue un calcul linéaire et non linéaire en tenant compte de la conduction, de la convection
et du rayonnement.
L’exemple choisi pour illustrer l’utilisation de PASAPAS est le calcul d’une poutre en flexion en com-
portement élasto-plastique. La poutre est encastrée d’un côté et une force fléchissante s’exerce sur l’extrémité
libre.
F(t)
F
3
11111111111111111111111
00000000000000000000000 111
000
00000000000000000000000
11111111111111111111111 000
111
000 2h
111
P1 P2 2b
t
L 0 3 6
- L = 10
- b = 0.05
- h = 0.5
- E = 107
- Et = 0.1 ∗ E
- σe = 104
- Ftot = −10 ∗ F(t)
85
CHAPITRE 12. CALCULS NON LINÉAIRES
P2 = 10. 0. 0. ;
L1 = P1 D 1 P2 ;
TRACE QUAL L1 ;
*
*-----------------CHOIX DU COMPORTEMENT ET DU MODELE----------------*
*
MOD1 = MODEL L1 MECANIQUE ELASTIQUE PLASTIQUE CINEMATIQUE POUT ;
MAT1 = MATE MOD1 YOUN 1.E7 NU 0.3 SIGY 1.E4 H (0.1*1.E7) ;
CAR1 = CARA MOD1 SECT 0.1 INRY 8.333E-5 INRZ 8.333E-3 TORS 0.0001
VECT (0. 1. 0.) DX 0. DY 0. DZ 0.3333 ;
*
*------------------FORCES ET CONDITIONS AUX LIMITES-----------------*
*
AMPFY = -10. ;
F1 = FORCE (0. AMPFY 0.) P2 ;
CL1 = BLOQ DEPLA ROTA P1 ;
*
*-----------------------------CHARGEMENT----------------------------*
*
LI1 = PROG 0. 3. 6. ;
LI2 = PROG 0. 3. 0. ;
EV = EVOL MANU ’Temps’ LI1 ’F(t)’ LI2 ;
CHA1 = CHAR MECA F1 EV ;
DESS EV TITRE ’Ftot= -10.F(t)’ ;
*
*--------------------------CALCUL PAS A PAS-------------------------*
*
LIS_TPS = PROG 0. PAS 0.05 6. ;
TAB1 = TABLE ;
TAB1.’MODELE’ = MOD1 ;
TAB1.’CARACTERISTIQUES’ = MAT1 ET CAR1 ;
TAB1.’CHARGEMENT’ = CHA1 ;
TAB1.’BLOCAGES_MECANIQUES’ = CL1 ;
TAB1.’TEMPS_CALCULES’ = LIS_TPS ;
TAB1.’TEMPS_SAUVES’ = LIS_TPS ;
PASAPAS TAB1 ;
*
*-------------------------POST TRAITEMENT--------------------------*
*
SI (TAB1.ERREUR) ;
MESS ’Erreur reperee lors de l execution du calcul’ ;
SINON ;
MESS ’Aucune erreur lors de l execution du calcul’ ;
SI TAB1.CONV ;
MESS ’Convergence du calcul’ ;
SINON ;
MESS
’Pas de convergence du calcul pour le nombre d’iterations demande’ ;
FINSI ;
FINSI ;
TAB2 = TAB1.DEPLACEMENTS ;
NDIM = DIME TAB2 ;
IB = 0 ;
LIS1 = PROG ;
LIS2 = PROG ;
REPETER BOUC1 NDIM ;
DDD = EXTR (TAB2.IB) P2 UY ;
86
LIS1 = PROG 0. PAS 0.5 30. PAS -0.5 0. ;
LIS2 = INSER LIS2 &BOUC1 (-1.*DDD) ;
IB = IB+1 ;
FIN BOUC1 ;
TITRE ’COURBE DEPLACEMENT-FORCE’ ;
EV1 = EVOL MANU LIS2 ’DEPLACEMENT’ LIS1 ’FORCE’ ;
DESS EV1 ;
*
FMAX = (NDIM/2) ;
FFIN = NDIM - 1 ;
CHDEPM = TAB2.FMAX ;
CHDEPF = TAB2.FFIN ;
DEF0 = DEFO L1 CHDEPF 0. BLAN ;
DEF1 = DEFO L1 CHDEPM 1. ROUGE ;
DEF2 = DEFO L1 CHDEPF 1. VERT ;
OEIL = 0. 0. 1000. ;
TITRE ’DEFORMEE DE LA POUTRE APPLICATION FORCE MAXI’ ;
TRAC OEIL (DEF0 ET DEF1) ;
TRAC OEIL (DEF0 ET DEF2) TITRE ’DEFORMEE DE LA POUTRE APRES RELACHE’ ;
*
FIN;
12.0.6 Commentaires
LI1 = PROG 0. 3. 6. ;
LI2 = PROG 0. 3. 0. ;
EV = EVOL MANU ’Temps’ LI1 ’F(t)’ LI2 ;
CHA1 = CHAR MECA F1 EV ;
DESS EV TITRE ’Ftot= -10.F(t)’ ;
La liste de réels LI1 correspond à une liste de temps, la liste LI2 correspond au facteur multiplicatif de la force
en fonction du temps. Ces deux listes sont rassemblées dans l’évolution EV.
L’objet de chargement mécanique CHA1 permet de définir le chargement comme étant le produit de la force
F1 par un facteur multiplicatif qui varie en fonction du temps selon l’évolution EV.
87
CHAPITRE 12. CALCULS NON LINÉAIRES
F(t)
3.50
3.00
2.50
2.00
1.50
1.00
.50
Temps
.00
.00 1.00 2.00 3.00 4.00 5.00 6.00 7.00
Ftot= −10.F(t)
table qui est indicée par des mots-clés. Dans notre cas, on précise :
- le modèle : TAB1.’MODELE’
- les caractéristiques matérielles : TAB1.’CARACTERISTIQUES’
- le chargement : TAB1.’CHARGEMENT’
- les conditions aux limites : TAB1.’BLOCAGES_MECANIQUES’
- les incréments temporels du calcul : TAB1.’TEMPS_CALCULES’. Le calcul va donc réaliser 121 itérations
temporelles pour chaque pas de pseudo-temps entre 0 et 6.
- la liste des temps à sauver : TAB1.’TEMPS_SAUVES’. Ici la liste est identique à la liste des temps de calcul,
on aurait pu l’omettre.
Le lancement du calcul se fait par l’instruction : PASAPAS TAB1 .
Notons que pour un incrément de temps on peut avoir plusieurs itérations qui sont dues à des corrections
plastiques. On aurait pu spécifier le nombre de ces itérations dans TAB1.MAXITERATION.
SI (TAB1.ERREUR) ;
MESS ’Erreur reperee lors de l execution du calcul’ ;
SINON ;
MESS ’Aucune erreur lors de l execution du calcul’ ;
SI TAB1.CONV ;
MESS ’Convergence du calcul’ ;
SINON ;
MESS ’Pas de convergence du calcul pour le nombre d’iterations demande’ ;
FINSI ;
FINSI ;
On utilise ici des conditions logiques pour vérifier si le calcul s’est déroulé correctement :
- si le contenu de la variable logique TAB1.ERREUR est ’VRAI’ cela indique qu’il y a eu une erreur au cours
de l’exécution de la procédure ;
- si le contenu de la variable logique TAB1.CONV est ’VRAI’ cela indique que le calcul a convergé avant ou
pour le nombre maximal d’itérations autorisées.
TAB2 = TAB1.DEPLACEMENTS ;
NDIM = DIME TAB2 ;
IB = 0;
LIS1 = PROG ;
LIS2 = PROG ;
88
REPETER BOUC1 NDIM ;
DDD = EXTR (TAB2.IB) P2 UY ;
LIS1 = PROG 0. PAS 0.5 30. PAS -0.5 0. ;
LIS2 = INSER LIS2 &BOUC1 (-1.*DDD) ;
IB = IB+1 ;
FIN BOUC1 ;
TITRE ’COURBE DEPLACEMENT-FORCE’ ;
EV1 = EVOL MANU LIS2 ’DEPLACEMENT’ LIS1 ’FORCE’ ;
DESS EV1 ;
TAB1.DEPLACEMENTS est une table contenant les résultats des déplacements. Les indices de cette table sont
des entiers correspondant aux numéros des temps de sauvegarde (0, 1 ,... ,NDIM-1 ) ainsi TAB1.DEPLACEMENTS.0
est le champ de déplacements initial.
La liste de réels LIS2 contient le déplacement (en valeur absolue) UY du point P2 pour chaque pas de pseudo-
temps. La liste de réels LIS1 contient la force appliquée (en valeur absolue) pour chaque pas de pseudo-temps.
Les deux listes permettent de créer l’objet EV1 représentant l’évolution de la force en fonction du déplacement.
FORCE
35.00
30.00
25.00
20.00
15.00
10.00
5.00
DEPLACEMENT
.00
.00 .05 .10 .15 .20 .25 .30 .35
COURBE DEPLACEMENT−FORCE
FMAX = (NDIM/2) ;
FFIN = NDIM - 1 ;
CHDEPM = TAB2.FMAX ;
CHDEPF = TAB2.FFIN ;
DEF0 = DEFO L1 CHDEPF 0. BLAN ;
DEF1 = DEFO L1 CHDEPM 1. ROUGE ;
DEF2 = DEFO L1 CHDEPF 1. VERT ;
OEIL = 0. 0. 1000. ;
TITRE ’DEFORMEE DE LA POUTRE APPLICATION FORCE MAXI’ ;
TRAC OEIL (DEF0 ET DEF1) ;
TRAC OEIL (DEF0 ET DEF2) TITRE ’DEFORMEE DE LA POUTRE APRES RELACHE’ ;
L’objet CHDEPM contient le champ de déplacements résultant de l’effort maximal (pour le pseudo-temps
t=3) ; l’objet CHDEPF contient le champ de déplacement final (effort nul et pseudo-temps t=6). À partir de
ces champs de déplacements et de la géométrie initiale (L1), on crée des objets de type DEFORME. Afin
d’obtenir la structure non déformée, on utilise un coefficient d’amplification nul (cet artifice est nécessaire pour
la directive TRAC qui ne s’applique qu’à des objets de même type). La déformée de la poutre après relâche
montre qu’il y a bien eu plastification.
89
CHAPITRE 12. CALCULS NON LINÉAIRES
AMPLITUDE
0.00E+00
1.0
AMPLITUDE
0.00E+00
1.0
90
INDEX
Index
A EPSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
ABS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Erreurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
AMOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .45 EVOL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24, 87
ANTI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Évolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Axisymétrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 EXCO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22, 23, 48, 53
EXTR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
B
BLOQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 47, 75 F
Boucle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 FINP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
BSIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 FINS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Flottant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
C FLUX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
Calcul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 FORC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 47, 71
CALP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
CARA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42, 47 G
CER3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Gibiane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
CERC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 29
I
Champ par élément . . . . . . . . . . . . . . . . . . . . . . . . . 22, 23
INFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Champ par point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
INTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Champ par point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
INVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
CHAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
CHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71, 87 L
COMM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
COND . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 LIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Conditions limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 LIST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
CONV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 Liste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
COOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
COUR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
CUBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 M
CUBT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Maillage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20, 29, 37
MANU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21, 23, 64
D MASS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 64
DALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32 MATE . . . . . . . . . . . . . . . . . . . . . . . . . . .42, 47, 75, 78, 87
DEBP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27 MAXI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48, 53
DEFO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48, 51 MESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
DEPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 75 MINI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
DESS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 MODE . . . . . . . . . . . . . . . . . . . . . . . 24, 42, 47, 75, 78, 87
Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Modèle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24, 41
DROI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21, 29 MOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
DYNAMIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
N
E NBEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
ELIM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 NBNO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Entier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 NOMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
91
INDEX
Q
QUEL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
QUIT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
R
REAC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53, 57
REDU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
REGL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 33
RELA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
REPE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
RESO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 47, 76
REST . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
RESU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
RIGI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45, 47
ROTA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 34
RTEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
S
SAUV . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
SI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SIGM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53, 82
SINO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SORT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
SURF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 32
Surface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
SYMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43, 67
Syntaxe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
T
TABL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
92