Date: 21 février 2007
Version | Date | Modifications | Auteur(s) |
---|---|---|---|
01 | 29/01/2007 | Création | PC |
Mots clefs : Coques, éléments surfaciques, excentrement, MECA_STATIQUE.
Ce document se voulant interactif, le signalement de toute erreur est le bienvenu il en va de même pour les améliorations.
Le lecteur est invité à lire le tutorial 1 (CAELINUX_post-traitement.pdf) traitant spécifiquement du post-traitement (graphique) des résultats ; il y trouvera quelques façons de visualiser les résultats (déplacements, champs de contraintes, courbes, etc. ...). De cette façon, les différents tutoriaux se concentreront sur le thème de la note.
L'autre particularité du document réside dans l'utilisation des excentrements (ces derniers sont particulièrement utiles et intéressant dans la cadre de raccord coques/volumes par exemple1) pour cela nous utiliserons 3 maillages (correspondant respectivement à la peau supérieure, à la peau inférieure et au feuillet moyen) et nous montrerons que les résultats sont identiques.
La modélisation correspond à une feuille d'acier posée sur le sol, et sur laquelle une pression extérieure de 1 bar s'applique ; les tranches en contact avec le sol sont supposées glisser librement.
Les calculs ont été réalisés sous Code Aster
V8.3.
![]()
|
Dans le cas des coques, l'orientation des normales est un point clef (cf. figures 7 et 8) ; elle détermine le sens de certaines sollicitations (comme la pression par exemple), le signe de l'excentrement (positif ou négatif) et la méthode de post-traitement (peau inférieure ou peau supérieure).
Les exemples suivant (cf. figures 9 et 10) mettent bien en évidence les résultats différents selon les normales.
![]()
|
Les schémas 11 et 12 montrent que la normale part de la peau inférieure vers la peau supérieure.
Il est en effet dommage de relancer tout un calcul (particulièrement si celui-ci est long) pour une problématique de post-traitement (recherche d'un instant particulier, calcul d'une grandeur supplémentaire ou tout simplement une erreur de post-traitement).
Cette étude se caractérisant par 3 modélisations, nous lançons 3 séries de calculs. La chronologie suivante est celle du "feuillet moyen" mais elle vaut pour tous les calculs.
Etape 1 : calcul mécanique
F mess /feuillet_moyen.mess R 6 F erre /feuillet_moyen.erre R 9 F unv /feuillet_moyen.unv D 19 F comm /feuillet_moyen.comm D 1 R base /feuillet_moyen/base_feuillet_moyen R 0
Etape 2 : Post-traitement des résultats mécaniques - sous Gibi
ici
F mess /feuillet_moyen_post_moy.mess R 6 F erre /feuillet_moyen_post_moy.erre R 9 F comm /feuillet_moyen_post_moy.comm D 1 R base /base_feuillet_moyen D 0 F cast /feuillet_moyen.cast R 50 F resu /extraction_vmis_moy.resu R 60
Le lecteur se reportera à l'annexe 1 pour trouver les unités à utiliser en fonction du dimensionnel du maillage. Dans le cas présent, la CAO étant en millimètre, les unités principales sont le MPa (N/mm) et le mm ; les résultats seront donc dans les mêmes unités.
PRE_IDEAS(); MOY_INIT=LIRE_MAILLAGE();
Les éléments COQUE_3D sont particuliers et ils possèdent un noeud milieu soit au total 7 noeuds pour les triangles et 9 noeuds pour les quadrangles ; il est alors nécessaire de créer un nouveau maillage qui opèrent ces modifications :
MOY_MODI=CREA_MAILLAGE(MAILLAGE=MOY_INIT, MODI_MAILLE=(_F(TOUT='OUI', OPTION='QUAD8_9',), _F(TOUT='OUI', OPTION='TRIA6_7',),),); MODELE=AFFE_MODELE(MAILLAGE=MOY_MODI, AFFE=_F(TOUT='OUI', PHENOMENE='MECANIQUE', MODELISATION='COQUE_3D',),);
CARA_COQ=AFFE_CARA_ELEM(MODELE=MODELE, COQUE=_F(GROUP_MA='PEAU_MOY', EPAIS=0.5, ANGL_REP=(0,0,), COQUE_NCOU=1,),);
SS304L=DEFI_MATERIAU(ELAS=_F(E=194000, NU=0.3,),); MATERIAU=AFFE_MATERIAU(MAILLAGE=MOY_MODI, AFFE=_F(TOUT='OUI', MATER=SS304L,),);
Les CL sont les suivantes :
CL=AFFE_CHAR_MECA(MODELE=MODELE, DDL_IMPO=(_F(GROUP_NO='BASE_MOY', DZ=0,), _F(GROUP_NO='SYM_MOY', DX=0, DRY=0, DRZ=0,), _F(NOEUD='N68', DY=0, DRX=0,),),);
CHARGMNT=AFFE_CHAR_MECA(MODELE=MODELE, FORCE_COQUE=_F(GROUP_MA='PEAU_MOY', PRES=0.1,),);
RESOL=MECA_STATIQUE(MODELE=MODELE, CHAM_MATER=MATERIAU, CARA_ELEM=CARA_COQ, EXCIT=(_F(CHARGE=CL,), _F(CHARGE=CHARGMNT,),),);
NOTA : Les contraintes calculées dépassent les 1000 MPa comme le montre le post-traitement ; cette valeur indique tout simplement que la pièce plastifie et qu'un calcul non-linéaire est nécessaire. Ce type de calculs n'étant pas à l'ordre du jour, il fera l'objet d'un tutorial ultérieur.
CARA_COQ=AFFE_CARA_ELEM(MODELE=MODELE, COQUE=_F(GROUP_MA='PEAU_SUP', EPAIS=0.5, ANGL_REP=(0,0,), COQUE_NCOU=1, EXCENTREMENT=0.25, INER_ROTA='OUI',),);
CARA_COQ=AFFE_CARA_ELEM(MODELE=MODELE, COQUE=_F(GROUP_MA='PEAU_INF', EPAIS=0.5, ANGL_REP=(0,0,), COQUE_NCOU=1, EXCENTREMENT=-0.25, INER_ROTA='OUI',),);
![]()
|
![]()
|
![]()
|
![]()
|
Il est intéressant de vérifier que la cartographie reste bien identique (chose qui a été faite mais qui n'a pas été présentée ici pour ne pas alourdir encore plus la présentation). Quelques petites différences ont été relevées sur les contraintes calculées mais elles demeurent inférieures à 3% (valeurs extrapolées aux noeuds).
Contraintes de Von Mises | ||||
Peau inf. | ||||
Min | 0 | 0 | 0 | |
Max | 1239.5 | 1220.2 | ||
Min | 0 | 0 | 0 | |
Max | 1254.0 | 1190.0 | ||
Min | 0 | 0 | 0 | |
Max | 1246.3 | 1157.9 |
DEBUT(); #Lecture du maillage PRE_IDEAS(); MOY_INIT=LIRE_MAILLAGE(); #Définition du modele (coque_3D) ; pour cela il faut ajouter des noeuds milieu MOY_MODI=CREA_MAILLAGE(MAILLAGE=MOY_INIT, MODI_MAILLE=(_F(TOUT='OUI', OPTION='QUAD8_9',), _F(TOUT='OUI', OPTION='TRIA6_7',),),); MODELE=AFFE_MODELE(MAILLAGE=MOY_MODI, AFFE=_F(TOUT='OUI', PHENOMENE='MECANIQUE', MODELISATION='COQUE_3D',),); #Définition des propriétés des coques (épaisseur / excentrement / nbre de couche(s) dans l'épaisseur ...) # #NOTA : en élasticité, une seule couche suffit CARA_COQ=AFFE_CARA_ELEM(MODELE=MODELE, COQUE=_F(GROUP_MA='PEAU_MOY', EPAIS=0.5, ANGL_REP=(0,0,), COQUE_NCOU=1,),); #Definition & affectation du materiau : acier SS304L=DEFI_MATERIAU(ELAS=_F(E=194000, NU=0.3,),); MATERIAU=AFFE_MATERIAU(MAILLAGE=MOY_MODI, AFFE=_F(TOUT='OUI', MATER=SS304L,),); #Définition des conditions aux limites : #- plan de symetrie #- base #- encastrement d'un noeud sinon système hypostatique (N68) CL=AFFE_CHAR_MECA(MODELE=MODELE, DDL_IMPO=(_F(GROUP_NO='BASE_MOY', DZ=0,), _F(GROUP_NO='SYM_MOY', DX=0, DRY=0, DRZ=0,), _F(NOEUD='N68', DY=0, DRX=0,),),); CHARGMNT=AFFE_CHAR_MECA(MODELE=MODELE, FORCE_COQUE=_F(GROUP_MA='PEAU_MOY', PRES=0.1,),); #Résolution RESOL=MECA_STATIQUE(MODELE=MODELE, CHAM_MATER=MATERIAU, CARA_ELEM=CARA_COQ, EXCIT=(_F(CHARGE=CL,), _F(CHARGE=CHARGMNT,),),); FIN();
POURSUITE(); RESOL=CALC_ELEM(reuse =RESOL, RESULTAT=RESOL, OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',), NIVE_COUCHE='MOY',); IMPR_RESU(FORMAT='CASTEM', UNITE=50, RESU=_F(MAILLAGE=MOY_MODI, RESULTAT=RESOL, NOM_CHAM=('DEPL','EQUI_ELNO_SIGM',),),); #- format GMSH RESOL=CALC_NO(reuse =RESOL, RESULTAT=RESOL, OPTION='EQUI_NOEU_SIGM',); IMPR_RESU(FORMAT='GMSH', UNITE=53, RESU=_F(RESULTAT=RESOL, NOM_CHAM='EQUI_NOEU_SIGM', NOM_CMP='VMIS',),); IMPR_RESU(FORMAT='GMSH', UNITE=56, RESU=_F(RESULTAT=RESOL, NOM_CHAM='DEPL',),); #Extraction des résultats dans le fichier .resu MOY_MODI=DEFI_GROUP(reuse =MOY_MODI, MAILLAGE=MOY_MODI, CREA_GROUP_NO=_F(GROUP_MA='PEAU_MOY',),); EXT_VMIS=POST_RELEVE_T(ACTION=_F(OPERATION='MOYENNE', INTITULE='EXTRACTION VMIS', RESULTAT=RESOL, NOM_CHAM='EQUI_ELNO_SIGM', GROUP_NO='PEAU_MOY', NOM_CMP='VMIS',),); IMPR_TABLE(TABLE=EXT_VMIS, UNITE=60,); FIN();
POURSUITE(); RESOL=CALC_ELEM(reuse =RESOL, RESULTAT=RESOL, OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',), NIVE_COUCHE='SUP',); IMPR_RESU(FORMAT='CASTEM', UNITE=51, RESU=_F(MAILLAGE=MOY_MODI, RESULTAT=RESOL, NOM_CHAM=('DEPL','EQUI_ELNO_SIGM',),),); #- format GMSH RESOL=CALC_NO(reuse =RESOL, RESULTAT=RESOL, OPTION='EQUI_NOEU_SIGM',); IMPR_RESU(FORMAT='GMSH', UNITE=54, RESU=_F(RESULTAT=RESOL, NOM_CHAM='EQUI_NOEU_SIGM', NOM_CMP='VMIS',),); IMPR_RESU(FORMAT='GMSH', UNITE=57, RESU=_F(RESULTAT=RESOL, NOM_CHAM='DEPL',),); #Extraction des résultats dans le fichier .resu MOY_MODI=DEFI_GROUP(reuse =MOY_MODI, MAILLAGE=MOY_MODI, CREA_GROUP_NO=_F(GROUP_MA='PEAU_MOY',),); EXT_VMIS=POST_RELEVE_T(ACTION=_F(OPERATION='MOYENNE', INTITULE='EXTRACTION VMIS', RESULTAT=RESOL, NOM_CHAM='EQUI_ELNO_SIGM', GROUP_NO='PEAU_MOY', NOM_CMP='VMIS',),); IMPR_TABLE(TABLE=EXT_VMIS, UNITE=60,); FIN();
POURSUITE(); RESOL=CALC_ELEM(reuse =RESOL, RESULTAT=RESOL, OPTION=('SIGM_ELNO_DEPL','EQUI_ELNO_SIGM',), NIVE_COUCHE='INF',); IMPR_RESU(FORMAT='CASTEM', UNITE=52, RESU=_F(MAILLAGE=MOY_MODI, RESULTAT=RESOL, NOM_CHAM=('DEPL','EQUI_ELNO_SIGM',),),); #- format GMSH RESOL=CALC_NO(reuse =RESOL, RESULTAT=RESOL, OPTION='EQUI_NOEU_SIGM',); IMPR_RESU(FORMAT='GMSH', UNITE=55, RESU=_F(RESULTAT=RESOL, NOM_CHAM='EQUI_NOEU_SIGM', NOM_CMP='VMIS',),); IMPR_RESU(FORMAT='GMSH', UNITE=58, RESU=_F(RESULTAT=RESOL, NOM_CHAM='DEPL',),); #Extraction des résultats dans le fichier .resu MOY_MODI=DEFI_GROUP(reuse =MOY_MODI, MAILLAGE=MOY_MODI, CREA_GROUP_NO=_F(GROUP_MA='PEAU_MOY',),); EXT_VMIS=POST_RELEVE_T(ACTION=_F(OPERATION='MOYENNE', INTITULE='EXTRACTION VMIS', RESULTAT=RESOL, NOM_CHAM='EQUI_ELNO_SIGM', GROUP_NO='PEAU_MOY', NOM_CMP='VMIS',),); IMPR_TABLE(TABLE=EXT_VMIS, UNITE=60,); FIN();
************************************************************* * donner ici le nom du fichier de post traitement (*.cast) fich='feuillet_moyen.cast'; * ou fich='peau_sup.cast'; * ou fich='peau_inf.cast'; option rest form fich ; rest form ; ************************************************************* * donner ici le nom du maillage utilise dans le fichier de * commandes ASTER et le nom du resultat maya1 = MOY_MODI ; res1 = RESOL ; ************************************************************* list res1.1; oe1 = 0. -500. 1000. ; oe2 = 0. 1000. 0. ; oe3 = 0. 1000. 1000. ; oe4 = 1000. 0. 0. ; depl1 = res1 . 1 . depl ; sig_eq1 = res1 . 1 . equi_elno_sigm ; q1 = exco depl1 ux ; q2 = exco depl1 uy ; q3 = exco depl1 uz ; module = ((q1**2) + (q2**2) + (q3**2))**(0.5) ; * visualisation des deformees defo1 = defo maya1 depl1 rouge ; defo0 = defo maya1 depl1 0. vert ; titre 'Deformee ' ; trac oe4 (defo1 et defo0) ; trac oe1 (defo1 et defo0) ; titre 'Isovaleurs des deplacements' ; trac oe2 module maya1 ; trac oe1 module maya1 ; titre 'Contraintes équivalente de Von Mises' ; modcast = mode maya1 mecanique elastique ; vmi1 = exco vmis sig_eq1 ; trac oe1 vmi1 modcast ; trac oe2 vmi1 modcast ; trac oe3 vmi1 modcast ; titre 'Contraintes équivalente de Von Mises sur déformée' ; trac oe4 vmi1 modcast defo1 ; titre 'Visualisation des deplacements' ; VISU_VEC = VECT depl1 0.6 ; trac cach oe4 VISU_VEC maya1 ; trac cach oe1 VISU_VEC maya1 ;
Remerciements : Les auteurs souhaitent remercier les personnes de la communauté de Code Aster
qui ont fourni aides et informations précieuses : qu'ils en soient chaleureusement remercier. L'ensemble des notes présentes sur le site ne sont que la continuation de cet esprit "libre" qui vise entre-autres choses partager son savoir et son travail
L'auteur : Paul CARRICO3.
Les commentaires sont à adresser à :
paul.carrico_at_free.fr
Unités | METRIQUE | METRIQUE | ANGLO-SAXONNE | ANGLO-SAXONNE |
---|---|---|---|---|
MKS | mmNS | FPS | IPS | |
Longueur | m | mm | ft | in |
Temps | sec | sec | sec | sec |
Masse | Kg | tonne | slug | lbf-sec |
Force | N | N | lbf | lbf |
Température | C | C | F | F |
Aire | m | mm | ft | in |
Volume | m | mm | ft (cu-ft) | in (cu-in) |
Vitesse | m/sec | mm/sec | ft/sec | in/sec |
Accélération | m/sec | mm/sec | ft/sec | in/sec |
Angle, rotation | rad | rad | rad | rad |
Vitesse angulaire | rad/sec | rad/sec | rad/sec | rad/sec |
Masse volumique | Kg/m | Tonne/mm | slug/ft | lbf-sec/in |
Moment, couple | N-m | N-mm | ft-lbf | in-lbf |
Force linéïque | N/m | N/mm | lbf/ft | lbf/in |
Force répartie sur une surface | N/m | N/mm | lbf/ft | lbf/in |
(Contrainte, pression,Module d'Young) | (Pa) | (MPa) | (Psi) | |
Coefficient de Dilatation thermique | /C | /C | /F | /F |
(/K) | (/K) | (/K) | (/K) | |
Moment Quadratique d'une poutre | m | mm | ft | in |
Moment d'inertie transverse d'une poutre | Kg-m | tonne-mm | slug-ft | lbf-in-sec |
Energie, Travail, Chaleur | J | mJ | ft-lbf | in-lbf |
Puissance, taux de transfert thermique | W | mW | ft-lbf/sec | in-lbf/sec |
Gradient de température | C/m | C/mm | F/ft | F/in |
Flux thermique | W/m | mW/mm | lbf/ft-sec | lbf/in-sec |
Conductivité thermique | W/m-C | mW/mm-C | lbf/sec-F | lbf/sec-F |
Chaleur spécifique C | J/Kg-C | mJ/tonne-C | ft-lbf/slug-F | in/sec-F |
Rappels :
This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)
Copyright © 1993, 1994, 1995, 1996,
Nikos Drakos,
Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999,
Ross Moore,
Mathematics Department, Macquarie University, Sydney.
The command line arguments were:
latex2html -split 0 CAELINUX_coques.tex
The translation was initiated by on 2007-02-21