* fichier : Contact2D.dgibi
*---------------------------------------------------------------------*
* Ce cas-test permet de tester la gestion du contact par PASAPAS. *
* Il simule la mise en contact, en deplacements imposes, d'un carre *
* sur une surface rigide. Le probleme est traite en 2D, contraintes *
* planes. On impose le deplacement de l'arete sup. du carre. Sa base *
* entre en contact, le carre est mis en compression. On compare la *
* solution EF a la solution analytique. *
*---------------------------------------------------------------------*
* *
**'OPTI' ECHO 0 ;
* *
'OPTI' 'DIME' 2 'ELEM' QUA4 'MODE' 'PLAN' 'CONT' ;
* *
* Si TRACes desires, mettre IG1 a VRAI : *
IG1 = FAUX ;
* *
*---------------------------------------------------------------------*
* MAILLAGE *
*---------------------------------------------------------------------*
* *
S1 = -10. 0.9999 ;
S2 = 10. 0.9999 ;
NLS1 = 5 ;
LS1 = S1 'DROI' NLS1 S2 ;
* *
M1 = -5. 1. ;
M2 = 5. 1. ;
NLM1 = 7 ;
LM1 = M1 'DROI' NLM1 M2 ;
SM1 = LM1 'TRAN' NLM1 (0. 10.) ;
* *
* Maillages de contact : *
* *
MCONT1 = ('IMPO' 'MAIL' LM1 ('INVE' LS1)) 'COUL' 'JAUN' ;
*list MCONT1;
* *
* Traces : *
* *
'SI' IG1 ;
'TITR' 'Maillages' ;
'TRAC' 'FACE' (LS1 'ET' SM1 'ET' MCONT1) ;
'FINS' ;
* *
*---------------------------------------------------------------------*
* MODELES / CARACTERISTIQUES *
*---------------------------------------------------------------------*
* *
MODM1 = 'MODE' SM1 'MECANIQUE' 'ELASTIQUE' ;
MATM1 = 'MATE' MODM1 'YOUN' 1.E3 'NU' 0.3 ;
* *
*---------------------------------------------------------------------*
* C.L. / CHARGEMENT *
*---------------------------------------------------------------------*
* *
* Deplacements imposes : *
* *
LM3 = SM1 'COTE' 3 ;
LM4 = SM1 'COTE' 4 ;
CLLM3 = 'BLOQ' LM3 'UY' ;
CLLM4 = 'BLOQ' LM4 'UX' ;
CLS1 = 'BLOQ' LS1 'DEPL' ;
CL0 = CLLM3 'ET' CLLM4 'ET' CLS1 ;
* *
UY0 = -0.0003 ;
DCLLM3 = 'DEPI' CLLM3 UY0 ;
* *
'SI' IG1 ;
'TITR' 'Deplacement impose au bord superieur du carre.' ;
'TRAC' ('VECT' (DCLLM3 'NOMC' 'UY') 1. 'UX' 'UY' 'VERT')
(LS1 'ET' SM1) ;
'FINS' ;
* *
* Chargements : *
* *
LTPS1 = 'PROG' 0. 1. ;
EV1 = 'EVOL' 'MANU' 'TEMPS' LTPS1 ('PROG' 0. 1.) ;
* *
CHARU1 = 'CHAR' 'DIMP' DCLLM3 EV1 ;
CHAR0 = CHARU1 ;
MODCONTA= model MCONT1 contact unilateral;
list modconta;
* *
*---------------------------------------------------------------------*
* RESOLUTION *
*---------------------------------------------------------------------*
* *
* Construction de la table PASAPAS : *
* *
TAB1 = 'TABL' ;
TAB1 . 'TEMPS_CALCULES' = LTPS1 ;
TAB1 . 'MODELE' = MODM1 et modconta;
TAB1 . 'CARACTERISTIQUES' = MATM1 ;
TAB1 . 'BLOCAGES_MECANIQUES' = CL0 ;
TAB1 . 'CHARGEMENT' = CHAR0 ;
*TAB1 . 'CONTACT' = MCONT1 ;
*TAB1 . 'GRANDS_DEPLACEMENTS' = FAUX ;
* *
* Resolution : *
* *
TAB2 = PASAPAS TAB1 ;
* *
*---------------------------------------------------------------------*
* DEPOUILLEMENT *
*---------------------------------------------------------------------*
* *
DEP1 = (TAB2 . 'DEPLACEMENTS' . 1) 'ENLE' 'LX' ;
* *
* Deformee : *
* *
DEFO0 = 'DEFO' (SM1 'ET' LS1) DEP1 0. 'VERT' ;
DEFO1 = 'DEFO' (SM1 'ET' LS1) DEP1 1. 'ROUG' ;
* *
'SI' IG1 ;
'TITR' 'Maillages non deforme (vert) et deforme (rouge).' ;
'TRAC' (DEFO0 'ET' DEFO1) ;
'FINS' ;
* *
* Definition des deplacements solutions et comparaison avec la *
* solution EF : *
* *
EPXX1 = ((-1. * UY0) - 0.0001) * 0.1 * 0.3;
UXSM1 = (('COOR' 1 SM1) + 5.) * EPXX1 ;
SOLUX1 = UXSM1 'NOMC' 'UX' ;
EPYY1 = ((-1. * UY0) - 0.0001) * 0.1 ;
UYSM1 = ((('COOR' 2 SM1) - 1.) * EPYY1) + 0.0001;
SOLUY1 = (-1. * UYSM1) 'NOMC' 'UY' ;
SOLU1 = SOLUX1 'ET' SOLUY1 ;
ERR1 = 'MAXI' ('ABS' ((SOLU1 - DEP1) / ('MAXI' 'ABS' (SOLU1)))) ;
* *
'SI' IG1 ;
'TITR' 'Champ de deplacements.' ;
'TRAC' ('CHAN' 'CHAM' DEP1 MODM1 'NOEUDS') MODM1 ;
'FINS' ;
* *
* Comparaison des champs de contraintes : *
* *
EPS1 = 'EPSI' MODM1 SOLU1 ;
SIG1 = 'ELAS' MODM1 EPS1 MATM1 ;
SIG2 = TAB2 . 'CONTRAINTES' . 1 ;
ERR2 = 'MAXI' ('ABS' ((SIG1 - SIG2) / ('MAXI' 'ABS' (SIG1)))) ;
* *
'SI' IG1 ;
'TITR' 'Champ de contraintes.' ;
'TRAC' SIG2 MODM1 ;
'FINS' ;
* *
* Visualisations des reactions : *
* *
'SI' IG1 ;
REAC1 = TAB2 . 'REACTIONS' . 1 ;
VR1 = 'VECT' REAC1 0.8E-2 'FX' 'FY' 'ROUG' ;
'TITR' 'Forces de reaction.' ;
'TRAC' VR1 (LS1 'ET' SM1) ;
'FINS' ;
* *
LERR0 = 'PROG' ERR1 ERR2 ;
ERR0 = 'MAXI' LERR0 ;
ERRMAX1 = 1.E-3 ;
* *
'OPTI' 'ECHO' 0 ;
'SAUT' 1 'LIGN' ;
'MESS'
'------------------------ RESULTAT CAS-TEST ------------------------' ;
'SAUT' 1 'LIGN' ;
'MESS'
'Ecart relatif a la solution calculee sur les deplacements' ;
'MESS'
'et les contraintes :' ;
'MESS'
'-----------------------------------------------------------' ;
'MESS' ;
'MESS' ' MAX. ERREUR =' ERR0 ;
'SAUT' 1 'LIGN' ;
'SI' (ERR0 '<EG' ERRMAX1) ;
'MESS' '==> Erreur relative inferieure a' ERRMAX1 ':' ;
'MESS' '' ;
'MESS' ' __________________' ;
'MESS' ' | |' ;
'MESS' ' | TEST REUSSI ! |' ;
'MESS' ' |________________|' ;
'SAUT' 1 'LIGN' ;
'SINO' ;
'MESS' '==> Erreur relative superrieure a' ERRMAX1 ':' ;
'MESS' '' ;
'MESS' ' __________________' ;
'MESS' ' | |' ;
'MESS' ' | ERREUR ! |' ;
'MESS' ' |________________|' ;
'SAUT' 1 'LIGN' ;
'ERRE' 5 ;
'FINS' ;
'MESS'
'-------------------------- FIN CAS-TEST ---------------------------' ;
* *
'FIN' ;
'OPTI' 'ECHO' 1 ;
© Cast3M 2003 - All rights reserved.
Disclaimer