v2.01.034 SDLD34 – Lâcher d’un simple masse/ressort#

Résumé:

Un oscillateur simple, constitué d’une masse reliée à un support par un ressort, est soumis à un lâcher en partant du ressort tendu. On vérifie que Code_Aster calcule bien la réponse oscillatoire aux conditions initiales sans forces extérieures.

On teste les fonctionnalités de calcul transitoire linéaire sur base physique et sur base modale de l’opérateur DYNA_VIBRA.

Solution de référence#

Méthode de calcul utilisée pour la solution de référence#

La solution de référence est analytique. En l’absence d’amortissement, c’est une simple sinusoïde dont la période est égale à la pulsation propre de l’oscillateur, \({\omega}_{0}=\sqrt{\frac{k}{m}}\) , et dont l’amplitude est l’allongement initial \(({x}_{0})\) du ressort. La position \(x(t)\) de la masse est donnée par l’équation :

\(x(t)={x}_{0}\cos({\omega}_{0}t)\) (1)

La vitesse de la masse est donc:

\(v(t)=-{\omega}_{0}{x}_{0}\sin({\omega}_{0}t)\) (2)

En présence d’un amortissement visqueux \(({c}_{[\mathrm{N.s}/m]})\) , les oscillations deviennent amorties et la position \(x(t)\) s’écrit :

\(x(t)={x}_{0}{e}^{-\zeta {\omega}_{0}t}[\cos(\omega t)+(\frac{\zeta}{\sqrt{1-{\zeta}^{2}}})\sin(\omega t)]\) (3)

\(\zeta\) est l’amortissement réduit donné par \(\zeta =\frac{c}{2{\omega}_{0}m}\) . \(\zeta\) est considéré être inférieur à 1 pour conserver les oscillations. La pulsation est donné par la formule \(\omega ={\omega}_{0}\sqrt{(1-{\zeta}^{2})}\) . Elle est donc différente de la pulsation propre \(({\omega}_{0})\) du système.

Résultats#

Cas 1 : système conservatif (sans amortissement)

Pour ce système, la pulsation propre \({\omega}_{0}=\pi \mathrm{rad}/s\) . La fréquence propre est donc \({f}_{0}={\omega}_{0}/2\pi =0,5\mathrm{Hz}\) .

Le déplacement (en m) et la vitesse (en m/s) de la masse, donnés respectivement par Eqs.1 et 2 sont :

\(x(t)=\cos(\pi t)\) et \(v(t)=-\pi \sin(\pi t)\)

../../../../_images/100000000000034A00000253D0D0B4AE766DB174.jpg

Cas 2 : système dissipatif visqueux

L’amortissement réduit est de \(\zeta =0,1\) . La pulsation est \(\omega =0,995\pi \mathrm{rad}/s\) et la fréquence est donc \(f=\omega /2\pi =0,4975\mathrm{Hz}\) .

Le déplacement (en m) peut ensuite être calculé selon Eq.3.

Incertitude sur la solution#

Solution analytique.

Modélisation A#

Caractéristiques de la modélisation#

Elément discret en translation de type DIS_T

../../../../_images/10000262000010F30000048C5BF6BDB2083723BD.svg

Caractéristiques des éléments :

Aux nœuds \(\mathrm{P1}\) et \(\mathrm{P2}\) : matrices de masses de type M_T_D_N avec \(m=100\mathrm{kg}\) .

Entre \(\mathrm{P1}\) et \(\mathrm{P2}\) : une matrice de rigidité de type K_T_D_L avec \({K}_{x}={10}^{6}N/m\)

Conditions aux limites :

Tous les degrés de liberté sont bloqués sauf le degré de liberté \(\mathrm{DX}\) du nœud \(\mathrm{P2}\) .

Caractéristiques du maillage#

Nombre de nœuds: 2

Nombre de mailles et types : 1 SEG2, 2 POI1

Fonctionnalités testées#

On teste les fonctionnalités de calcul transitoire linéaire sur base physique et sur base modale de l’opérateur DYNA_VIBRA.

Grandeurs testées et résultats#

Réponse dynamique

On teste la position de la masse au bout d’une période, c’est-à-dire 2 secondes. De plus, on teste la valeur de la participation modale du mode 1. Comme il s’agit d’un mode unique et qu’il est normé selon le noeud qui porte la masse, la participation modale est identique au déplacement.

Identification

Référence

Tolérance

DYNA_VIBRA/base physique(NEWMARK)

\(1\text{m}\)

1.E-4 %

DYNA_VIBRA/base physique(DIFF_CENTRE)

\(1\text{m}\)

1.E-4 %

DYNA_VIBRA/base_modale(EULER)

\(1\text{m}\)

0,01%

DYNA_VIBRA (participation modale)

\(1\text{m}\)

0,01%

On teste aussi la valeur de la vitesse (en m/s) de la masse à t = 1

5 s

c’est-à-dire lorsqu’elle passe par la position d’équilibre statique \((x=0)\) .

DYNA_VIBRA/base physique(NEWMARK)

\(\pi\)

1.E-4 %

DYNA_VIBRA/base_modale(EULER)

\(\pi\)

0,1%

Modélisation B#

Caractéristiques de la modélisation#

On reprend la modélisation A, mais en ajoutant un amortissement au système masse/ressort.

Elément discret en translation de type DIS_T

../../../../_images/10000262000010F30000048C5BF6BDB2083723BD.svg

Caractéristiques des éléments :

Aux nœuds \(\mathrm{P1}\) et \(\mathrm{P2}\) : matrices de masses de type M_T_D_N avec \(m=100\mathrm{kg}\) .

Entre \(\mathrm{P1}\) et \(\mathrm{P2}\) : une matrice de rigidité de type K_T_D_L avec \({K}_{x}={10}^{6}N/m\)

Conditions aux limites :

Tous les degrés de liberté sont bloqués sauf le degré de liberté \(\mathrm{DX}\) du nœud \(\mathrm{P2}\) .

Amortissement : on ajoute au système un amortissement réduit de \(0,1\text{}\) .

Il est introduit dans le cas test, soit de façon habituelle par le mot clef AMOR_REDUIT, soit, pour valider la fonctionnalité RELA_EFFO_VITE, par une relation linéaire entre le vitesse du masse/ressort et une force appliquée au noeud \(\mathrm{P2}\) .

Caractéristiques du maillage#

Nombre de nœuds: 2

Nombre de mailles et types : 1 SEG2, 2 POI1

Fonctionnalités testées#

On teste en particulier, de façon élémentaire, dans cette modélisation la fonctionnalité RELA_EFFO_VITE de l’opérateur DYNA_VIBRA(BASE_CALCUL=”GENE”). Par son usage, on peut introduire un comportement non linéaire dépendant de la vitesse d’un point. Ici on valide de façon simple cette relation dans le cas linéaire en la comparant avec un comportement d’amortissement modal (qui, dans le cas à un seul mode, revient à un amortissement visqueux).

Grandeurs testées et résultats#

Identification

Référence

Tolérance

DYNA_VIBRA(BASE_CALCUL=”GENE”) AMOR_REDUIT

\(0,53\text{m}\)

1 %

DYNA_VIBRA(BASE_CALCUL=”GENE”) RELA_EFFO_VITE

\(0,53\text{m}\)

1 %

DYNA_VIBRA(BASE_CALCUL=”GENE”) AMOR_REDUIT

\(0.531338\) (non régression)

1.E-4%

DYNA_VIBRA(BASE_CALCUL=”GENE”) RELA_EFFO_VITE

\(0.531338\) (non régression)

1.E-4%

Synthèse des résultats#

Les résultats sont satisfaisants. L’erreur relative correspond à l’erreur numérique liée à l’intégration en temps. Les conditions initiales sont bien prises en compte. On en conclut que Code_Aster simule correctement un lâcher en dynamique linéaire.

Ce test est aussi une validation fonctionnelle de la récupération sous forme de fonction de l’évolution en temps de la participation d’un mode, ainsi qu’une validation, sur le cas d’une relation linéaire, de la fonctionnalité RELA_EFFO_VITE.