* fichier : dy_devo6.dgibi ************************************************************************ ************************************************************************ * Test Dy_devo6.dgibi: Jeux de donn�es * * ------------------------------------ * * * ******************************************************* * * DYNE LIAISON POIN_PLAN * avec plastification du ressort de choc * * il s'agit d'une grande masse anim�e d'un mouvement * sinusoidale (avec deux amplitudes differentes) qui * impacte un plan * * on teste aussi la reprise de calcul * ******************************************************* graph ='N' ; dpasa='O' ; complet = 'N' ; ******************************************************* ******************************************************* pp1 = 0 0 0 ; p1 = 0 0 0 ; * tab1 = table 'BASE_MODALE' ; TAB2 = TABLE 'BASE_DE_MODES' ; TAB1 . MODES = TAB2 ; TAB2 . 1 .'POINT_REPERE' = PP1 ; TAB2 . 1 . 'FREQUENCE' = 0 ; TAB2 . 1 .'MASSE_GENERALISEE' = M1 ; * ** definition du chargement w0 = .125*2*pi ; 'accel' (lisy1 et lisy2) ; fx1 = force fx (-1*m1) p1 ; * ** chargement et cond. initiales en base A TCHA1 = TABLE 'CHARGEMENT' ; TCHA1.'BASE_A' = CHAM1 ; TINIT = TABLE 'INITIAL' ; * ** definition de la liaison TLIA = TABLE 'LIAISON' ; TLB = TABLE 'LIAISON_B' ; TLIA.'LIAISON_B' = TLB ; TL1 = TABLE 'LIAISON_ELEMENTAIRE' ; TL1.'SUPPORT' = P1 ; TL1.'NORMALE' = (1 0 0); TL1.'RAIDEUR' = KE ; tl1.'SEUIL_PLASTIQUE' = se1 ; TL1.'AMORTISSEMENT'= 0. ; TLB. 1 = TL1 ; * moppb = modele mappb liaison point_plan ; tsopb = table ; tsopb . moppb = vrai ; ** nombre de pas npas0 = (enti (t1/dt)) ; npas = npas0 / 2 ; *npas = 2 ; nins = 1 ; ** definition de la sortie TSORT = TABLE 'SORTIE' ; TSORL = TABLE 'LIAISON_B' ; TSORT.'LIAISON_B' = TSORL ; TSORL.TL1 = VRAI ; * ** 1er bloc de calcul *tres1 = dyne differences_centrees tlia tab1 tcha1 * tsort tinit npas dt nins; tres1 = dyne de_vogelaere tlia tab1 tcha1 tsort tinit npas dt nins; TTL1 = TRES1.TL1 ; LIS_TEM0 = TRES1.'TEMPS_DE_SORTIE'; lisxp1 = TTL1.'UX' ; lisyp1 = ttl1 .'FORCE_DE_CHOC' ; titre 'force - deplacement'; titre 'deplacement plastique - temps' ; ttl1.deplacement_plastique ; *dess (evdp1 et (ev2dp1 coul vert)) ; * * si (ega dpasa 'O'); * t_final = npas * dt ; tabdyn . dynamique = vrai ; tabdyn . modele = mo1 et moppb ; tabdyn . caracteristiques = ca1 et cappb ; tabdyn . chargement = cham1 ; tabdyn . vitesses = table ; tabdyn . temps_sauves = l_cal ; pasapas tabdyn ; *opti donn 5 ; lis3xp1 = tt1.ux ; lis3yp1 = tt1.force_de_choc ; lis3dp1 = tt1.deplacement_plastique ; indi1 = 1 ; indi1 = indi1 + 1 ; lis3xp1 = lis3xp1 et ttu1.ux ; lis3yp1 = lis3yp1 et ttu1.force_de_choc ; lis3dp1 = lis3dp1 et ttu1.deplacement_plastique ; fin bs ; * sinon ; * tabdyn . nombre_pas = npas ; tabdyn . pas_de_temps = dt ; tabdyn . pas_de_sortie = nins ; tabdyn . sortie = table ; tabdyn . sortie . moppb = vrai ; dyne de_vogelaere tabdyn ; * fin bs ; lis2xp1 = tabdyn.liaisons.moppb.ux ; lis2yp1= tabdyn.liaisons.moppb.force_de_choc ; tabdyn.liaisons.moppb.deplacement_plastique ; * finsi ; * ** reprise de calcul si (ega complet 'O') ; si (ega dpasa 'O'); * t_fin0 = npas * dt * 2 ; tabdyn . temps_sauves = l_cal ; pasapas tabdyn ; *l_t0 = prog 0. tabdyn . temps . 1 ; lis3xp1 = tt1.ux ; lis3yp1 = tt1.force_de_choc ; lis3dp1 = tt1.deplacement_plastique ; indi1 = 1 ; indi1 = indi1 + 1 ; lis3xp1 = lis3xp1 et ttu1.ux ; lis3yp1 = lis3yp1 et ttu1.force_de_choc ; lis3dp1 = lis3dp1 et ttu1.deplacement_plastique ; fin bs ; sinon ; * tabdyn . init_dyne = tabdyn . reprise_dyne ; dyne de_vogelaere tabdyn ; si faux ; t2dyn . modele = mo1 et moppb ; t2dyn . caracteristiques = ca1 et cappb ; t2dyn . chargement = cham1 ; t2dyn . init_dyne = tabdyn . reprise_dyne ; t2dyn . nombre_pas = npas ; t2dyn . pas_de_temps = dt ; t2dyn . pas_de_sortie = nins ; t2dyn . sortie = table ; t2dyn . sortie . moppb = vrai ; dyne de_vogelaere t2dyn ; sinon ; t2dyn = tabdyn ; finsi ; fin bs ; lis2xp2 = t2dyn.liaisons.moppb.ux ; lis2yp2= t2dyn.liaisons.moppb.force_de_choc ; t2dyn.liaisons.moppb.deplacement_plastique ; * finsi ; finsi ; ** * tinit = table initial ; tinit.reprise = tres1.reprise ; tres2 = dyne de_vogelaere tlia tab1 tcha1 tsort tinit npas dt nins ; TTL2 = TRES2.TL1 ; LIS_TEM2 = TRES2.'TEMPS_DE_SORTIE'; lisxp2 = TTL2.'UX' ; lisyp2 = ttl2 .'FORCE_DE_CHOC' ; titre 'force - deplacement'; titre 'deplacement plastique - temps' ; ttl2.deplacement_plastique; * si (neg graph 'N'); titre 'force - deplacement'; titre 'deplacement plastique - temps' ; finsi; * * maxima des deplacements plastiques theoriques d11 = .5 ; d22 = 1.5 ; er1 = abs(d1/d11 - 1); er2 = abs (d2/d22 - 1); er3 = abs(d31/d11 - 1) ; 'erreur 'er1'% 'er2'% 'er3 '% ' ; si (err > .005) ; sinon ; finsi; fin ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales