* fichier : rupt29.dgibi ************************************************************************ ************************************************************************ GRAPH = 'O' ; ******************************************************* * Test rupt29.dgibi: Jeux de données * * --------------------------------- * ******************************************************* *Cas test de validation pour le calcul de J sous plusieurs chargement *avec les procedures g_theta.procedur et g_calcul.procedur * *- chargement avec pression sur levres avec plusieurs types d elements * sur le maillage de la fissure *Calcul en dimension 3 avec des elements CU20 et PRI15 sur un maillage *complet non symetrique * DONNEES GEOMETRIQUES *-------------------- zz = 1e-6 ; aa = 2. ; Rsa = 5. ; * R = Rsa * aa ; dda = aa / 40. ; * * ----- MAILLAGE * pfond = aa 0. 0. ; np = 4 ; nt = 6 ; ll1 = p1 d np p2 d (2*np) p3 d np p4 ; ll2 = p5 d np p6 d (2*np) p7 d np p8 ; dx = R - (1.5 * aa) ; pc = 0. 0. 0. ; p9 = 0. (aa / 2.) 0. ; nq = 4 ; ll3 = (p8 c nt pc p9) et (p9 d nq pc d nq p8) ; dz = R - (0.5 * aa) ; vtot1 = vv1 et vv2 et vv3 ; *---------- Surface de la fissure chr = ((chx ** 2) + (chy ** 2)) ** 0.5 ; *---------- Fin du modèle vtot = vtot1 et vtot2 ; *---------- Lignes et surfaces nommées sulev = sulev1 ET sulev2 ; ss0 = vtot point plan (0. 0. R) (1. 0. R) (0. 1. R) zz ; Rp = -1. * R ; ss0 = vtot point plan (0. 0. Rp) (1. 0. Rp) (0. 1. Rp) zz ; si (ega GRAPH 'O') ; trac vtot qual cach ; fins ; ****************************************************************** *-- Modele mecanique et parametres materiau EI20 = 197000. ; ALI20 = 15.54E-6 ; *--- Conditions aux limites * Blocages cdl = cd1 ET cd2 ET cd3 ; *Traction uniaxiale (via un modele de pression) pp = 100. ; *Pression sur les levres (via un modele de pression) * Construction des second membres chr = (((chx ** 2) + (chy ** 2)) ** 0.5) / aa ; *ch2 = pp * ((1. - (chr ** 2)) ** 0.5) ; ch2 = pp * (chr ** 2) ; *--- 11 - RESOLUTION *--- 12 - Calcul de J pour les trois conditions aux limites *---------------------------------------------------------- EE = EI20 / 910. ; rpa = (3.1416 * aa / 1000.) ** 0.5 ; * cas 1 : traction seule SUPTAB = TABLE; SUPTAB.'MODELE' = mo2 ET moph ; SUPTAB.'CARACTERISTIQUES' = ma2 ; SUPTAB.'PRESSION' = maph ; SUPTAB.'BLOCAGES_MECANIQUES' = cdl ; SUPTAB.'OBJECTIF' = 'J' ; SUPTAB.'LEVRE_SUPERIEURE' = sulev1 ; SUPTAB.'LEVRE_INFERIEURE' = sulev2 ; SUPTAB.'COUCHE' = 4 ; SUPTAB.'FRONT_FISSURE' = ffis ; SUPTAB.'SOLUTION_RESO' = depN ; G_THETA SUPTAB ; Jc0 = suptab.resultats.global ; kc0 = (Jc0 * EE) ** 0.5 ; ic0 = kc0 / rpa / pp ; * cas 2 : pression uniforme sur les levres SUPTAB.'MODELE' = mo2 ET mopl ; SUPTAB.'CARACTERISTIQUES' = ma2 ; SUPTAB.'PRESSION' = mapl1 ; SUPTAB.'SOLUTION_RESO' = dep0 ; G_THETA SUPTAB ; Jc1 = suptab.resultats.global ; kc1 = (Jc1 * EE) ** 0.5 ; ic1 = kc1 / rpa / pp ; * cas 3 : pression parabolique sur les levres SUPTAB.'MODELE' = mo2 ET mopl ; SUPTAB.'CARACTERISTIQUES' = ma2 ; SUPTAB.'PRESSION' = mapl2 ; SUPTAB.'SOLUTION_RESO' = dep2 ; G_THETA SUPTAB ; Jc2 = suptab.resultats.global ; kc2 = (Jc2 * EE) ** 0.5 ; ic2 = kc2 / rpa / pp ; ******************** * CALCUL DE L'ERREUR ******************** **---> Les 2 résultats doivent être identiques **---> et converger vers la solution d'Irwin : 2/Pi **---> Le résultat ic2 doit lui converger vers 4/(3.Pi) err0 = ABS (100. * ((ic0 * pi / 2.) - 1.)) ; err1 = ABS (100. * ((ic1 * pi / 2.) - 1.)) ; err2 = ABS (100. * ((ic2 * 3. * pi / 4.) - 1.)) ; **************************************** * AFFICHAGE DES RESULTATS ET DES ERREURS **************************************** mess 'Erreurs en % : ' err0 err1 err2 ; mess ; SI (err0 > 0.4) ; ERRE 'Erreur sur le calcul de Jc0' ; FINS ; SI (err1 > 0.4) ; ERRE 'Erreur sur le calcul de Jc1' ; FINS ; SI (err2 > 0.5) ; ERRE 'Erreur sur le calcul de Jc2' ; FINS ; FIN;
© Cast3M 2003 - Tous droits réservés.
Mentions légales