Download fefp_vmt_bcn.dgibi

Back to the list

* fichier :  fefp_vmt_bcn.dgibi
* NECKING EXAMPLE
*
* VMT model: 
*    MSHAPE = 1.  => Von Mises
*    MSHAPE = 20. => Tresca
*
* FORMULATION:
*    Lagrangian (Total or Update)
*
***********************************************************
* OPCIONES GENERALES
*
OPTION DIME 2 TRAC x ELEM qua8 MODE AXIS;
*
***********************************************************
* MALLA: dos zonas; 1/6 inferior 5/6 superiores 
*
ztot = 53.334D0 / 2.D0;
rmax = 6.413D0;
rmin = rmax * 0.99D0;
aux2 = ztot * 0.167D0; aux1 = rmin + ( (rmax - rmin) * 0.167D0);
p1 =  0.     0.;   p2 =  rmin   0.; 
pa =  aux1   aux2; pb =  0.     aux2;
l12 = d 5 p1 p2; l2a = d p2 pa DINI 0.025 DFIN 1.;
lab = d 5 pa pb; lb1 = d pb p1 DFIN 0.025 DINI 1.;
malla1 = daller l12 l2a lab lb1;
pc =  rmax   (ztot*0.5D0); pd =  0.     (ztot*0.5D0);
lac = d 6 pa pc; lcd = d 5 pc pd; 
ldb = d 6 pd pb; lba = d 5 pb pa;
malla2a = daller lac lcd ldb lba;
p3 =  rmax   (ztot); p4 =  0.     (ztot);
lc3 = d 9 pc p3; l34 = d 5 p3 p4;
l4d = d 9 p4 pd; ldc = d 5 pd pc;
malla2b = daller lc3 l34 l4d ldc;
malla = malla2a et malla2b et malla1;
elim malla 1.D-4;
contor = CONT malla;
pu1 = contor point PROC p1; pu2 = contor point proc p2;
pu3 = contor point proc p3; pu4 = contor point proc p4;
l12 = contor elem compris pu1 pu2; 
l23 = contor elem compris pu2 pu3;
l34 = contor elem compris pu3 pu4; 
l41 = contor elem compris pu4 pu1;
*
***********************************************************
* MODELO
*
 NUHOR  = 0.290004011704821;
 EELAST = 206.900647427708;
 KPLAST = 0.12924;
 SININI = 0.45;
 SINFIN = 0.715;
 VELOCI = 16.93;
 MSHAPE = 1.;
* MSHAPE = 20.;
 mod1   = modl malla mecanique elastique plastique vmt_fefp q8ri;
 mat1   = mater mod1 youn EELAST  nu   NUHOR    
                     sig0 SININI  sigi SINFIN   kiso KPLAST
                     velo VELOCI  msha MSHAPE;
*
***********************************************************
*
 rigcont  = (bloq uz l12) et (bloq ur l41);
*
 rigsupe = bloq uz l34;
 valor   = 7.D0;
 movyy   = depi rigsupe valor;
 evol1   = evol manu t (prog 0. 2.) level (prog 0. 2.);
 evfut   = char dimp evol1 movyy;
*
***********************************************************
*
 maxiter = 25;
 t0 = TABLE;
 t0.MODELE              = mod1;
 t0.CARACTERISTIQUES    = mat1;
 t0.BLOCAGES_MECANIQUES = rigcont et rigsupe;
 t0.CHARGEMENT          = evfut;
 t0.ACCELERATION        = maxiter;  
 t0.MAXITERATION        = maxiter;
 t0.PRECISION           = 1.E-9;
 t0.CONVERGENCE_FORCEE  = faux;  
 t0.K_TANGENT           = vrai;
 t0.NITER_KTANGENT      = 1;
 t0.PRECISINTER         = 1.E-9;
 t0.NITERINTER_MAX      = 100;
 t0.FEFP_FORMULATION    = vrai;
 t0.UPDATE_LAGRANGIAN   = vrai;
 t0.TEMPS_CALCULES      = prog 0. pas 0.01 0.05
                                  pas 0.05 0.35 
                                  pas 0.01 0.6 
                                  pas 0.025 0.7 
                                  pas 0.01 1.; 
 t0.TEMPS_SAUVES        = t0.TEMPS_CALCULES;
 t0.'PROCESSEURS'='MONO_PROCESSEUR';
 pasapas t0;
*
***********************************************************
* POSTPROCESO
*
 paux = 0. (ztot + valor);
 imax   = (dime t0.TEMPS_SAUVES) - 1;
 fuer   = prog 0.;
 radio  = prog 1.;
 geom0  = form t0.deplacements.0;
 radini = COOR 1 p2;
 i      = 1;
 repeter blocdefi imax;
   aux  = reac rigsupe t0.deplacements.i;
   aux  = resu aux;
   pbas = extr aux MAIL ; 
   pbas = POIN 1 pbas ;
   aux  = extr aux fz pbas;
   fuer = fuer et (prog aux);
   desp = t0.deplacements.i; 
   form desp;
   p2bis = COOR 1 p2;
   p2bis = p2bis / radini;
   radio = radio et (prog p2bis);
   form geom0;
   i=i+1;
 fin blocdefi;
 err = (p2bis - 0.3692127)/0.3692127 ;
 list err;
 SI ((ABS err) < 0.5e-5) ;
   ERRE 0 ;
 SINON ;
   ERRE 5 ;
 FINSI ;
 FIN;
 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer