4. Exemples#

Les deux exemples qui suivent illustrent l’emploi de l’opérateur CALC_CHAR_SEISME dans les cas d’une excitation sismique mono appui et dans le cas multi-appuis (accélération identique puis différente sur chaque appui).

4.1. Calcul d’un second membre en mono-appui#

On considère la modélisation sismique poutre du bâtiment représenté dans le test SDLL109B, telle que présentée dans la documentation de l’opérateur POST_ELEM[U4.81.22].

On désire déterminer des efforts lors de la réponse dynamique transitoire de la structure à un séisme dans la direction \(X\) . Le calcul de réponse transitoire est ici effectué par recombinaison modale par DYNA_VIBRA[U4.53.03].

On calcule les modes de vibrations de la structure du modèle reposant sur un seul appui élastique (ressort de sol):

# --- recherche des modes propres de vibration -------------------------


MODES = CALC_MODES( MATR_RIGI = RIGIDITE,

MATR_MASS = MASSE,

OPTION = 'PLUS_PETITE',

CALC_FREQ =_F( NMAX_FREQ = 33 ),

)

On définit l’accélérogramme du séisme:

# --- excitation -------------------------------------------------------


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 ) ) ;

On calcule le second membre (champ aux nœuds des forces d’inertie d’entraînement) et on définit la direction du séisme:

DIRSEISM = CALC_CHAR_SEISME ( MATR_MASS = MASSE,

MONO_APPUI = 'OUI',

DIRECTION = ( -1., 0., 0. ) ) ;

On procède au calcul de la réponse transitoire dans l’espace modal

# --- projection des matrices et vecteur assemblés sur les 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)

);


# --- calcul par combinaison modale ------------------------------------


LISTAMOR=( 0.055, 0.055, 0.070, 0.070, 0.071, 0.072, 0.157, 0.085, 0.086,

0.070, 0.076, 0.074, 0.071, 0.072, 0.115, 0.073, 0.076, 0.086,

0.081, 0.070, 0.072, 0.075, 0.074, 0.070, 0.152, 0.148, 0.074,

0.297, 0.074, 0.075, 0.089, 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),)

On a utilisé ici l’accélérogramme du mouvement imposé.

On repasse dans l’espace physique:

# --- restitution en base physique -------------------------------------
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. Calcul d’un second membre en multi-appuis#

L’exemple qui suit montre le calcul des seconds membres de forces d’inertie d’entraînement lorsque les signaux sismiques sont différents sur les appuis.

On considère la modélisation en éléments de poutre de la ligne de tuyauterie suivante sur laquelle un séisme est appliqué dans la direction \(X\) :

_images/10000B280000251B00000AA5A1535B4DA884E027.svg

On calcule les modes statiques linéaires unitaires pour chaque degré de liberté des supports bloqués dans la direction \(X\) , pour exprimer ensuite le vecteur des forces d’inertie d’entraînement comme une combinaison linéaire de ceux-ci:

MODST = MODE_STATIQUE ( MATR_RIGI = RG,

MATR_MASS = MS,

MODE_STAT =_F( GROUP_NO =

('GP1','GP2','GP3'), )

( AVEC_CMP = 'DX'),) ) ;

On doit calculer trois seconds membres différents (champ aux nœuds des forces d’inertie d’entraînement) pour chaque groupe de nœuds soumis au même signal sismique:

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' ) ;

Conformément à ce qui est expliqué dans le document de référence [R4.05.01] l’opérateur CALC_CHAR_SEISME calcule l’expression suivante:

\(-M.{\Psi}_{Pj,X}.s\)

avec \(s=(1,0,0)\) , la direction du séisme, spécifiée par l’opérande DIRECTION, et \({\Psi}_{Pj,X}\) les modes statiques linéaires unitaires, spécifiés par l’opérande MODE_STAT, calculés pour chaque degré de liberté des supports bloqués dans la direction \(X\) .

Calcul de la réponse transitoire (ici sans amortissement) avec le cumul de la contribution des trois signaux sismiques différents ACCELP1, ACCELP2 et 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),

)

) ;

On pourra trouver d’autres exemples de structures multi-supportées soumises à des sollicitations sismiques en consultant les tests SDLD103 et SDND102.