Projet

Général

Profil

Actions

Assistance #375

ouvert

Matrice de masse en dyn expl et elt axi

Ajouté par Frank Petitjean il y a 5 mois. Mis à jour il y a 5 mois.

Statut:
En cours
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
09/10/2024
Echéance:
% réalisé:

0%

Temps estimé:
Temps passé:

Description

Gérard,
Je suis dans le cas particulier de calcul en dynamique explicite (tchamwa) avec des éléments axisymétrique. Il s'agit d'un ballon au sol après le lâchée. Je suis surpris par le manque d'inertie de la structure bien que la masse volumique soit correcte.
Pour calmer les ardeurs du ballon j'ai ajouté une masse_addi à tous les noeuds, et cela fonctionne.
Du coup je me demande comment est calculée la matrice de masse dans le cas axi ?


Fichiers

test_gravite.tar (5,2 ko) test_gravite.tar Julien Troufflard, 10/10/2024 10:26

Mis à jour par Gérard Rio il y a 5 mois

Bonjour Frank,
a priori le calcul utilise des méthodes génériques: on calcule le volume et ensuite on utilise la masse volumique.
Au niveau des éléments axi les particularités se trouvent au niveau du calcul des vecteurs de la base locale (les gi) qui sont ensuite utilisés pour le calcul du volume.
De mémoire tu peux sortir en post-traitement, la valeur des masses aux noeuds. Tu peux ainsi vérifier le résultat en comparant avec le volume d'un élément * masse volumique réparti sur les noeuds de l'élément (en sommant les contributions des éléments contenant le noeud).
Un test simplifié (géométrie simple) te permettrait de vérifier.
Tiens-moi au courant

Mis à jour par Frank Petitjean il y a 5 mois

Si ta mémoire est vraiment bonne (;-)) peux-tu m'indiquer comment récupérer cette masse aux noeuds.
J'ai cherché dans les sorties Maple en interactif sans trouver...
Merci

Mis à jour par Gérard Rio il y a 5 mois

autant pour moi, effectivement c'est dans le cas de la relaxation dynamique que l'on accède à la masse (calcul particulier) via la grandeur quelconque:
MASSE_RELAX_DYN
bon, je pourrais rajouter ce cas, mais je te propose une autre solution un peu laborieuse, mais qui devrait convenir:
Tu utilises un niveau de sortie d'information de valeur 10, et là Herezh affiche toutes les matrices notamment la matrice globale de masse.
Pour que ce soit simple d'utilisation, il faut un nombre de noeuds faible.
Ensuite au niveau de la diagonale, tu as les masses qui sont associées à chaque noeud par composantes successives. Il suffit de vérifier les premières composantes.

C'est interactif ... On peut utiliser des fichiers d'entrée avec que des réponses 1 (fichier fich1001 par exemple) et un ficher de sortie (sortie.txt par exemple) si on veut simplifier la manip du genre:

HZppD_Vn-1 -f toto.info < fich1001 > sortie.txt

Ensuite avec un éditeur texte, c'est facile de repérer ce que l'on cherche

Mis à jour par Frank Petitjean il y a 5 mois

J'ai pris un seul élément donc il y avait peu d'infos et j'ai pas eu besoin de rediriger l'entrée.
Bilan : les masses sont parfaitement calculées en axi, et les masse_addi sont bien ajoutées.

Je n'avais jamais osé un niveau_commentaire à 10, impressionnant ! Merci pour cette méthode.

Ticket à fermer.

Mis à jour par Gérard Rio il y a 5 mois

  • Statut changé de Nouveau à Résolu

parfait,
merci Frank

Mis à jour par Julien Troufflard il y a 5 mois

Par curiosité j'ai fait vite fait une poutre axi en chute libre. Les masses sont bonnes mais il n'y a rien qui bouge en mettant un chargement UNIFORME.

c'est peut-être sujet comme cas, mais bizarre quand même.

Tu as un chargement de gravité dans ton calcul ?

J'ai testé :
- PRESSION => ok je retrouve la chute libre théorique (et le poids est bon si on encastre tout)
- UNIFORME => aucune force n'est générée, pas de mouvement

Mis à jour par Frank Petitjean il y a 5 mois

Qu'est-ce que tu entends par "chargement de gravité" ?
J'ai des chargements nodaux, sous la forme d'un champ de valeurs, pour représenter le poids de la structure. En effet si je passe par un chargement volumique le critère pli entraine une erreur dans le calcul du volume, et donc du poids.
Sinon j'ai plusieurs chargements en pression via des fonctions nD (dont une fonction externe).
Peut-être que le chargement UNIFORME n'est pas implémenté en axi ?

Mis à jour par Julien Troufflard il y a 5 mois

ok merci pour les précisions/astuces.

Le chargement de gravité ? c'est le poids (P=mg). ça doit pas être le bon terme "chargement de gravité".

En axi, pour appliquer un chargement volumique, UNIFORME est préconisé à la place de VOLUMIQUE (doc herezh 74.2.11). Le chargement VOLUMIQUE est même interdit en axi (doc hz 74.2.1).
Mais UNIFORME ne génère aucune force sur mon exemple. C'est bizarre, UNIFORME demande une réf de face F_..., mais ça n'existe pas normalement sur un élément poutre (SEG_AXI BIE1). Mais il accepte quand même de définir une réf que j'ai appelé F_tout (mais je suis obligé de mettre une réf bidon d'élément la ligne suivante, genre "E_toto 1" sinon bug). Ensuite je l'utilise dans le chargement UNIFORME et rien ne se passe.

ça fonctionne correctement avec PRESSION appliqué sur une réf d'arete A_..., mais ce chargement est sensible à la variation de surface. ça ne peut simuler correctement la gravité en axi que pour un cas indéformable.

mais bon, du coup c'est vraiment hors-sujet...

Mis à jour par Gérard Rio il y a 5 mois

  • Statut changé de Résolu à En cours

Julien,
peux-tu mettre ton exemple qui semble bizarre

Mis à jour par Julien Troufflard il y a 5 mois

le voilà. La gravité est selon y.

j'ai mis aussi :
- un exemple 3D qui fonctionne avec un chargement VOLUMIQUE
- un autre exemple axi => cette fois c'est un quadrangle
Dans les cas axi et 3D, il y a un fichier gnu associé qui compare l'évolution de la position Y en fonction du temps avec comparaison à la chute libre théorique.

dans le cas axi sur SEG_AXI (test_axi.info), le .info est en mode "UNIFORME" appliqué à F_tout => aucun déplacement.
Mais on dirait que tout le problème vient de F_tout car si on applique le chargement PRESSION au lieu de UNIFORME => bug à la lecture du .info => donc F_tout est certainement mal lu par Herezh.

Je n'avais d'ailleurs pas vraiment compris qu'il s'agissait d'appliquer UNIFORME à la surface totale de la pièce, c'est-à-dire son volume en axi. Donc dans cet exemple, le chargement PRESSION appliqué à l'arête A_tout permet de retomber sur le théorique, mais c'est par chance (car l'épaisseur est de 1.).

J'ai donc refait un cas axi "plein" avec un QUAD_AXI (test_axi_plein.info) où cette fois la notion de surface est plus claire. Informatiquement, ça fonctionne bien en apparence mais :
1) on dirait qu'il ne faut pas mettre g (en mm.s-2) dans le chargement UNIFORME. Sans doute de ma faute, je ne suis pas très doué en axi, j'en fais peu et quand j'en fais c'est en déplacement imposé. Va savoir s'il ne faut pas multiplier/diviser g par 2, 2pi, ou pi...
2) il y a un comportement étrange en sortie maple. J'obtiens un X2 étrange sur certains incréments de sortie
3) le pas de temps critique n'a pas l'air bien calculé pour cet élément axi. Malgré une masse volumique énorme (1 tonne /mm^3), j'ai un pas de temps critique de 1e-7. Je l'ai imposé à 1e-3 et c'est stable (donc COEF_PASCRITIQUE ne donne pas le bon delta(t) critique)

bon, c'est à tiroir cette histoire... à voir tes priorités dans ta to-do-list.

Mis à jour par Gérard Rio il y a 5 mois

oui, pour l'instant c'est le contact qui me prend le maxi d'énergie, mais j'essaie de répondre également aux sollicitations qui semblent ne pas demander trop de temps.
je regarde dès que possible

Actions

Formats disponibles : Atom PDF

Redmine Appliance - Powered by TurnKey Linux