Modélisation A ============== Caractéristiques de la modélisation ----------------------------------- Les ressorts et masses ponctuelles sont modélisés par des éléments discrets à 3 degrés de liberté DIS_T: .. image:: images/100008280000159A00000668FDB858FB2B8DCEC3.svg :width: 278 :height: 82 .. _RefImage_100008280000159A00000668FDB858FB2B8DCEC3.svg: Le nœud :math:`\mathit{NO1}` est encastré et soumis à une accélération imposée :math:`\gamma (t)` . On calcule le déplacement relatif du nœud :math:`\mathit{NO4}` . **Calculs par synthèse modale** On considère la base complète des modes propres. L’intégration temporelle est réalisée avec les algorithmes de Newmark, d’Euler et de Devogelaere avec un pas de temps de :math:`0,001s` . Les calculs sont archivés tous les pas de temps. On considère un amortissement réduit :math:`{\xi}_{i}` nul pour l’ensemble des modes calculés. Le chargement est pris en compte sous forme de vecteur projeté sur la base modale EXCIT:(VECT_GENE) ou sous forme de composante modale EXCIT:(NUME_MODE) ou les deux à la fois. **Calculs directs** L’intégration temporelle est réalisée soit avec l’algorithme de Newmark soit avec l’algorithme explicite des différences centrées avec un pas de temps de :math:`0,001s` . Les calculs sont archivés tous les dix pas de temps. **Remarque:** *Comme le schéma des différences centrées ne peut être utilisé qu’avec une matrice de masse diagonale, on calcule les matrices élémentaires avec l’option* *MASS_MECA_DIAG dans l’opérateur* *CALC_MATR_ELEM.* **Prise en compte d’un état initial** Dans les deux types de calcul, on vérifie que le déplacement relatif obtenu d’un calcul réalisé en une fois est identique à celui obtenu en plusieurs fois, c’est-à-dire en considérant comme état initial, le résultat du dernier pas de temps calculé: .. code-block:: text ETAT_INIT=_F (RESULTAT ...) pour un calcul par synthèse modale; ETAT_INIT=_F (DEPL ... VITE ..) pour un calcul direct. **Prise en compte des modes négligés par correction statique:** On considère une base modale constituée des deux premiers modes propres et on l’a complète par un mode correspondant à la réponse statique du système étudié à un chargement unitaire de type force imposée dans la direction :math:`–x` (mots clés MODE_CORR et CORR_STAT dans l‘opérateur DYNA_VIBRA). Caractéristiques du maillage ---------------------------- Nombre de nœuds : 4 Nombre de mailles et types : 3 DIS_T Fonctionnalités testées ----------------------- On teste notamment la prise en compte d'un état initial et des corrections statiques. Grandeurs testées et résultats ------------------------------ Fréquences propres (en :math:`\mathrm{Hz}` ) du système: .. csv-table:: "**Numéro du mode**", "**Analytique**" "1", "2,239" "2", "6,275" "3", "9,069" Valeurs du déplacement relatif du nœud :math:`\mathrm{NO4}` pour différents instants: **Calcul transitoire par synthèse modale** On teste la prise en compte d’un chargement sous forme de vecteur projeté sur la base modale, sous forme de composante modale, sous forme de vecteur projeté et de composante modale simultanément ainsi que la prise en compte des modes négligés. .. csv-table:: "**Temps** :math:`(s)`", "**Référence**", "**Code_Aster** *Chargement de type vecteur généralisé* *Algorithme de Newmark*", "**Erreur relative %**", "**Code_Aster** *Chargement de type composante modale* *Algorithme d’Euler*", "**Erreur relative %**" "0,02", "–2,700E–03", "–2,680E–03", "–0,741", "–2,660E–03", "–1,481" "0,04", "–4,260E–02", "–4,272E–02", "0,279", "–4,264E–02", "0,091" "0,05", "–1,041E–01", "–1,042E–01", "0,134", "–1,041E–01", "0,015" "0,06", "–2,158E–01", "–2,161E–01", "0,121", "–2,159E–01", "0,038" "0,08", "–6,813E–01", "–6,819E–01", "0,094", "–6,816E–01", "0,049" "0,10", "–1,658E+00", "–1,659E+00", "0,082", "–1,659E+00", "0,055" .. csv-table:: "**Type de chargement**", "**Temps** :math:`(s)`", "**Référence**", "**Code_Aster**", "**erreur relative %**" "", "0,02", "–5,400E–03", "–5,320E–03", "–1,482" "Vecteur généralisé", "0,04", "–8,520E–02", "–8,528E–02", "0,091" "et", "0,05", "–2,082E–01", "–2,082E–01", "0,015" "composante modale", "0,06", "–4,316E–01", "–4,318E–01", "0,038" "simultanément", "0,08", "–1,363E+00", "–1,363E+00", "0,049" "(Euler)", "0,10", "–3,316E+00", "–3,318E+00", "0,055" "", "0,02", "–4,000E–03", "–3,985E–03", "–0,373" "Vecteur généralisé", "0,04", "–4,640E–02", "–4,640E–02", "0,01" "Devogelaere", "0,05", "–1,085E–01", "–1,086E–01", "0,084" "(plus correction", "0,06", "–2,203E–01", "–2,204E–01", "0,039" "statique)", "0,08", "–6,842E–01", "–6,843E–01", "0,021" "", "0,10", "–1,659E+00", "–1,659E+00", "0,026" Les résultats avec base modale incomplète sans correction statique ne sont pas testés. On illustre ci‑dessous l’intérêt de la correction statique: +------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Déplacement du noeud :math:`\mathrm{NO4}` (en mètres) en fonction du temps | | | | .. image:: images/Object_22.svg | | :width: 278 | | :height: 82 | | | | | | .. _RefImage_Object_22.svg: | | | | | +----------------------------------------------------------------------------+---------------+---------------------------------+------------------------------------------+---------------------------------+------------------------------------------+ | | Base complète | | Base incomplète sans correction statique | | Base incomplète avec correction statique | | | | | | | | | .. image:: images/Object_23.svg | | .. image:: images/Object_24.svg | | .. image:: images/Object_25.svg | | | :width: 278 | | :width: 420 | | :width: 76 | | | :height: 82 | | :height: 357 | | :height: 13 | | | | | | | | | | | | | | | | | .. _RefImage_Object_23.svg: | | .. _RefImage_Object_24.svg: | | .. _RefImage_Object_25.svg: | | | | | | | | | | | | | | | | +----------------------------------------------------------------------------+---------------+---------------------------------+------------------------------------------+---------------------------------+------------------------------------------+ Un test de non-régression est fait afin s’assurer du bon fonctionnement de la commande POST_GENE_PHYS suite à la correction d’un bug. .. csv-table:: "**Temps** :math:`(s)`", "**Identification**", "Type de r **éférence**", "**Valeur de référence**", "**Précision**" "0, 1", "Champ DEPL, Composante DX, Nœud N02", "‘NON_REGRESSION’", "-", "1E-6" **Calcul transitoire direct** On compare les déplacements calculés au noeud :math:`N04` en fonction de différents schémas d’intégration: .. csv-table:: "**Temps** :math:`(s)`", "**Référence**", "**Code_Aster** *Schéma de Newmark*", "**Erreur relative %**", "**Code_Aster** *Schéma des différences centrées*", "**Erreur relative %**" "0,02", "–2,700E–03", "–2,680E–03", "–0,741", "–2,660E–03", "–1,482" "0,04", "–4,260E–02", "–4,272E–02", "0,279", "–4,264E–02", "0,091" "0,05", "–1,041E–01", "–1,042E–01", "0,134", "–1,041E–01", "0,015" "0,06", "–2,158E–01", "–2,161E–01", "0,121", "–2,159E–01", "0,038" "0,08", "–6,813E–01", "–6,819E–01", "0,094", "–6,745E–01", "–1,004" "0,10", "–1,658E+00", "–1,659E+00", "0,082", "–1,645E+00", "–0,803" Prise en compte d’un état initial: Comme attendu, les déplacements relatifs calculés en une fois sont strictement identiques à ceux obtenus en considérant comme état initial le résultat du dernier pas de temps calculé. On effectue également des tests de non régression sur le bilan des énergies. .. csv-table:: "**Énergie**", "**Instant** :math:`(s)`", "**Code_Aster** *Schéma de Newmark*", "**Code_Aster** *Schéma des différences centrées*" "TRAV_EXT", "0.06", "2,9 7989 E+02", "2,9 7 838 E+02" "ENER_TOT", "0.06", "1,8 8902 E+01", "1,8 8 688 E+01" "ENER_CIN", "0.06", "2,79099E+02", "2,79 132 E+02" "TRAV_EXT", "0,1 1", "1,03435E+04", "9,98152 E+0 3" "ENER_TOT", "0,1 1", "1,71815E+03", "1,67741 E+03" "ENER_CIN", "0,1 1", "8,62533E+03", "8, 30528 E+03"