4. Examples#
The following two examples illustrate the use of the operator CALC_CHAR_SEISME in the cases of single-support seismic excitation and in the case of multi-support (identical and then different acceleration on each press).
4.1. Calculation of a second member in mono-support#
We consider the seismic modeling of the building beam represented in test SDLL109B, as presented in the documentation for the operator POST_ELEM [U4.81.22].
We want to determine the forces during the transient dynamic response of the structure to an earthquake in the \(X\) direction. The transient response calculation is here performed by modal recombination by DYNA_VIBRA [U4.53.03].
The vibration modes of the structure of the model based on a single elastic support (ground spring) are calculated:
# --- search for natural vibration modes -------------------------
MODES = CALC_MODES (MATR_RIGI = RIGIDITE,
MATR_MASS = MASSE,
OPTION = 'PLUS_PETITE',
CALC_FREQ =_F (NMAX_FREQ = 33),
)
The earthquake accelerogram is defined as:
# --- excitement ----------------------------------------
LBNSNL1 = DEFI_FONCTION (NOM_RESU = 'ACCE', NOM_PARA = 'INST',
PROL_GAUCHE = 'EXCLU', PROL_DROIT = 'EXCLU',
VALE =(
0.00000E+00 9.98700E-02 1.00000E-02 6.60700E-02
2.00000E-02 -5.65000E-03 3.00000E-02 -9.46800E-02
-----------------------------------------------------
1.19800E+01 1.68110E-01 1.19900E+01 8.80300E-02
1.20000E+01 0.00000E+00 9.98700E-02 0.00000E+00)
);
ACCELERO = CALC_FONCTION (COMB =_F (FONCTION = LBNSNL1, COEF = 1.47));
We calculate the second limb (field at the nodes of the driving inertia forces) and we define the direction of the earthquake:
DIRSEISM = CALC_CHAR_SEISME (MATR_MASS = MASSE,
MONO_APPUI = 'OUI',
DIRECTION = (-1., 0., 0.));
The transitory response is calculated in the modal space
# --- projection of matrices and vectors assembled on modes
PROJ_BASE (BASE = MODE,
NB_VECT =33, MATR_ASSE_GENE =(
_F (
MATRICE = CO (" MASSGENE "),
MATR_ASSE = MASSE),
_F (
MATRICE = CO (" RIGIGENE "),
MATR_ASSE = RIGIDITE))),
VECT_ASSE_GENE =_F (
VECTEUR = CO (" VECTGENE "),
VECT_ASSE = SEISME)
);
# --- calculation by modal combination ------------------------------------
LISTAMOR =( 0.055, 0.055, 0.070, 0.070, 0.070, 0.070, 0.071, 0.072, 0.157, 0.085, 0.086,
0.070, 0.076, 0.074, 0.074, 0.071, 0.071, 0.071, 0.071, 0.071, 0.076, 0.086,
0.081, 0.070, 0.072, 0.072, 0.072, 0.075, 0.075, 0.074, 0.074, 0.074, 0.074, 0.074, 0.074, 0.070, 0.152, 0.148, 0.148, 0.074,
0.297, 0.074, 0.075, 0.75, 0.089, 0.89, 0.138, 0.118,)
TRANGENE = DYNA_VIBRA (TYPE_CALCUL =' TRAN ', BASE_CALCUL =' GENE',
MATR_MASS = MASSGENE, MATR_RIGI = RIGIGENE,
AMOR_MODAL =_F (AMOR_REDUIT = LISTAMOR,),
SCHEMA_TEMPS =_F (SCHEMA = METHODE,),
INCREMENT =_F (INST_INIT = 0., INST_FIN = 4. ,
PAS = 0.002, VERI_PAS = 'NON'),
EXCIT =_F (VECT_ASSE_GENE = VECTGENE,
FONC_MULT = ACCELERO),)
Here we used the accelerogram of the imposed movement.
We go back to the physical space:
# --- physical feedback -------------------------------------
LISTINST = DEFI_LIST_REEL (DEBUT =1.334,
INTERVALLE =_F (JUSQU_A = 3.154, NOMBRE = 1))
TRANPHYS = REST_GENE_PHYS (RESU_GENE = TRANGENE,
CRITERE =' RELATIF ', PRECISION =1.E-06,
LIST_INST = LISTINST, TOUT_CHAM =' OUI ')
4.2. Calculation of a second member in multi-support#
The following example shows the calculation of the second members of the driving inertia forces when the seismic signals are different on the supports.
We consider the modeling in beam elements of the following pipe line on which an earthquake is applied in the \(X\) direction:
The unitary linear static modes are calculated for each degree of freedom of the supports locked in the \(X\) direction, to then express the vector of the driving inertia forces as a linear combination of these:
MODST = MODE_STATIQUE (MATR_RIGI = RG,
MATR_MASS = MS,
MODE_STAT =_F (GROUP_NO =
('GP1', 'GP2', 'GP3'),)
(AVEC_CMP = 'X'),));
Three different second members (field at the nodes of the driving inertia forces) must be calculated for each group of nodes subjected to the same seismic signal:
SMP1 = CALC_CHAR_SEISME (MATR_MASS = MS,
DIRECTION =( 1., 0., 0. ),
MODE_STAT = MODST,
GROUP_NO = 'GP1');
SMP2 = CALC_CHAR_SEISME (MATR_MASS = MS,
DIRECTION =( 1., 0., 0. ),
MODE_STAT = MODST,
GROUP_NO = 'GP2');
SMP3 = CALC_CHAR_SEISME (MATR_MASS = MS,
DIRECTION =( 1., 0., 0. ),
MODE_STAT = MODST,
GROUP_NO = 'GP3');
In accordance with what is explained in the reference document [R4.05.01] the CALC_CHAR_SEISME operator calculates the following expression:
\(-M\mathrm{.}{\Psi }_{Pj,X}\mathrm{.}s\)
with \(s=(\mathrm{1,}\mathrm{0,}0)\), the direction of the earthquake, specified by the DIRECTION operand, and \({\Psi }_{Pj,X}\), the unitary linear static modes, specified by the operand MODE_STAT, calculated for each degree of freedom of the supports blocked in the direction \(X\).
Calculation of the transient response (here without damping) with the accumulation of the contribution of the three different seismic signals ACCELP1, ACCELP2 and ACCELP3:
TRANGENE = DYNA_VIBRA (TYPE_CALCUL =' TRAN ', BASE_CALCUL =' PHYS',
MATR_MASS = MS, MATR_RIGI = RG,
SCHEMA_TEMPS =_F (SCHEMA =' NEWMARK ',),
INCREMENT =_F (LIST_INST =LI),
EXCIT =(
_F (VECT_ASSE = SMP1, FONC_MULT = ACCELP1),
_F (VECT_ASSE = SMP2, FONC_MULT = ACCELP2),
_F (VECT_ASSE = SMP3, FONC_MULT = ACCELP3),
)
);
Other examples of multi-supported structures subjected to seismic stresses can be found by consulting tests SDLD103 and SDND102.