4. Transient seismic response by modal synthesis#
4.1. Description of the method#
The modal recombination method consists in decomposing the relative motion of the structure based on the natural modes. Since this one is zero at the level of the supports, the dynamic equation is projected on the basis of blocked eigenmodes (eigenmodes obtained by blocking all the degrees of freedom of connection).
\({X}_{r}=\Phi \text{.}Q\)
\(\Phi\) is the matrix of blocked eigenmodes;
\(Q\) the vector of generalized unknowns of relative motion based on blocked eigenmodes.
Blocked clean modes are a solution to:
\(\{\begin{array}{c}(K-{\Omega }_{i}^{2}\text{.}M)\mathrm{.}{\Phi }_{i}=-{B}^{T}\text{.}{\lambda }_{i}\\ B\mathrm{.}{\Phi }_{i}=0\end{array}\) where \({\lambda }_{i}\) are the modal reactions at support points.
The equation of relative motion projected on the basis of the blocked dynamic modes is then written (remember that for blocked vibratory modes: \({\Phi }^{T}\text{.}K\text{.}\Psi =0\) and that we neglect the damping forces associated with the training speed):
\({M}_{G}\ddot{Q}(t)+{C}_{G}\dot{Q}(t)+{K}_{G}Q(t)=-{\Phi }^{T}\text{.}M\text{.}\Psi \text{.}{\ddot{X}}_{s}+{\Phi }^{T}\text{.}{F}_{\text{ext}}-{\Phi }^{T}\text{.}{B}^{T}\text{.}{\lambda }_{r}\)
where \({M}_{G}\), \({C}_{G}\), and \({K}_{G}\) are the generalized mass, damping, and stiffness matrices. To simplify, we consider that they are diagonal. The generalized damping matrix \({C}_{G}\) also because it is assumed that Basile’s hypothesis is true (the damping matrix is a linear combination of the mass and stiffness matrices).
Or, considering only the active degrees of freedom:
\({m}_{G}\text{.}\ddot{q}(t)+{c}_{G}\text{.}\dot{q}(t)+{k}_{G}\text{.}q(t)=-{\Phi }^{T}\text{.}{f}_{c}-{\Phi }^{T}\text{.}(m\text{.}\Psi +{m}_{\text{xs}}\text{.}\text{Id}){\ddot{x}}_{s}\)
In the absence of shock or other non-linear force, see § 4.3, and of a given excitatory force, one is therefore led to solve a set of decoupled equations (there are as many as natural modes), the second member of which is directly constructed using only the training acceleration signals that are applied to the supports and the static modes applied to the mass matrix.
Note:
It is possible to calculate a modal basis with non-diagonal matrices. Just specify it when constructing the generalized numbering by the keyword STOCKAGE =” PLEIN “of the command NUME_DDL_GENE ** [U4.65.03].
4.2. Choosing the modal base#
For the seismic analysis of a linear structure, in principle, all the modes should be retained whose natural frequencies are lower than the cutoff frequency (generally of the order of \(33\mathit{Hz}\)). In practice, we are often content with keeping in the modal base only those modes that contribute significantly to the response. Only the modes whose effective unit mass in one direction is greater than 1† are then retained and it is also ensured that, for all of these selected modes, the cumulative unit effective mass in each direction is little different from the total mass of the structure (greater than 90%). The criterion for the accumulation of effective modal masses is reached by combining the following operators:
Calculation of the total mass of the structure: POST_ELEM [U4.81.22]
mass_in = POST_ELEM (MASS_INER =_F (TOUT = 'OUI'))
Calculation of blocked dynamic eigenmodes: they are calculated in operator CALC_MODES [U4.52.02].
fashion = CALC_MODES ( ... );
Normalization of trends in relation to the generalized mass: NORM_MODE [U4.52.11]
NORM_MODE (MODE = fashion, NORME =' MASSE_GENE ', MASSE_INER = mass_in);
Extraction of the modal base of modes whose effective unit mass exceeds a certain threshold (1† for example) and verification that the extracted modes represent at least 90% of the total mass: EXTR_MODE [U4.52.12]
EXTR_MODE (
FILTRE_MODE (MODE = fashion, CRIT_EXTRE = “MASSE_EFFE_UN”, SEUIL =1.e-3) IMPRESSION (CUMUL =” OUI “);
Notes:
The sum of the effective modal masses is in fact worth the total mass that works on the chosen modal basis. In other words, this total working mass is worth the total mass minus the mass contributions that are carried by embedded degrees of freedom (which therefore do not work on a modal basis). So, for example, on a system with 1 degree of freedom mass-spring with one mass \(\mathit{M1}\) at the top and another mass \(\mathit{M2}\) at the base, then the working mass will be value \(\mathit{M1}\) and the total mass \(\mathit{M1}+\mathit{M2}\). Therefore, the effective unit modal mass for the system’s only mode will be value \(\mathit{M1}\mathrm{/}(\mathit{M1}+\mathit{M2})\). The total accumulation will therefore have the same value and, depending on the ratio in \(\mathit{M1}\) and \(\mathit{M2}\) , we will therefore not necessarily be able to reach 90% of the total mass \((\mathit{M1}+\mathit{M2})\) , even considering all the modes (we only have one mode in this example). In practice, the finer and more realistic the finite element model is, the smaller the difference between the working mass and the total mass will be.
The macro command CALC_MODES [U4.52.02], option “ BANDE “with division into several sub-bands, allows all of the last three previous commands to be linked directly.
Attention, some local responses (in the particular case of localized nonlinearities) can be strongly influenced by higher-order modes whose frequency is beyond the cutoff frequency and whose effective modal mass is low (less than 1†). The keyword VERI_CHOC of the DYNA_TRAN_MODAL [U4.53.21] command makes it possible to check afterwards that the chosen modal base is sufficient. If this is not the case, we strongly recommend completing it.
4.3. Taking into account non-linear forces in the dynamic response of the structure studied by modal synthesis#
It is possible to take into account non-linear forces, resulting from shocks, support buckling, or anti-seismic supports, cf. [R5.03.17], applied at particular nodes, which are evaluated using the displacements and speeds in a local physical reference frame reconstituted from the generalized unknowns of the relative movement based on the generalized unknowns of the relative movement on the basis of the blocked natural modes to which are added the movements and speeds of training the supports, which the user must then provide.
4.4. Calculation of the dynamic response of the studied structure by modal synthesis#
After calculating the base of dynamic eigenmodes and constructing a generalized numbering by NUME_DDL_GENE [U4.65.03], we then project the mass, damping and stiffness matrices, on this same base with the operator PROJ_MATR_BASE [U4.63.12], the second member vectors with PROJ_VECT_BASE [U4.63.13].
Note:
The macro command PROJ_BASE [U4.63.11] allows all three operations to be linked directly.
Once the matrices and vectors are thus projected, the generalized response of the mono- or multi-excited system is calculated using the operator DYNA_TRAN_MODAL [U4.53.21].
4.5. Taking into account neglected modes by static correction#
The truncation error resulting from taking into account an incomplete modal base can be corrected by means of a static correction. Static correction can be carried out in two ways:
a priori, by creating a Ritz base from the base of dynamic eigenmodes and static modes, whether with imposed acceleration (pseudo-mode) or with imposed force;
a posteriori, via the pseudo-mode (possible only with mono-press).
4.5.1. A priory static correction#
The static modes with imposed acceleration (pseudo-mode) or with imposed force are calculated beforehand according to:
MODE_FO = MODE_STATIQUE (MATR_RIGI = RIGIDITE,
MATR_MASS = MASSE,
FORCE_NODALE =_F (TOUT = “OUI”, AVEC_CMP = “X”)
or
MODE_CO = MODE_STATIQUE (MATR_RIGI = RIGIDITE,
MATR_MASS = MASSE,
PSEUDO_MODE =_F (NOEUD = (“P1”, “P4”,),
AVEC_CMP = (“X”,))
)
These modes are then combined with dynamic modes to form a Ritz base. The assistant modes can be:
static modes with imposed acceleration (pseudo-mode) and static modes with imposed force:
BAM0 = DEFI_BASE_MODALE (RITZ =( _F (MODE_MECA =fashion,),
_F (MODE_INTF = MODE_FO,),
_F (MODE_INTF = MODE_CO,),),
ORTHO =” OUI “, MATRICE = MASSE”,
NUME_REF =N_ DDL,);
or static force-imposed modes alone:
BAM1 = DEFI_BASE_MODALE (RITZ =( _F (MODE_MECA =fashion,),
_F (MODE_INTF = MODE_FO,),
ORTHO =” OUI “, MATRICE = MASSE”,
NUME_REF =N_ DDL,);
or static modes with imposed acceleration alone:
BAM2 = DEFI_BASE_MODALE (RITZ =( _F (MODE_MECA =fashion,),
_F (MODE_INTF = MODE_CO,),
ORTHO =” OUI “, MATRICE = MASSE”,
NUME_REF =N_ DDL,);
Emphasis is placed on the need to re-orthogonalize the base thus obtained, preferably using the mass matrix (the stiffness matrix may also be suitable, but does not make it possible to standardize the eigenvalues).
4.5.2. Posterior static correction#
In this case, once back to the physical base, the value of the calculated relative displacement (respectively the relative speed and the relative acceleration) is corrected by the contribution of a pseudo-mode. The pseudo-mode is defined by the difference between the static mode associated with the unit load of the imposed uniform acceleration type and the projection onto the calculated dynamic modes of movement (the relative speed and the relative acceleration respectively).
We then have:
\(\{\begin{array}{c}{X}_{\text{r\_corrigé}}={X}_{r}+\sum _{i}{f}_{i}(t)\text{.}({\Psi }_{i}-\sum _{j=1}^{p}{\eta }_{j}\text{.}{\Phi }_{j})\\ {\dot{X}}_{\text{r\_corrigé}}={\dot{X}}_{r}+\sum _{i}{\dot{f}}_{i}(t)\text{.}({\Psi }_{i}-\sum _{j=1}^{p}{\dot{\eta }}_{j}\text{.}{\Phi }_{j})\\ {\ddot{X}}_{\text{r\_corrigé}}={\ddot{X}}_{r}+\sum _{i}{\ddot{f}}_{i}(t)\text{.}({\Psi }_{i}-\sum _{j=1}^{p}{\ddot{\eta }}_{j}\text{.}{\Phi }_{j})\end{array}\)
The multiplicative functions of time \({f}_{i}(t)\) correspond to the accelerogram imposed \({\gamma }_{i}(t)\) in each direction \(i\) considered.
The procedure to follow is as follows:
Calculation of the unit load type imposed force (uniform acceleration) in the direction of the earthquake: AFFE_CHAR_MECA [U4.44.01]. Be careful to switch the direction sign since the seismic inertia force is of the form \(P(t)=-M\Psi \text{.}{\ddot{X}}_{s}\)
cham_no = AFFE_CHAR_MECA (MODELE =model, PESANTEUR =( VALE, DIRECTION));
Calculation of the linear static response of the structure to the previous load case: MACRO_ELAS_MULT [U4.51.02].
mode_cor = MACRO_ELAS_MULT (CHAR_MECA_GLOBAL = con_lim,...
CAS_CHARGE =_F (NOM_CAS ='xx', CHAR_MECA = fiel_no));
Note that there are as many load cases as there are earthquake directions.
Calculation of the first and second derivatives of the accelerogram: CALC_FONCTION [U4.32.04].
deri_pre and deri_sec = CALC_FONCTION (OPTION = DERIVE);
Calculation of the generalized response taking into account the modes neglected by static correction:
dyna_mod = DYNA_TRAN_MODAL (MASS_GENE =..., RIGI_GENE =...
MODE_CORR = fashion_horn
EXCIT =_F (CORR_STAT = 'OUI'
D_ FONC_DT = deri_pre, D_ FONC_DT2 = deri_sec,..)
... );
* Back to the physical base: static correction is not implicitly taken into account. You must specify CORR_STAT =' OUI 'in RECU_FONCTION or REST_GENE_PHYS for the static correction to be taken into account.
Note:
In the case of a multi-excited structure, taking into account the neglected modes by static correction a posteriori*is not available. The absolute displacement is post-processed in this case.*
4.6. Taking into account the multi-supported nature of a structure#
We saw previously (cf. [§3.3]) that in order to calculate the seismic load in the case of a multi-supported structure, it is necessary to have previously calculated the static modes \(\Psi\), which will control the inertial forces driving the supports, amplified by the drive acceleration signals that are applied to them.
If we want to be able to restore the calculated quantities in the absolute frame of reference or if we want to be able to take into account localized nonlinearities (shock, anti-seismic supports…), cf. § 4.3, it is also necessary to specify in DYNA_TRAN_MODAL that the structure studied is multi-excited. In fact, in the latter case, the vector of the absolute movements and speeds of each of the shock points in question is compared at each instant in order to determine whether there is a shock and to calculate the corresponding shock forces. It is necessary to ensure that the absolute movements and speeds of the supports are consistent with the training acceleration signals in question.
The procedure to follow is as follows:
Calculation of static modes: MODE_STATIQUE [U4.52.14].
stat_mode = MODE_STATIQUE (DDL_IMPO = ( ... ));
Calculation of the generalized response taking into account the training component:
dyna_mod = DYNA_TRAN_MODAL (MASS_GENE =..., RIGI_GENE =...
MODE_STAT = stat_mode
EXCIT =_F (MULT_APPUI = 'OUI'
ACCE = accelerated, VITE = speed, DEPL = moved
DIRECTION = (...), NOEUD = NO1
...)
... );
4.7. Post-treatments#
The operators REST_GENE_PHYS [U4.63.31] or RECU_FONCTION [U4.32.03] can then restore the calculated evolutions into the physical space:
operator REST_GENE_PHYS returns globally (the complete field) the movements, speeds and accelerations;
the operator RECU_FONCTION restores locally (evolution over time by one degree of freedom) the movements, speeds and accelerations.
We can restore the relative quantities by specifying (MULT_APPUI = “NON”) or the absolute quantities by (MULT_APPUI = “OUI”).
The training displacements necessary for the calculation of the secondary quantities are then obtained by subtracting the relative displacements from the absolute displacements. This is done by the command CALC_FONCTION [U4.32.04] option COMB.
From the previous evolutions, it is also possible to extract the maximum values and \(\mathit{RMS}\) and calculate the associated oscillator response spectrum. This is done by the command CALC_FONCTION options MAX, RMS, and SRO.