Download dy_devo4.dgibi

Back to the list

* fichier :  dy_devo4.dgibi
*         Test Dy_devo4.dgibi: Jeux de donnees        *
*         ------------------------------------        *
*                                                     *
* si GRAPH = N, les graphiques ne sont pas affiches                             
* si GRAPH different de N,  tous les graphiques 
* sont affiches                    
*                                                                               
GRAPH = 'N' ;  d_dyne = faux ;    
* test comparaison pasapas et dyn                                                       
*                                                                               
SAUT PAGE ;                                                                     
*                                                                               
*-----------------------------------------------------*          
*                    DY_DEVO4                         *          
*-----------------------------------------------------*          
*                                                     *          
*    Tests de l'op{rateur DYNE option DE_VOGELAERE    *          
*    _____________________________________________    *          
*                                                     *          
*                                                     *          
* 1 poutre encastree, 10 elements finis,              * 
* masse negligeable                                   *
* 1 masse concentree e son extremite                  *          
* Test PROFIL_PROFIL_EXTERIEUR avec des carres        *          
* Comparaison avec la liaison POINT_PLAN              *          
* NB_M: nombre de segments sur le cote du carre mobile*          
* NB_F: nombre de segments sur le cote du carre fixe  *          
*                                                     *          
*-----------------------------------------------------*        

OPTION ECHO 1 ;
TEMPS ;
*
NB_M = 3  ;
NB_F = 1  ;
R_PPL = 1.E+05 ;
R_PP  = R_PPL  ;
EXPO = 0.5 ;
*
OPTION ELEM SEG2 DIME 3 ;
*
*     Definition geometrie
*
P1 = 0. 0. 0. ;
P2 = 0. 0. 0.9 ;
LIG1 = P1 D 10 P2 ;
*
*     Definition materiau
*
MODL1 = MODL LIG1 MECANIQUE ELASTIQUE POUT;

MA1 = MATR MODL1 YOUNG 2.1E11 NU 0.3 RHO 78.  ;
CA1 = CARB MODL1 SECT 1.1E-6  INRY 8.33E-10  
           INRZ 8.33E-10 TORS 5.0E-7  VECT (1. 0. 1. );
*
RIG1 = RIGI MODL1 (MA1 ET CA1) ;
MAST = (MASSE MODL1  (MA1 ET CA1)) ET 
       ( MASSE DEPL 2.0 P2 ) ;
*
*     Conditions aux limites
*
ENC1 = BLOQUE DEPL ROTA P1 ;
ENC2 = BLOQUE 'UY' LIG1 ;
RIGT = RIG1 ET ENC1 ET ENC2 ;
*
*     Calcul des modes
*
MOD1=VIBRATION PROCHE ( PROG 1.0  )  RIGT MAST ;
*
*     Base modale
*
TB1 = TRADUIRE MOD1 ;
TBAS = TABLE 'BASE_MODALE' ;
TBAS.'MODES' = TB1 ;

    ma1 = manu poi1 tb1 . 1 . point_repere ;
    mo1 = mode ma1 mecanique elastique modal ;
    ca1 = mate mo1 freq tb1 . 1 . frequence 
  mass tb1 . 1 . masse_generalisee defo tb1 . 1 . deformee_modale
  amor 0. ;

*
RIGI1 = RIGI TB1 ;
*
*     Amortissement
*
AMOR1 = AMOR TBAS ( PROG 0.0 ) ;
amor2 = amor mo1 ca1 ;
*
TA = TABLE 'AMORTISSEMENT' ;
TA.'AMORTISSEMENT' = AMOR1 ;
*
*     Deplacement initial
*
FE2 = FORCE FX 1. P2 ;
XE2 = RESOU RIGT  FE2   ;
XMAX = MAXI XE2 AVEC (MOTS UX ) ;
FE1 = FE2 * (0.139E-2 / XMAX );
FGE1 = PJBA TBAS FE1 ;
ALO = RESO RIGI1 FGE1 ;
*
TINIT = TABLE 'INITIAL' ;
TINIT.'DEPLACEMENT' = ALO ;
*
*---  Definition des liaisons
*
TLIA = TABLE 'LIAISON' ;
TLB = TABLE 'LIAISON_B' ;
TLIA.'LIAISON_B' = TLB ;
NORM1 = 0 0 1 ;
*
*   Liaison PROFIL_PROFIL_EXTERIEUR
*
*   profil mobile
P1_1 =   -0.5    0.0   0.9 ;
P1_2 =    0.0   -0.5   0.9 ;
P1_3 =    0.5    0.0   0.9 ;
P1_4 =    0.0    0.5   0.9 ;
MAIL_1 = P1_1 D NB_M P1_2 D NB_M P1_3 D NB_M P1_4 D 
         NB_M P1_1 ;
*
*   profil fixe
P2_1 =    0.501   1.0    0.9 ;
P2_2 =    0.501  -1.0    0.9 ;
P2_3 =    0.601  -1.0    0.9 ;
P2_4 =    0.601   1.0    0.9 ;
MAIL_2 = P2_1 D NB_F P2_2 D NB_F P2_3 D NB_F P2_4 D 
         NB_F P2_1 ;
*
SI ( NEG GRAPH 'N' ) ;
   TRAC ( 0 0 1000 ) ( MAIL_1 ET MAIL_2 ) ;
FINSI ;
*
TL1  =  TABLE  'LIAISON_ELEMENTAIRE'    ;
TL1.'TYPE_LIAISON'     = MOT 'PROFIL_PROFIL_EXTERIEUR';
TL1.'SUPPORT'          =      P2     ;
TL1.'PROFIL_FIXE'      =    MAIL_2   ;
TL1.'PROFIL_MOBILE'    =    MAIL_1   ;
TL1.'NORMALE'          =    NORM1    ;
TL1.'RAIDEUR'          =    R_PP     ;
TL1.'EXPOSANT_RAIDEUR' =    EXPO     ;
*
TLB . 1  = TL1  ;
mappe1 = manu poi1 p2 ;
moppe1 = modele mappe1 liaison PROFIL_PROFIL EXTERIEUR ;
 tuppe1 = table ; tuppe1 . moppe1 = vrai ;
cappe1 = mate moppe1 'NORM' norm1 'RAID' r_pp 'ERAI' expo
     'PFIX' mail_2 'PMOB' mail_1 'SORT' tuppe1 ;
  
*
*---  Definition des resultats en sortie
*
TSORT = TABLE 'SORTIE' ;
TSOR1 = TABLE 'SORTIE' ;
TSORT . 'VARIABLE'    = TSOR1 ;
TSOR1 . 'DEPLACEMENT' =  VRAI ;
TSOR1 . 'VITESSE'     =  VRAI ;
*
TSOR2 = TABLE 'SORTIE' ;
TSORT.'LIAISON_B' = TSOR2 ;
TSOR2.TL1  = VRAI ;
*
*     Temps
*
PDT  = 0.1E-3 ;
NP1  =  5000  ;
NINS =     5  ;
*
ev1 = evol manu (prog 0. 1000.) (prog 1. 1.) ;
cha1 = char force ev1 FGE1 ;
*
SI d_dyne ;
tabdyn = table 'PASAPAS' ;
tabdyn . modele = mo1 et moppe1 ;
tabdyn . caracteristiques = ca1 et cappe1 ;
tabdyn . sortie = table ;
tabdyn . sortie . moppe1 = vrai ;
tabdyn . sortie . vitesses = faux ;
tabdyn . pas_de_temps = pdt ;
tabdyn . nombre_pas = np1 ;
tabdyn . pas_de_sortie = nins ;
tabdyn . temps = table ;
tabdyn . temps . 0 = 0. ;
tabdyn . deplacements = table ;
tabdyn . deplacements . 0 =  ALO ;
  dyne de_vogelaere tabdyn ;
SINON ;
* pour pasapas 
* etape precontrainte
t_prec = table ;
t_prec . modele = mo1 ;
t_prec . caracteristiques = ca1 ;
t_prec . chargement = cha1 ;
t_prec . temps_calcules  = prog 0. 1000. ;
t_prec . mes_sauvegardes = table ;
t_prec . mes_sauvegardes . defto = vrai ;
  pasapas t_prec ;
 
*lacher
tabdyn = table 'PASAPAS' ;
tabdyn . modele = mo1 et moppe1 ;
tabdyn . caracteristiques = ca1 et cappe1 ;
*tabdyn . modele = mo1 ;
*tabdyn . caracteristiques = ca1 ;
tabdyn . temps = table ;
tabdyn . temps . 0 = 0. ;
tabdyn . deplacements = table ;
tabdyn . deplacements . 0 =  t_prec . deplacements . 1 ;
tabdyn . contraintes = table ;
tabdyn . contraintes . 0 = t_prec . contraintes . 1 ;
tabdyn . deformations = table;
tabdyn . deformations . 0 = t_prec . deformations . 1;
tabdyn . dynamique = vrai ;
tabdyn . temps_calcules = prog 0 pas (4*nins*pdt) (np1*pdt);
 pasapas tabdyn ;

FINSI ;
*------  Op{rateur DYNE  ------
*
TRESU1 = DYNE 'DE_VOGELAERE' TBAS TA TINIT TSORT TLIA 
         NP1 PDT NINS ;

 nsu1 = dime tresu1 . temps_de_sortie ;
 ovi1 = prog ;
 repeter bsu1 nsu1 ;
   ovi1 = ovi1 et 
  (prog (extr tresu1 . &bsu1 . vitesse alfa tb1 . 1 . point_repere)) ;
 fin bsu1 ;
 evvi1 = evol manu 'temps' TRESU1 . 'TEMPS_DE_SORTIE'
      'vitesse' ovi1 ;
*
*     Trac{ des courbes
*
SI ( NEG GRAPH 'N' ) ;
  si d_dyne ;
 l_t2 = prog ;
 repeter bs (dime tabdyn . temps) ;
  si (ega &bs 1) ; iterer bs ; finsi ;
  l_t2 = l_t2 et (prog tabdyn . temps . (&bs - 1)) ;
 fin bs ;
 evfn1 = evol manu l_t2 tabdyn . force_de_choc ;
 evux1 = evol manu l_t2 tabdyn . ux ;
 TITRE '*****  LIAISON PROFIL_PROFIL_EXTERIEUR  *****';
 DESS (( EVOL MANU 'TEMPS' TRESU1 . 'TEMPS_DE_SORTIE'
      'FN'  TRESU1 . TL1 . 'FORCE_DE_CHOC') et (evfn1 coul bleu)) 
                  'MIMA' ;
*
 DESS (( EVOL MANU 'TEMPS' TRESU1 . 'TEMPS_DE_SORTIE'
      'UX'   TRESU1 . TL1 . 'UX' ) et (evux1 coul bleu)) 'MIMA';
*
  sinon ;
*
  l_t20 = prog tabdyn . temps . 1 ;
  tt1 = 'EXTR' tabdyn . variables_internes . 1 'SLIA' 2 1 1 ;
   lutt1 = dime tt1 . force_de_choc ;
  l_fdc20 = extr tt1 . force_de_choc lutt1;
  l_ux20 = extr tt1 . ux lutt1 ;
 l_vi20 = prog 
      (extr tabdyn . vitesses . 1 alfa tb1 . 1 . point_repere);
  indi1 = 1 ;

repeter  bs ((dime tabdyn . temps) - 2) ;
 indi1 = indi1 + 1 ;
 ttu1 = 'EXTR' tabdyn . variables_internes . indi1 'SLIA' 2 1 1 ;
 l_ux20 = l_ux20 et ttu1 . ux ;
 l_fdc20 = l_fdc20 et ttu1 . force_de_choc ;
  l_vi20 = l_vi20 et 
  (prog (extr tabdyn . vitesses . indi1 alfa tb1 . 1 . point_repere));
 l_t20 = l_t20 et (prog tabdyn . temps . indi1) ;
fin bs ;
evfdc20 = evol manu 'temps' l_t20 'force' l_fdc20 ;
evux20 = evol manu 'temps' l_t20 'dep_pl' l_ux20 ;
evit20 = evol manu 'temps' l_t20 'vitesse' l_vi20 ;
evfdcr1 = evol manu 'temps' TRESU1 . 'TEMPS_DE_SORTIE'
            'FN' TRESU1 . TL1 . 'FORCE_DE_CHOC' ;
evuxr1 = EVOL MANU 'TEMPS' TRESU1 . 'TEMPS_DE_SORTIE'
      'UX'   TRESU1 . TL1 . 'UX' ;
 titre ' vitesse ' ;
 DESS (evvi1 et (evit20 coul bleu)) 'MIMA' ;
 titre 'force de choc' ;
 DESS (( EVOL MANU 'TEMPS' TRESU1 . 'TEMPS_DE_SORTIE'
      'FN'  TRESU1 . TL1 . 'FORCE_DE_CHOC') et (evfdc20 coul bleu)) 
                  'MIMA' ;
 titre ' ux liaison ' ;
 DESS (( EVOL MANU 'TEMPS' TRESU1 . 'TEMPS_DE_SORTIE'
      'UX'   TRESU1 . TL1 . 'UX' ) et (evux20 coul bleu)) 'MIMA';
*
  finsi ;
FINSI ;


* mess (extr tresu1 . temps_de_sortie 801) tabdyn . temps . 200 ;
D_FC_1 = EXTRAIRE ( TRESU1 . TL1 . 'FORCE_DE_CHOC' ) 
         801 ;
D_DE_1 = EXTRAIRE ( TRESU1 . TL1 . 'UX' ) 801 ;

tt200 = 'EXTR' tabdyn . variables_internes . 200 'SLIA' 2 1 1 ;
D_FC_2 =EXTRAIRE (tt200 . 'FORCE_DE_CHOC') 1;
D_DE_2 =EXTRAIRE (tt200 . 'UX') 1;

*
SAUT PAGE ;
MESS '-----> liaison PROFIL_PROFIL_EXTERIEUR' ;
MESS '           valeur de la force de choc :' D_FC_1 D_FC_2;
MESS '                valeur du deplacement :' D_DE_1 D_DE_2;
*
R_FC = ABS ( ( D_FC_1 - D_FC_2 ) / D_FC_2 ) ;
R_DE = ABS ( ( D_DE_1 - D_DE_2 ) / D_DE_2 ) ;
R_DE0 = ABS((D_DE_1 - 1.29833E-03) / 1.29833E-03) ;

SI ( ( R_FC <EG (1.4497 * 1.2) ) ET ( R_DE <EG  (0.15738 *1.2) ) 
     ET (R_DE0 < 1.e-2) ) ;
   ERRE 0 ;
SINON ;
   ERRE 5 ;
FINSI ;


*   Liaison POINT_PLAN
*
NORM1 = 1  0  0 ;
TL1  =  TABLE  'LIAISON_ELEMENTAIRE'    ;
TL1.'TYPE_LIAISON'     =  MOT 'POINT_PLAN' ;
TL1.'SUPPORT'          =      P2     ;
TL1.'NORMALE'          =    NORM1    ;
TL1.'RAIDEUR'          =    R_PPL    ;
TL1.'JEU'              =    0.001    ;
*
TLB . 1  = TL1  ;
TSOR2.TL1  = VRAI ;
mapp2 = manu poi1 p2 ;
mopp2 = modele mapp2 liaison POINT_PLAN ;
 tuppe2 = table ; tuppe2 . mopp2 = vrai ;
capp2 = mate mopp2 'NORM' norm1 'RAID' r_ppl 'JEU' 0.001 'SORT' tuppe2;
*
tabdyn2 = table 'PASAPAS' ;
tabdyn2 . modele = mo1 et mopp2 ;
tabdyn2 . caracteristiques = ca1 et capp2 ;
tabdyn2 . temps = table ;
tabdyn2 . temps . 0 = 0. ;

SI d_dyne ;
tabdyn2 . deplacements = table ;
tabdyn2 . deplacements . 0 =  ALO ;
tabdyn2 . sortie = table ;
tabdyn2 . sortie . mopp2 = vrai ;
tabdyn2 . sortie . vitesses = faux ;
tabdyn2 . pas_de_temps = pdt ;
tabdyn2 . nombre_pas = np1 ;
tabdyn2 . pas_de_sortie = nins ;
  dyne de_vogelaere tabdyn2 ;

SINON ;
tabdyn2 . deplacements = table ;
tabdyn2 . deplacements . 0 =  t_prec . deplacements . 1 ;
tabdyn2 . contraintes = table ;
tabdyn2 . contraintes . 0 = t_prec . contraintes . 1 ;
tabdyn2 . deformations = table;
tabdyn2 . deformations . 0 = t_prec . deformations . 1;
tabdyn2 . dynamique = vrai ;
tabdyn2 . temps_calcules = prog 0 pas (4*nins*pdt) (np1*pdt);
*tabdyn2 . temps_calcules = prog 0 pas (pdt) .0005;
*tabdyn2 . temps_sauves = prog 0 pas (nins*pdt) (np1*pdt) ;
*tabdyn2 . temps_sauves = prog 0 pas (nins*pdt) .01 ;
  pasapas tabdyn2 ; 

FINSI ;

*np1 = 5 ; nins = 1;
TRESU2 = DYNE 'DE_VOGELAERE' TBAS TA TINIT TSORT TLIA 
         NP1 PDT NINS ;

 nsu2 = dime tresu2 . temps_de_sortie ;
 ovi2 = prog ;
 repeter bsu2 nsu2 ;
   ovi2 = ovi2 et 
  (prog (extr tresu2 . &bsu2 . vitesse alfa tb1 . 1 . point_repere)) ;
 fin bsu2 ;
 evvi2 = evol manu 'temps' TRESU2 . 'TEMPS_DE_SORTIE'
      'vitesse' ovi2 ;
*
*     Trace des courbes
*
SI ( NEG GRAPH 'N' ) ;
  si d_dyne ;
l_t22 = prog ;
repeter bs (dime tabdyn2 . temps) ;
 si (&bs ega 1) ; iterer bs ; finsi ;
 l_t22 = l_t22 et (prog tabdyn2 . temps . (&bs - 1)) ;
fin bs ;
 evfn2 = evol manu l_t22 tabdyn2 . force_de_choc;
 evux2 = evol manu l_t22 tabdyn2 . ux ;
   TITRE '*****  LIAISON POINT_PLAN  *****' ;
   DESS (( EVOL MANU 'TEMPS' TRESU2 . 'TEMPS_DE_SORTIE'
       'FN'    TRESU2 . TL1 . 'FORCE_DE_CHOC') et (evfn2 coul
vert)) 'MIMA' ;
*
   DESS (( EVOL MANU 'TEMPS' TRESU2 . 'TEMPS_DE_SORTIE'
       'UX'    TRESU2 . TL1 . 'UX' ) et (evux2 coul vert)) 'MIMA' ;
  sinon ;
*
  l_t202 = prog tabdyn2 . temps . 1 ;
  tt2 = 'EXTR' tabdyn2 . variables_internes . 1 'SLIA' 2 1 1 ;
   lutt2 = dime tt2 . force_de_choc ;
  l_fdc202 = extr tt2 . force_de_choc lutt2;
  l_ux202 = extr tt2 . ux lutt2 ;
 l_vi202 = prog 
      (extr tabdyn2 . vitesses . 1 alfa tb1 . 1 . point_repere);
  indi1 = 1 ;

repeter  bs ((dime tabdyn2 . temps) - 2) ;
 indi1 = indi1 + 1 ;
 ttu2 = 'EXTR' tabdyn2 . variables_internes . indi1 'SLIA' 2 1 1 ;
 l_ux202 = l_ux202 et ttu2 . ux ;
 l_fdc202 = l_fdc202 et ttu2 . force_de_choc ;
  l_vi202 = l_vi202 et 
  (prog (extr tabdyn2 . vitesses .indi1 alfa tb1 . 1 . point_repere)) ;
 l_t202 = l_t202 et (prog tabdyn2 . temps . indi1) ;
fin bs ;
evfdc202 = evol manu 'temps' l_t202 'force' l_fdc202 ;
evux202 = evol manu 'temps' l_t202 'dep_pl' l_ux202 ;
evit202 = evol manu 'temps' l_t202 'vitesse' l_vi202 ;
evfdcr2 = evol manu 'temps' TRESU2 . 'TEMPS_DE_SORTIE'
            'FN' TRESU2 . TL1 . 'FORCE_DE_CHOC' ;
evuxr2 = EVOL MANU 'TEMPS' TRESU2 . 'TEMPS_DE_SORTIE'
      'UX'   TRESU2 . TL1 . 'UX' ;
 titre ' vitesse ' ;
 DESS (evvi2 et (evit202 coul bleu)) 'MIMA' ;
 titre 'force de choc' ;
 DESS (( EVOL MANU 'TEMPS' TRESU2 . 'TEMPS_DE_SORTIE'
      'FN'  TRESU2 . TL1 . 'FORCE_DE_CHOC') et (evfdc202 coul bleu)) 
                  'MIMA' ;
 titre ' ux liaison ' ;
 DESS (( EVOL MANU 'TEMPS' TRESU2 . 'TEMPS_DE_SORTIE'
      'UX'   TRESU2 . TL1 . 'UX' ) et (evux202 coul bleu)) 'MIMA';
*
  finsi ;
FINSI ;
*
TEMPS ;
*
*     Code de bon fonctionnement
*
D_FC_20 =EXTRAIRE ( TRESU2 . TL1 . 'FORCE_DE_CHOC' ) 801;
D_DE_20 =EXTRAIRE ( TRESU2 . TL1 . 'UX' ) 801 ;
tt2200 = 'EXTR' tabdyn2 . variables_internes . 200 'SLIA' 2 1 1 ;
D_FC_21 =EXTRAIRE (tt2200 . 'FORCE_DE_CHOC') 1;
D_DE_21 =EXTRAIRE (tt2200 . 'UX') 1;

SAUT 2 LIGNES ;
MESS '-----> liaison POINT_PLAN ' ;
MESS '           valeur de la force de choc :' D_FC_20 D_FC_21 ;
MESS '                valeur du deplacement :' D_DE_20 D_DE_21 ;
SAUT 3 LIGNES ;
R_FC = ABS ( ( D_FC_20 - D_FC_21 ) / D_FC_20 ) ;
R_DE = ABS ( ( D_DE_20 - D_DE_21 ) / D_DE_20 ) ;
R_DE0 = ABS ((D_DE_20 - 1.29833E-03) / 1.29833E-03) ;
SI ( ( R_FC <EG (0.59178 *1.2)) ET ( R_DE <EG (0.13598 * 1.2)) 
    ET (R_DE0 < 1.e-2) ) ;
   ERRE 0 ;
SINON ;
   ERRE 5 ;
FINSI ;
*

FIN ;

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer