Download Contact2D.dgibi

Back to the list

* 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