* fichier : dependance.dgibi
********************************************************************
* TEST DE CONDENSATION
*
* poutre des section rectangulaire en appui simples
* face inferieure renforcee par une plaque en acier
* un renfort interne de type poutre
* un renfort interne de type barr
*
* les renforts sont disjoints du maillage massif
*
* comparaison des solutions obtenues par :
* rela accro / resou
* dependance / resou
* cmct / resou + mrem
*
* test de fonctionnement dans pasapas
*
*********************************************************************
opti echo 1;
graph='N' ;
opti dime 3 elem cub8 ;
* ajout de option epsilon lineaire pour la precision des test!
OPTION epsilon lineaire;
*
* GEOMETRIE
*
long = 10.0;
*---BETON
h = 1.;
h1= .9 ;
*h1 = 1. - (1./6.1);
pa=0.0 0. 0.0;
pb=long 0. 0.0;
pc=long 0. h ;
pd=0.0 0. h;pn = 0. 0. (h - h1) ;
*---ARMATURE
prof = 1. ;
pm = long (prof/2) (h - h1) ;
pn = 0. (prof/2) (h - h1) ;
nb1 = 20;
nb2 = 4 ;
nb3=17 ;
c1=pa droi nb1 pb;
c2=pb droi nb2 pc;
c3=pc droi nb1 pd;
c4=pd droi nb2 pa;
sur1=(dall c1 c2 c3 c4) ;
sur1 = sur1 volu 2 tran (0 prof 0) ;
d1 = d nb3 pm pn coul roug ;
d2 = d1 plus ( 0 0 h1 ) ;
finf = sur1 points plan pa pb (pa plus (0 1 0)) .01 ;
finf = (( sur1 envel) elem appu stric finf ) ;
fsup = finf plus (0 0 h) ;
elim .1 sur1 fsup ;
*----- on decolle la plaque pour pouvoir l ACCROCHER
plaq = finf plus ( 0 0 0 ) coul bleu ;
'SI' ( 'NEG' graph 'N' ) ;
trac (1000 1000 1000 ) ( sur1 et d1) ;
'FINSI' ;
*
* MODELE
*------------------------- beton ---------------------------------
Eb = 0.4e11 ;
modb=modl sur1 mecanique elastique ;
matb= mate modb youn Eb nu 0.3;
ribe = rigi modb matb;
*----------------------- barre ----------------------------
YOUCAB = 1495.D6/0.718D-2 ; ;
TRACAB = EVOL MANU
'EPS' (1.D-2 * (PROG 0. .718 .804 .890 1.00 1.278 2.957))
'Pa' (1.D6 * (PROG 0. 1495. 1553. 1623. 1669. 1727. 1855.));
mod1 = MODE d1 MECANIQUE ELASTIQUE ISOTROPE PLASTIQUE ISOTROPE BARR ;
mat1= MATE mod1 YOUN youcab NU 0.3 SECT 0.04 TRAC tracab ALPH
12.5E-6 ;
riba = rigi mod1 mat1 ;
*------------------- - poutre -----------------------
mod2=modl d2 mecanique elastique pout ;
mat2=(mate mod2 youn Eb nu 0.0 INRY 10. INRZ 10. TORS 3.)
et ( cara mod2 sect .02) ;
ripo = rigi mod2 mat2 ;
*--------------------- coque -------------------------
*---- Courbe d'écrouissage de l'acier A42
EPS1 = PROG 0. 0.002 0.018 0.02 0.036 0.05 0.068 0.084 0.102 ;
SIG1 = PROG 0. 312. 325. 335. 400. 425. 450. 465. 475. ;
SIG1 = SIG1*1.E6 ;
EVSIG = EVOL MANU 'EP' EPS1 'SI' SIG1 ;
*---- Module de Young de la Peau d'étanchéité
YOUNT = 312.E6 / 0.002 ;
mod3 = mode plaq MECANIQUE ELASTIQUE ISOTROPE
PLASTIQUE ISOTROPE coq4 ;
Mat3 = MATE mod3 YOUN YOUNT NU 0.3 EPAI 0.03 TRAC EVSIG ALPH
12.5E-6 ;
rico = rigi mod3 mat3 ;
*----------------------------------------------------------
*
* CONDITIONS AUX LIMITES
*
aa = sur1 points droite pa ( pa plus (0 1 0)) .01 ;
bb = sur1 points droite pb ( pb plus (0 1 0)) .01 ;
cl1 = bloq aa ux ;
cl2 = bloq aa uz ;
cl3 = bloq bb uz ;
cl4 = bloquer uy ( pa et pb) ;
clb = cl1 et cl2 et cl3 et cl4 ;
*
* on veut bloquer la rotation sur elle meme de la poutre
*
dp2 = d2 elem ( lect 1 pas 1 ( nb3 - 1)) ;
pf = d2 point final ;
conf pf ( sur1 point proche pf ) ;
*
clt = clb et ( bloquer RX pf ) ;
*
racc = rela accro (plaq et d1 et dp2 ) sur1 ;
radd = chan DEPE racc ;
* ------ concatenation des raideurs ------------
rign = ribe et riba et ripo et rico ;
riga = rign et racc et clt ;
rigd = rign et radd et clt ;
*
* --- pression sur face superieure + force sur la plaque -----
f1 = press massif 1.E8 fsup modb ;
f2 = force 1.E8 FZ plaq ;
ff = f1 + f2 ;
*-------------- solution par depend-------------------------
dep2 = resou rigd ff ;
*-------------- solution par accro -------------------------
dep1 = resou riga ff ;
*--------------------------------------------------------
*------------- solution par cmct puis mrem ------------
* --- condensation des matrices liees aux noeuds esclaves ---
rige = cmct (rign et clt ) radd ;
* --- condensation des la force liees aux noeuds esclaves -----
racd radu = chan COND racc ;
fad = f1 et ( radu * f2 ) ;
* ----- solution reduite ---------------------------------------
* dep30 = resou rige fad ;
*-- remeontee a la solution complete --------------------------
* on n'utilise plus tout cela, c'est intégré dans résou
* dep3 = mrem dep30 (rign et clt et radd ) ff ;
dep3 = resou rige fad ;
*--------------------------------------------------------------
mde1 = mini dep1 avec ( mots UZ) ;
mde2 = mini dep2 avec ( mots UZ) ;
mde3 = mini dep3 avec ( mots UZ) ;
surd = (sur1 envel ) et d1 et d2 ;
* ----------- reactions aux appuis et liaisons ---------------------
rea1 = reac (clt et racc ) dep1 ;
rea2 = reac (clt et radd ) dep2 ;
*----------examen des differences entre les deux methodes ----------
aaa = rea1 - rea2 ;
reamo1 = (psca rea1 rea1 ( mots FX FY FZ) ( mots FX FY FZ)) ** .5 ;
reamo2 = (psca rea2 rea2 ( mots FX FY FZ) ( mots FX FY FZ)) ** .5 ;
depmod = (psca dep1 dep1 ( mots UX UY UZ) ( mots UX UY UZ)) ** .5 ;
si ( neg GRAPH N) ;
av = maxi ( abs rea1 ) avec (mots FZ) ;
amv = 4./av ;
vr1 = vecteur rea1 amv FX FY FZ roug ;
vr2 = vecteur rea2 amv FX FY FZ vert ;
amp = .3/ ( maxi depmod) ;
amd = 4./(maxi reamo1) ;
vd1 = vecteur rea1 amd FX FY FZ roug ;
vd2 = vecteur rea2 amd FX FY FZ vert ;
titre 'UZ mini accro ' mde1 ' dependence ' mde2 'cmct' mde3 ;
dde0 = defo surd dep1 0. blan ;
dde1 = defo surd dep1 amp vr1 roug ;
dde2 = defo surd dep2 amp vr2 vert ;
trac ( dde1 et dde2 ) ;
dur1 = defo surd dep1 amp vd1 roug ;
dur2 = defo surd dep2 amp vd2 vert ;
trac ( dur1 et dur2 ) ;
vdif = vecteur aaa FX FY FZ amd vert ;
titre ' difference sur reactions accro depen ' ;
trac surd vdif ;
finsi ;
rdif = reamo1 - reamo2 ;
a3= rdif point maxi ;
av1 = (abs (maxi rdif)) /( extr reamo1 SCAL (a3 point 1 )) ;
ruz = abs (((mde1 - mde2) * 100 ) / mde2 ) ;
mess ' differences relatives max sur la fleche maximum ' ruz '%' ;
mess ' differences relatives max sur les reactions ' av1 '%' ;
'SI' (( ruz > 1.e-7) OU ( av1 > 1.e-7));
erre 5 ;
'FINSI' ;
* suite uniquement pour tester que tout se passe correctement ds pasapas
evf = EVOL MANU 'Sec.' (prog 0. 1000.) 'Pa' (prog 1. 1. ) ;
chpress = char meca ff evf ;
TABMC = TABLE ;
TABMC.MODELE = modb et mod1 et mod2 et mod3 ;
TABMC.BLOCAGES_MECANIQUES = radd et clt ;
TABMC.CARACTERISTIQUES = matb et mat1 et mat2 et mat3 ;
TABMC.CHARGEMENT = chpress ;
evtt = prog 0. pas 1. 5.;
TABMC.TEMPS_CALCULES = evtt ;
TABMC.TEMPS_SAUVES = evtt ;
PASAPAS TABMC ;
ttt = tabmc.'DEPLACEMENTS' ;
i1 = index ttt ;nt = dime i1 ;
dep = ttt . (i1.nt ) ;uref = -8.94153E-02 ;
uymi = mini dep avec (mots UZ) ;
* fleche attendue 5 iterations =-8.94153E-02 ;
ruz = abs (((uref - uymi) * 100 ) / (abs uymi )) ;
mess ' difference relative ' ruz '%' ;
'SI' ( ruz > 5.e-1) ;
erre 5 ;
'FINSI' ;
'FIN' ;
© Cast3M 2003 - All rights reserved.
Disclaimer