* 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
*
option dime 3 elem cub8;
opti echo 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 ;
vol = manu cub8 p1 p2 p3 p4 p5 p6 p7 p8 ;
*
*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 ;
*
mo = modl vol mecanique elastique plastique gurson cub8 ;
ma = matr mo 'YOUNG' E 'NU' poisson 'SIGY' 2.6E8 'H' 2.5e8 'SBAR'
sigbar 'PORO' phi0 ;
*
*rigidite
*
ri = rigi mo ma;
*
*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 ;
dep = reso stf for ;
*
* table pour non lineaire
*
xtab = table ;
*
* chronologie du chargement
ltime = prog 0. pas 1. 10. 11. ;
letir = prog 0. pas 0.1 1. 1.;
evau = evol manu time ltime etir letir ;
char1 = char dimp for evau;
*
* temps pour la sortie des resultats
tres = prog 1. pas 1. 10. ;
*
* 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;
xtab.'VARIABLES_INTERNES' . 0 = manu chml mo 'EPSE' 0. 'VPOR' 3.e-4
'VHNS' 1. 'TYPE' 'VARIABLES INTERNES' 'STRESSES';
*
* iterations plastiques
xtab.blocages_mecaniques = cl;
xtab.caracteristiques = ma;
xtab.modele = mo;
xtab.chargement = char1;
xtab.temps_calcules = tres;
pasapas xtab ;
*
* controle des resultats
*
i = 1 ;
repeter boucle 10 ;
var1 = xtab.variables_internes.i ;
phi = extr var1 vpor 1 1 1 ;
rho = extr var1 vhns 1 1 1 ;
sig1 = xtab.contraintes.i ;
sxx = extr sig1 SMXX 1 1 1 ;
syy = extr sig1 SMYY 1 1 1 ;
szz = extr sig1 SMZZ 1 1 1 ;
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 - All rights reserved.
Disclaimer