* fichier : dyna15.dgibi
***************************************
*
* Poteau soumis à une charge concentré
*
* Contribution statique des modes négligés
*
* D. Combescure aout 2006
*
***************************************
*AFFICH = VRAI;
AFFICH = FAUX;
*COMPLET = VRAI;
COMPLET = FAUX;
*
opti dime 2 elem seg2;
H = 3.;
H1 = 2.;
p0 = 0. 0.;
p1 = 0. H1;
p2 = 0. H;
n1 = 50;
n2 = 25;
a = 0.25;
b = a;
e1 = 30000.D6;
ro1 = 2400.;
nu1 = 0.30;
sec1 = a*b;
in1 = (1./12.)*(b*(a**3));
lig1 = (d n1 p0 p1) et (d n2 p1 p2);
mod1 = modl lig1 mecanique elastique TIMO;
mat1 = matr mod1 YOUN E1 NU nu1 RHO ro1
SECT sec1 INRZ in1;
KK1 = rigi mod1 mat1;
CC1 = 0.001*KK1;
MM1 = mass mod1 mat1;
bl0 = BLOQ DEPL ROTA p0;
fh1 = forc FX 1. p1;
*
* Calcul du premier mode
*
vib1 = vibr proche (prog 1.) (lect 1) (KK1 et bl0) MM1;
vib1b= traduire vib1;
nmod = (dime (vib1b) ) - 2;
SI AFFICH;
repeter lab1 nmod;
dep1 = vib1b. &lab1 . DEFORMEE_MODALE;
fr1 = vib1b. &lab1 . FREQUENCE;
titre fr1;
trac (defo lig1 dep1);
fin lab1;
FINSI;
*
*
* Calcul du pseudo mode
psm1 = psmo (KK1 et bl0) vib1b fh1;
*
depstaf = (defo lig1 (psm1 . 1 . DEPLACEMENT));
SI AFFICH;
TITRE 'Pseudomode';
TRAC depstaf;
FINSI;
*
*
* Définition du chargement
*
t1 = 1/400.;
SI COMPLET;
tfin = 100.*t1;
SINON;
tfin = 10.*t1;
FINSI;
dt = t1/2.;
lptemps = prog 0 t1 (2.*t1) (3.*t1) 100.;
lpchar = prog 0 0 1.D6 0. 0.;
ev1 = evol manu lptemps lpchar;
*
SI AFFICH;
dess ev1 xbord 0. (10.*t1);
FINSI;
*
cha1 = char fh1 ev1;
*
*
* Méthode 1: intégration directe sur base physique
*
*
prtimeb = prog 0. pas dt tfin;
*
tab1 = table; opti sauv 'mon.fic';
tab1.'DEPL' = manu chpo lig1 2 ux 0 uy 0;
tab1.'VITE' = manu chpo lig1 2 ux 0 uy 0;
tab1.'CHAR' = cha1;
tab1.'RIGI' = (KK1 et bl0);
tab1.'AMOR' = CC1;
tab1.'MASS' = MM1;
tab1.'FREQ' = (1./dt);
tab1.'INST' = prtimeb;
tab1.'SAUV' = VRAI;
tab2 = dynamic tab1;
nn = dime tab2;
prp1 = prog;
repeter lab1 nn;
depj = (tab2 . &lab1 . DEPL) ;
si (ega &lab1 1);
deft = defo lig1 depj 1;
sinon;
deft = deft et
(defo lig1 depj 1);
finsi;
prp1 = prp1 et
(prog (extr depj p1 UX));
fin lab1;
evp1_1 = (evol manu prtimeb prp1);
u1max = (maxi (extr evp1_1 ordo) abs);
nn = dime (extr evp1_1 absc);
yymax = 0;
xxmax = 0;
repeter lab1 nn;
xx = extr (extr evp1_1 absc) &lab1;
yy = extr (extr evp1_1 ordo) &lab1;
si ((abs yy) > yymax);
yymax = abs yy;
xxmax = xx;
nnmax = &lab1;
finsi;
fin lab1;
depmax1 = tab2 . nnmax . DEPL;
bsi1 = bsigma (sigma depmax1 mod1 mat1) mod1 mat1;
bsi1b = bsi1 -
(* bsi1 (MANU CHPO p0 FX 1. ) (mots FX) (mots FX) (mots FX));
*
*
* Méthode 2: intégration directe sur base modale avec pseudomode
*
*
tbas1 = table 'BASE_MODALE';
tbas1.'MODES' = vib1b;
* On rajoute le pseudomode à la base modale
tbas1.'PSEUDO_MODES' =psm1;
*
TRIG = TABLE 'RAIDEUR_ET_MASSE';
TRIG.'RAIDEUR' = pjba tbas1 (KK1 et bl0) ;
TRIG.'MASSE' = pjba tbas1 MM1;
TAMOR = TABLE 'AMORTISSEMENT';
TAMOR . 'AMORTISSEMENT' = PJBA tbas1 CC1;
TCHAR = TABLE 'CHARGEMENT' ;
TCHAR.'BASE_A' = pjba tbas1 cha1;
*
TSORT = TABLE 'SORTIE' ;
TSORV = TABLE 'VARIABLE' ;
TSORT.'VARIABLE' = TSORV ;
TSORV.'VITESSE' = VRAI;
TSORV.'DEPLACEMENT' = VRAI ;
TSORV.'ACCELERATION' = VRAI ;
*
DTEX = DT;
NTT = ENTIER (tfin/(DT));
TRESU = DYNE DE_VOGELAERE TRIG TAMOR TCHAR
NTT DTEX TSORT ;
*
evp1_2 = EVOL ROUGE RECO TRESU tbas1 cha1 'DEPL' P1 UX ;
evp1_2b = EVOL VERT RECO TRESU tbas1 'DEPL' P1 UX ;
*
u2max = (maxi (extr evp1_2 ordo) abs);
nn = dime (extr evp1_2 absc);
yymax = 0;
xxmax = 0;
repeter lab1 nn;
xx = extr (extr evp1_2 absc) &lab1;
yy = extr (extr evp1_2 ordo) &lab1;
si ((abs yy) > yymax);
yymax = abs yy;
xxmax = xx;
nnmax = &lab1;
finsi;
fin lab1;
depmax2 = RECO TRESU tbas1 (nnmax*DTEX) cha1 'DEPL';
bsi2 = bsigma (sigma depmax2 mod1 mat1) mod1 mat1;
bsi2b = bsi2 -
(* bsi2 (MANU CHPO p0 FX 1. ) (mots FX) (mots FX) (mots FX));
*
SI AFFICH;
DESS (evp1_1 et evp1_2)
TITRE 'Calcul sur base physique/base modale';;
DESS (evp1_2 et evp1_2b)
TITRE 'Base modale - Résultats avec ou sans pseudomode';
trac deft anime;
trac lig1 (vecteur bsi1b fx fy);
trac lig1 (vecteur bsi2b fx fy);
FINSI;
*
TEST = (MAXI ((EXTR evp1_2 ORDO) - (EXTR evp1_1 ORDO)) ABS)/
(MAXI (EXTR evp1_2 ORDO) ABS);
*
SI (TEST > 0.10);
ERRE 4;
FINSI;
*
FIN;
*
© Cast3M 2003 - All rights reserved.
Disclaimer