* fichier : gurson.dgibi ************************************************************************ ************************************************************************ *************************************************** **** Dilatation uniforme d'un cub8 *** **** Test sur l'implementation de GURSON *** *************************************************** * * Date 16/02/94 * Auteur A de Gayffier * Reference rapport DMT/94-108 * * Le test consiste à imposer une dillatation uniforme * d'un cube à 8 noeuds et verifier la cohérence du champ * de contrainte obtenu avec un modele Plastique de Gurson * * En effet l'etat de contrainte est hydrostatique et verifie la * relation ln(poro) +1.5P/sbar =< 0 * * *maillage * densite 1. ; p1 = 0. 0. 0. ; p2 = 1. 0. 0. ; p3 = 1. 1. 0. ; p4 = 0. 1. 0. ; p5 = 0. 0. 0.5 ; p6 = 1. 0. 0.5 ; p7 = 1. 1. 0.5 ; p8 = 0. 1. 0.5 ; * *modele de calcul * K = 139.7e9 ; G = 46.6e9 ; poisson = (1.-(G/K*2./3.) ) / (2./3.*G/K + 2.) ; E = 3.*K*(1.-(2.*poisson)) ; list poisson ; list E ; phi0 = 3.e-4 ; sigbar = 3.e8 ; * ma = MATE mo 'YOUNG' E 'NU' poisson 'SIGY' 2.6E8 'H' 2.5e8 'SBAR' sigbar 'PORO' phi0 ; * *rigidite * * *conditions aux limites lambda = 10. ; cl1 = bloqu ux ( p2 et p3 et p6 et p7 ) ; cl2 = bloqu uy ( p3 et p4 et p7 et p8 ) ; cl3 = bloqu uz ( p5 et p6 et p7 et p8 ) ; cl4 = bloqu ux ( p1 et p4 et p5 et p8 ) ; cl5 = bloqu uy ( p1 et p2 et p5 et p6 ) ; cl6 = bloqu uz ( p1 et p2 et p3 et p4 ) ; stf = ri et cl1 et cl2 et cl3 et cl4 et cl5 et cl6 ; cl = cl1 et cl2 et cl3 et cl4 et cl5 et cl6 ; * fo1 = depimp cl1 lambda ; fo2 = depimp cl2 lambda ; fo3 = depimp cl3 (lambda*0.5) ; for = fo1 et fo2 et fo3 ; * * table pour non lineaire * xtab = table ; * * chronologie du chargement * * temps pour la sortie des resultats * * Il est nécessaire de definir les variables internes au debut car elle * ne sont pas nulles (l'operateur ZERO initialise par défaut à 0) xtab.'VARIABLES_INTERNES' = TABLE; * * iterations plastiques xtab.blocages_mecaniques = cl; xtab.caracteristiques = ma; xtab.modele = mo; xtab.chargement = char1; pasapas xtab ; * * controle des resultats * i = 1 ; repeter boucle 10 ; var1 = xtab.variables_internes.i ; sig1 = xtab.contraintes.i ; p = ( sxx + szz + syy ) /(-3.) ; pp = K*(1.-phi)*(1.-((1-phi)/(1-phi0)/rho)) ; conv1 =( 1.5 * p / sigbar) - (log phi) ; conv2 =( 1.5 * pp / sigbar) - (log phi) ; * * Tests err1 = abs(conv1) > 1.e-6 ; err2 = abs(conv2) > 1.e-6 ; si err1 ; si (ou (phi > phi0) (conv1 < 0.)); ERREUR 5 ; finsi ; finsi; si err2 ; si (ou (phi > phi0) (conv2 < 0.)); ERREUR 5 ; finsi ; finsi ; i = i + 1 ; fin boucle ; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales