* fichier : Contact3D.dgibi
*----------------------------------------------------------------------*
* Ce cas-test permet de tester la gestion du contact par PASAPAS. *
* Il simule la mise en contact, en deplacements imposes, d'un cube *
* sur une sol rigide. On impose le deplacement de la face superieure *
* du cube. Sa base entre en contact, le cube est mis en compression. *
* On compare la solution EF a la solution analytique. *
*----------------------------------------------------------------------*
* *
'OPTI' 'DIME' 3 'ELEM' CUB8 'EPSI' 'LINEAIRE' ;
* *
* Si TRACes desires, mettre IG1 a VRAI : *
IG1 = FAUX ;
* *
*----------------------------------------------------------------------*
* MAILLAGE *
*----------------------------------------------------------------------*
* *
* Maillage "Sol" : *
S1 = -10. -5. 0. ;
S2 = +10. -5. 0. ;
NLS1 = 5 ;
LS1 = S1 'DROI' NLS1 S2 ;
SOL1 = LS1 'TRAN' NLS1 (0. 20. 0.) ;
SOL1 = SOL1 'COUL' 'OLIV' ;
* *
* Maillage "Cube" : *
C1 = -5. 0. 0.1 ;
M2 = +5. 0. 0.1 ;
NLC1 = 7 ;
LC1 = C1 'DROI' NLC1 M2 ;
SC1 = LC1 'TRAN' NLC1 (0. 10. 0.) ;
CUB1 = SC1 'VOLU' NLC1 'TRAN' (0. 0. 10.) ;
CUB1 = CUB1 'COUL' 'ORAN' ;
* *
MTOT1 = (SOL1 'ET' CUB1) 'COUL' 'DEFA' ;
* *
* Maillages de contact orientes : *
SOL2 = 'ORIE' ('CHAN' 'TRI3' SOL1) (0. 0. +1.) ;
SCC1 = 'ORIE' ('CHAN' 'TRI3' SC1 ) (0. 0. -1.) ;
MCONT1 = ('IMPO' 'MAIL' SOL2 SCC1) 'COUL' 'ROUG' ;
* *
* Traces : *
'SI' IG1 ;
'TITR' 'Maillages Cube / Sol ' ;
'TRAC' 'FACE' (CUB1 ET SOL1) ;
'TITR' 'Maillages Cube / Sol & Maillage de contact (rouge) ' ;
'TRAC' 'FACE' (MTOT1 ET MCONT1) ;
'FINS' ;
* *
*----------------------------------------------------------------------*
* MODELES / CARACTERISTIQUES *
*----------------------------------------------------------------------*
* *
MOD1 = 'MODE' CUB1 'MECANIQUE' 'ELASTIQUE' ;
MAT1 = 'MATE' MOD1 'YOUN' 1.E3 'NU' 0.3 ;
* *
MODC1 = 'MODE' MCONT1 'CONTACT' 'UNILATERAL' ;
* *
MOD0 = MOD1 'ET' MODC1 ;
MAT0 = MAT1 ;
* *
*----------------------------------------------------------------------*
* C.L. / CHARGEMENT *
*----------------------------------------------------------------------*
* *
* Deplacements imposes : *
CL1 = 'BLOQ' SOL1 'DEPL' ;
* *
SC2 = 'FACE' CUB1 2 ;
SCX0 = (CUB1 'ENVE') 'ELEM' 'APPU' ((CUB1 'COOR' 1) 'POIN' 'MINI') ;
SCY0 = (CUB1 'ENVE') 'ELEM' 'APPU' ((CUB1 'COOR' 2) 'POIN' 'MINI') ;
CLSC2 = 'BLOQ' SC2 'UZ' ;
CLSCX0 = 'BLOQ' SCX0 'UX' ;
CLSCY0 = 'BLOQ' SCY0 'UY' ;
*
CL0 = CL1 'ET' CLSC2 'ET' CLSCX0 'ET' CLSCY0 ;
* *
UZ0 = -0.101 ;
DCLC2 = 'DEPI' CLSC2 UZ0 ;
* *
'SI' IG1 ;
'TRAC' ('VECT' ('EXCO' DCLC2 'FLX' 'UZ') 'DEPL' 'ROUG') ('ARET' MTOT1)
'TITR' 'Deplacement impose a la surface superieure du cube.' ;
'FINS' ;
* *
* Chargements : *
LTPS1 = 'PROG' 0. 1. ;
EV1 = 'EVOL' 'MANU' 'TEMPS' LTPS1 LTPS1 ;
CHARU1 = 'CHAR' 'DIMP' DCLC2 EV1 ;
CHAR0 = CHARU1 ;
* *
*----------------------------------------------------------------------*
* RESOLUTION *
*----------------------------------------------------------------------*
* *
* Construction de la table PASAPAS : *
* *
TAB1 = 'TABL' ;
TAB1 . 'MODELE' = MOD0 ;
TAB1 . 'CARACTERISTIQUES' = MAT0 ;
TAB1 . 'BLOCAGES_MECANIQUES' = CL0 ;
TAB1 . 'CHARGEMENT' = CHAR0 ;
TAB1 . 'TEMPS_CALCULES' = LTPS1 ;
* *
* Resolution : *
* *
TAB2 = PASAPAS TAB1 ;
* *
*----------------------------------------------------------------------*
* DEPOUILLEMENT *
*----------------------------------------------------------------------*
* *
DEP1 = (TAB2 . 'DEPLACEMENTS' . 1) 'ENLE' 'LX' ;
* *
* Deformee : *
DEFO0 = 'DEFO' (CUB1 'ET' SOL1) DEP1 0. 'VERT' ;
DEFO1 = 'DEFO' (CUB1 'ET' SOL1) DEP1 1. 'ROUG' ;
* *
'SI' IG1 ;
'TITR' 'Maillages non deforme (vert) et deforme (rouge).' ;
'TRAC' (DEFO0 'ET' DEFO1) ;
'FINS' ;
* *
* On verifie qu'on ne tranverse pas la surface : *
ERR1 = ('MAXI' (SOL1 'COOR' 3))
- ('MINI' ((CUB1 'COOR' 3) + ('EXCO' 'UZ' DEP1))) ;
'MESS' ' ****** ECART RELATIF POSITION DE CONTACT : ' ERR1 ;
ERR0 = ERR1 ;
* *
* Definition des deplacements solutions et comparaison avec la *
* solution EF : *
'SI' ('EGA' ('VALE' 'EPSI') 'LINEAIRE') ;
EPXX1 = ((-1. * UZ0) - 0.1) * 0.1 * 0.3 ;
UXCUB1 = (('COOR' 1 CUB1) + 5.) * EPXX1 ;
SOLUX1 = UXCUB1 'NOMC' 'UX' ;
EPYY1 = EPXX1 ;
UYCUB1 = ('COOR' 2 CUB1) * EPYY1 ;
SOLUY1 = UYCUB1 'NOMC' 'UY' ;
EPZZ1 = (UZ0 + 0.1) * 0.1 ;
UZCUB1 = -0.1 + ((('COOR' 3 CUB1) - 0.1) * EPZZ1) ;
SOLUZ1 = UZCUB1 'NOMC' 'UZ' ;
SOLU1 = SOLUX1 'ET' SOLUY1 'ET' SOLUZ1 ;
ERR2 = 'MAXI' ('ABS' ((SOLU1 - DEP1) / ('MAXI' 'ABS' SOLU1))) ;
'MESS' ' ****** ERREUR RELATIVE EN DEPLACEMENT : ' ERR2 ;
ERR0 = ERR0 + ERR2 ;
'FINS' ;
* *
'SI' IG1 ;
'TITR' 'Champ de deplacements.' ;
'TRAC' ('CHAN' 'CHAM' DEP1 MOD1 'NOEUDS') MOD1 ;
'FINS' ;
* *
* Comparaison des champs de contraintes : *
* *
'SI' ('EGA' ('VALE' 'EPSI') 'LINEAIRE') ;
SIG1 = 'SIGM' MOD1 MAT1 SOLU1 ;
SIG1 = 'PICA' MOD1 SIG1 SOLU1 ;
SIG2 = TAB2 . 'CONTRAINTES' . 1 ;
ERR3 = ('MAXI' 'ABS' (SIG1 - SIG2)) / ('MAXI' 'ABS' SIG1) ;
'MESS' ' ****** ERREUR RELATIVE EN CONTRAINTE : ' ERR3 ;
ERR0 = ERR0 + ERR3 ;
'FINS' ;
* *
* Test calcul critere de Tresca avec modele de contact dans objet *
* modele en argument : *
TRE1 = 'TRES' MOD0 SIG2 ;
'SI' IG1 ;
'TITR' 'Champ de contraintes.' ;
'TRAC' SIG2 MOD0 ;
'TRAC' TRE1 MOD0 'TITR' 'Critere de Tresca' ;
'FINS' ;
* *
* Visualisations des reactions : *
* *
'SI' IG1 ;
REAC1 = TAB2 . 'REACTIONS' . 1 ;
VR1 = 'VECT' REAC1 'FORC' 'ROUG' ;
'TITR' 'Forces de reaction.' ;
'TRAC' VR1 ('ARET' MTOT1) ;
'FINS' ;
* *
ERRMAX1 = 1.E-4 ;
* *
'OPTI' 'ECHO' 0 ;
'SAUT' 1 'LIGN' ;
'MESS'
'---------------------- RESULTAT CAS-TEST ------------------------' ;
'MESS' ' ' ;
'MESS'
'Ecart relatif a la solution calculee sur les deplacements' ;
'MESS'
'et les contraintes :' ;
'MESS' ;
'SI' (ERR0 '<EG' ERRMAX1) ;
'MESS' ('CHAI' ' ==> MAXI ERREUR =' ERR0 ' < ' ERRMAX1 ) ;
'MESS' ' ' ;
'MESS' ' __________________' ;
'MESS' ' | |' ;
'MESS' ' | TEST REUSSI ! |' ;
'MESS' ' |________________|' ;
'SAUT' 1 'LIGN' ;
'SINO' ;
'MESS' ('CHAI' ' ==> MAXI ERREUR =' ERR0 ' > ' 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