Download reacdyna.dgibi

Back to the list

*fichier : reacdyna.dgibi
*
* calcul d'un ressort avec une masse au bout 
* par la procedur dynamic
* k=2000 m=100 v0=100 
* 
graph = 'N';
opti dime 2 elem seg2;
pa = 0 0 ; pb = 100 0 ;
liab = pa droi 1 pb;
bly = bloq UY liab;
blx = bloq UX pa;
mod = model liab mecanique elastique barre;
mat = mate mod young 20000 nu 0.3 rho 1.e-15 sect 10.;
ri = rigi mod mat;
ma = masse mod mat;
masad= manu rigidite type masse ( manu poi1 pb)
( MOTS 'UX') (prog 100);
matot = ma et masad;
x = (coor 1 liab)NOMC UX;list x;
ta = table;
ff = force  pb ( 0 0 );
evt = evol manu 'TEMPS' (prog 0. 10000) 'coef' (prog 1. 1.);
ch = char meca ff evt;
ta = table;
ta.'CHAR' = ch;
ta.'DEPL'= manu chpo liab 2 UX 0. UY 0.;
ta.'RIGI' = ri et bly et blx;
ta.'MASS'= matot;
list matot;
dt = 0.005;
ta.'INST' = prog 0. pas dt 0.6;
*ta.'INST' = prog 0. pas dt 0.015;
ta.'SAUV' = vrai;
ta.'VITE' = x;
ta . 'FREQ' = 0.25 / dt;
aa = dynamic ta;
te= prog 0.;
de= prog 0.;
re = prog 0.;
repe tot ( (dime aa) - 1);
tt= aa. ( &tot + 1) . 'TEMP';
te = te et ( prog tt);
bd = aa . ( &tot + 1) . 'DEPL';
md = maxi ( (exco bd 'UX') redu (manu poi1 pb));
de = de et ( prog md);
rr= reac bd blx;
rm= maxi rr;
re = re et ( prog rm);
fin tot;
re = re /1000.;
evdep = evol manu 'temps ' te ' depl ' de;
evrea= evol manu 'temps' te ' reac ' re;
*titr ' deplacement point pb';dess evdep;

*titr ' reaction au point pa';dess evrea;
titr 'reaction/1000 et deplacement (k=2000 m=100 V0=100)';
si ( ega graph 'O');
dess ( evdep et evrea);
finsi;
* 0.5mv2 = 0.5 kx2 >>>> 
m=100.; v=100.; k = 2000.;
det = (( 0.5 * m * v * v ) /(0.5 * k))**0.5;
ret = det * k;
mess ' deplacement max théorique' det;
mess ' reaction max théorique ' ret; 
mre= (maxi abs re) * 1000.;
mde= maxi abs de;
ermre = abs (( mre - ret) / ret);
mess ' erreur sur maxi des reactions ' ermre '%';
ermde= abs ((mde - det) / det);
mess ' erreur sur maxi des deplacements ' ermde '%';


si(( ermre + ermde) > 4.e-5);
erreur 5;
finsi;
fin;
 

© Cast3M 2003 - All rights reserved.
Disclaimer