Salome HOME
PN
[tools/eficas.git] / Editeur / Patrons / tramod_3D.comm
1
2 # PATRON
3 # ANALYSE MODALE
4 # 3D
5
6 DEBUT();
7 # MISE EN DONNEES
8
9 MAIL=LIRE_MAILLAGE();
10
11 MODELE=AFFE_MODELE(MAILLAGE=MAIL,
12                    AFFE=_F(GROUP_MA='OBJET',
13                            PHENOMENE='MECANIQUE',
14                            MODELISATION='3D',),);
15 # MATERIAU
16
17 ACIER=DEFI_MATERIAU(ELAS=_F(E=2.1E11,
18                             NU=0.3,
19                             RHO=7800.0,),);
20
21 CHMAT=AFFE_MATERIAU(MAILLAGE=MAIL,
22                     AFFE=_F(GROUP_MA='OBJET',
23                             MATER=ACIER,),);
24 # CONDITIONS AUX LIMITES ET CHARGEMENT
25 # CONDITIONS AUX LIMITES 
26
27 BLOQUAGE=AFFE_CHAR_MECA(MODELE=MODELE,
28                         DDL_IMPO=_F(GROUP_MA='ENCAST',
29                                     LIAISON='ENCASTRE',),);
30 # CALCUL DES MATRICES ASSEMBLEES K ET M
31
32 MACRO_MATR_ASSE(MODELE=MODELE,
33                 CHAM_MATER=CHMAT,
34                 CHARGE=BLOQUAGE,
35                 NUME_DDL=CO('NUMEDDL'),
36                 MATR_ASSE=(_F(MATRICE=CO('RIGIDITE'),
37                               OPTION='RIGI_MECA',),
38                            _F(MATRICE=CO('MASSE'),
39                               OPTION='MASS_MECA',),),);
40
41 P=POST_ELEM(MASS_INER=_F(TOUT='OUI',
42                          GROUP_MA='M',),);
43 # CALCUL DES CINQ PREMIERS MODES
44
45 MODES=MODE_ITER_SIMULT(MATR_A=RIGIDITE,
46                        MATR_B=MASSE,
47                        CALC_FREQ=_F(
48                        OPTION='PLUS_PETITE',
49                        NMAX_FREQ=5,),);
50 #CHARGEMENT
51
52 EXCIT=AFFE_CHAR_MECA(MODELE=MODELE,
53                      PRES_REP=_F(GROUP_MA='PRESSE',
54                                  PRES=100.e5,),);
55
56 EXCEL=CALC_VECT_ELEM(OPTION='CHAR_MECA',
57                      CHARGE=EXCIT,);
58
59 EXCASS=ASSE_VECTEUR(VECT_ELEM=EXCEL,
60                     NUME_DDL=NUMEDDL,);
61 OMEGA = 10.0;
62
63
64 SINU = FORMULE(VALE='sin(OMEGA*INST)',
65                NOM_PARA='INST',);
66 #PROJECTION
67
68 MACRO_PROJ_BASE(BASE=MODES,
69                 MATR_ASSE_GENE=(_F(MATRICE=CO('MASSPROJ'),
70                                    MATR_ASSE=MASSE,),
71                                 _F(MATRICE=CO('RIGIPROJ'),
72                                    MATR_ASSE=RIGIDITE,),),
73                 VECT_ASSE_GENE=_F(VECTEUR=CO('EXCPROJ'),
74                                   VECT_ASSE=EXCASS,),);
75 #CALCUL TRANSITOIRE
76
77 TRAMOD=DYNA_TRAN_MODAL(MASS_GENE=MASSPROJ,
78                        RIGI_GENE=RIGIPROJ,
79                        AMOR_REDUIT=(.02,.01,),
80                        INCREMENT=_F(INST_INIT=0.0,
81                                     INST_FIN=10.0,
82                                     PAS=.001,),
83                        EXCIT=_F(VECT_GENE=EXCPROJ,
84                                 FONC_MULT=SINU,),);
85
86 FIN();