**optio surv 2225630; *optio resou iter; * fichier : Coulomb3D.dgibi ************************************************************************ * Section : Mecanique Contact ************************************************************************ *----------------------------------------------------------------------* * Ce cas-test permet de tester la gestion du frottement de Coulomb par * * PASAPAS. * * Il calcule la mise en contact d'un lopin parallelipedique sur une * * surface rigide, puis sa mise en glissement partiel dans la dir. Ox. * * On pilote la face superieure du lopin en deplacements imposes. * * La convergence en glissement partiel necessite une trentaine * * d'iterations. * * On ne verifie que le respect de la condition de contact et de la loi * * de Coulomb (T <= mu*N). * * Si IG1 = VRAI, on visualise la solution, notamment les points en * * glissement et ceux adherents. * *----------------------------------------------------------------------* * * * Si TRACes desires, mettre IG1 a VRAI : * IG1 = VRAI ; optio trac psc ; * * 'OPTI' 'DIME' 3 'ELEM' CUB8 ; * * *----------------------------------------------------------------------* * MAILLAGE * *----------------------------------------------------------------------* * * * Maillage "Sol" : * S1 = -10. -5. 0. ; S2 = +10. -5. 0. ; NLS1 = 25; 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 = 17; LC1 = C1 'DROI' NLC1 M2 ; SC1 = LC1 'TRAN' NLC1 (0. 10. 0.) ; LOP1 = SC1 'VOLU' NLC1 'TRAN' (0. 0. 8.) ; LOP1 = LOP1 'COUL' 'ORAN' ; * * MTOT1 = (SOL1 'ET' LOP1) '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' (LOP1 ET SOL1) ; 'TITR' 'Maillages Cube / Sol & Maillage de contact (rouge) ' ; ** 'TRAC' 'FACE' (MTOT1 ET MCONT1) ; 'FINS' ; * * *----------------------------------------------------------------------* * MODELES / CARACTERISTIQUES * *----------------------------------------------------------------------* * * MOD1 = 'MODE' LOP1 'MECANIQUE' 'ELASTIQUE' ; MAT1 = 'MATE' MOD1 'YOUN' 1.E1 'NU' 0.32; * * MU1 = 0.2 ; MODF1 = 'MODE' SOL2 'CONTACT' 'FROTTANT' 'COULOMB' SCC1 'MESC'; MATF1 = 'MATE' MODF1 'MU' MU1 ; sptco = SCC1; * * MOD0 = MOD1 'ET' MODF1 ; MAT0 = MAT1 'ET' MATF1 ; * * *----------------------------------------------------------------------* * C.L. / CHARGEMENT * *----------------------------------------------------------------------* * * * Deplacements imposes : * CL1 = 'BLOQ' SOL1 'DEPL' ; * * SCZ1 = (LOP1 'COOR' 3) 'POIN' 'MAXI' ; CL2 = 'BLOQ' 'UX' SCZ1 ; CL3 = 'BLOQ' 'UY' SCZ1 ; CL4 = 'BLOQ' 'UZ' SCZ1 ; * CL0 = CL1 'ET' CL2 'ET' CL3 'ET' CL4 ; * * UX0 = +0.600 ; UZ0 = -0.500 ; DCL2 = 'DEPI' CL2 UX0 ; DCL4 = 'DEPI' CL4 UZ0 ; * * 'SI' IG1 ; 'TRAC' ('VECT' ('EXCO' DCL4 'FLX' 'UZ') 'DEPL' 'ROUG') ('ARET' MTOT1) 'TITR' 'Deplacement impose a la surface superieure du lopin : mise en contact.' ; 'TRAC' ('VECT' ('EXCO' DCL2 'FLX' 'UX') 'DEPL' 'ROUG') ('ARET' MTOT1) 'TITR' 'Deplacement impose a la surface superieure du lopin : glissement.' ; 'FINS' ; * * * Chargements : * LTPS1 = 'PROG' 0. 1. 2. ; EV1 = 'EVOL' 'MANU' 'TEMPS' LTPS1 ('PROG' 0. 1. 1.) ; EV2 = 'EVOL' 'MANU' 'TEMPS' LTPS1 ('PROG' 0. 0. 1.) ; CHARU1 = 'CHAR' 'DIMP' DCL4 EV1 ; CHARU2 = 'CHAR' 'DIMP' DCL2 EV2 ; CHAR0 = CHARU1 'ET' CHARU2 ; * * *----------------------------------------------------------------------* * RESOLUTION * *----------------------------------------------------------------------* * * * Construction de la table PASAPAS : * * * PREC1 = 2.E-5 ; TAB1 = 'TABL' ; TAB1 . 'MODELE' = MOD0 ; TAB1 . 'CARACTERISTIQUES' = MAT0 ; TAB1 . 'BLOCAGES_MECANIQUES' = CL0 ; TAB1 . 'CHARGEMENT' = CHAR0 ; TAB1 . 'TEMPS_CALCULES' = 'PROG' 0. pas 0.25 2; TAB1 . 'PRECISION' = PREC1 ; TAB1.'DELTAITER' = 20; * * * Resolution : * * * TAB2 = PASAPAS TAB1 ; * * *----------------------------------------------------------------------* * DEPOUILLEMENT * *----------------------------------------------------------------------* * * IND1 = ('DIME' TAB2 . 'DEPLACEMENTS') - 1 ; DEP1 = (TAB2 . 'DEPLACEMENTS' . IND1) 'ENLE' 'LX' ; REA1 = TAB2 . 'REACTIONS' . IND1 ; * Reactions sur la surface du lopin en contact : * MREA1 = 'EXTR' REA1 'MAIL' ; SCREA1 = SC1 'ELEM' 'APPU' 'STRI' MREA1 ; REASC1 = 'REDU' (TAB1 . REACTIONS . IND1) SCREA1 ; * * *--------------------------- Visualisations ---------------------------* 'SI' IG1 ; * * * Deformee : * DEFO0 = 'DEFO' (LOP1 'ET' SOL1) DEP1 0. 'VERT' ; DEFO1 = 'DEFO' (LOP1 'ET' SOL1) DEP1 1. 'ROUG' ; MOT1 = 'CHAI' 'Geometrie non deformee (vert) et deformee (rouge)' ; 'TITR' MOT1 ; 'TRAC' 'CACH' (DEFO0 'ET' DEFO1) ; OEIL1 = (0. -1.E5 0.) ; 'TRAC' 'CACH' (DEFO0 'ET' DEFO1) OEIL1 ; * * * Deplacements : * UXF1 = 'DEFO' (LOP1 'ET' SOL1) DEP1 1. ('EXCO' DEP1 'UX' 'UX') ; UYF1 = 'DEFO' (LOP1 'ET' SOL1) DEP1 1. ('EXCO' DEP1 'UY' 'UY') ; UZF1 = 'DEFO' (LOP1 'ET' SOL1) DEP1 1. ('EXCO' DEP1 'UZ' 'UZ') ; 'TRAC' UXF1 'TITR' 'Deplacements Ux' ; 'TRAC' UYF1 'TITR' 'Deplacements Uy' ; 'TRAC' UZF1 'TITR' 'Deplacements Uz' ; * * * Contraintes : * CONF0 = 'FORM' ; 'FORM' DEP1 ; SIG1 = TAB1 . 'CONTRAINTES' . IND1 ; 'TITR' ' Contraintes dans la CONFiguration deformee ' ; 'TRAC' SIG1 MOD1 (LOP1 ET SOL1) ; 'FORM' CONF0 ; * * * Reactions : * VR1 = 'VECT' REA1 'FORC' 'ROUG' ; OEIL1 = (1.E5 -1.E5 1.E5) ; 'TRAC' OEIL1 VR1 ('ARET' MTOT1) 'TITR' 'Forces de reaction.' ; 'FINS' ; * * * Critere de glissement (T = mu*N) : * RN1 = 'EXCO' REASC1 'FZ' ; RX1 = 'EXCO' REASC1 'FX' ; RY1 = 'EXCO' REASC1 'FY' ; RT1 = ((RX1 * RX1) + (RY1 * RY1)) ** 0.5 ; * La partie en glissement verifie mu*N-T > 0 a la precision pres : * CGLIS1 = (MU1 * RN1 - RT1) / ('MAXI' 'ABS' RN1) ; GLISS1 = ('ABS' CGLIS1) 'MASQ' 'INFE' PREC1 ; * * 'SI' IG1 ; 'TITR' ' Parties adherentes (Bleu) / en glissement (rouge) ' ; 'TRAC' GLISS1 SCREA1 ; 'FINS' ; * * *-------------------- Verifications de la solution --------------------* * * * On verifie qu'on ne tranverse pas la surface : * ERR1 = ('MAXI' (SOL1 'COOR' 3)) - ('MINI' ((LOP1 'COOR' 3) + ('EXCO' 'UZ' DEP1))) ; 'MESS' ' ****** ECART RELATIF POSITION DE CONTACT : ' ERR1 ; * * * On verifie la loi de Coulomb au critere pres : * ERR2 = 'MINI' CGLIS1 ; ERR0 = 'MAXI' ('PROG' ERR1 (ERR2 * -1)) ; * * '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' ; *****prec1 = prec1 * 1d-2; 'SI' (ERR0 ' MAXI ERREUR =' ERR0 ' < ' PREC1 ) ; 'MESS' ' ' ; 'MESS' ' __________________' ; 'MESS' ' | |' ; 'MESS' ' | TEST REUSSI ! |' ; 'MESS' ' |________________|' ; 'SAUT' 1 'LIGN' ; 'SINO' ; 'MESS' ('CHAI' ' ==> MAXI ERREUR =' ERR0 ' > ' PREC1 ) ; 'MESS' ' ' ; 'MESS' ' __________________' ; 'MESS' ' | |' ; 'MESS' ' | ERREUR ! |' ; 'MESS' ' |________________|' ; 'SAUT' 1 'LIGN' ; 'ERRE' 5 ; 'FINS' ; 'MESS' '------------------------ FIN CAS-TEST ---------------------------' ; * * *'FIN' ; 'OPTI' 'ECHO' 1 ; fin;