Module FEM et analyse avec contacts entre pièces
Forum rules
Be nice to others! Read the FreeCAD code of conduct!
Be nice to others! Read the FreeCAD code of conduct!
Module FEM et analyse avec contacts entre pièces
Bonjour à tous, j'écris ce poste pour partager quelques images d'analyses effectuées avec le module FEM, et en particulier avec des conditions de contact entre pièces.
Ce post n'est pas un tutoriel mais je fais quelques rappels pour ceux qui voudraient s'initier.
Le module FEM de Freecad permet d'effectuer des analyses par éléments finis sur des pièces volumiques ou surfaciques (ou éventuellement de type poutre).
On peut donc modéliser sur Freecad, puis dimensionner sa pièce ou son ensemble de pièces avec l'atelier FEM.
Pour les novices je rappel simplement que l'analyse par éléments finis (FEM) est un outil formidable, mais ce n'est qu'un outil, ne faites pas confiance aveuglément aux résultats car ils dépendent des hypothèses de modélisation que vous faites et qui peuvent être fausses. Quoi qu'il en soit: vous engagez votre propre responsabilité en validant des pièces structurelles avec cet outil.
Le flux de travail typique est décrit dans la documentation:
https://www.freecadweb.org/wiki/FEM_Module/fr
Sur l'image le modèle de départ est un solide, mais cela peu être une coque ou une structure poutre.
Mais ce qui est encore plus intéressant c'est de réaliser une analyse sur un ensemble de pièces, assemblées entre elles de façon réaliste.
Le module FEM et le solveur Calculix le permettent grâce à la création de contacts entre les pièces.
Il y a 3 type de contact possible:
- surface to surface: le type par défaut, ça pousse mais c'est libre en traction
- TIED: ça pousse et ça tire
- TIE: c'est soudé rigide
Il y aurait trop à dire pour expliquer tout cela, mais les liens suivants traitent du sujet (en anglais):
https://forum.freecadweb.org/viewtopic.php?f=18&t=15699
https://forum.freecadweb.org/viewtopic. ... IE#p180709
Ce que je peu faire c'est donner ici une liste des choses qui me semblent souvent bloquantes, avec des solutions:
- le modèle doit être composé de plusieurs volumes distincts: par exemple plusieurs fonctions Part qui sont fusionnées, dans ce cas un léger jeu devra exister entre les volumes (0.1mm). Vous pouvez vérifier la géométrie obtenue avant de mailler avec l'outil Part_CheckGeometry (très utile).
- Pour un modèle avec contacts le solveur échoue: maillez avec des éléments du 1er ordre uniquement (important! 1er ordre).
- le maillage échoue: supprimez les petits détails non significatifs de votre modèle
- mailler est lourd et long: utilisez le maillage par région, adaptez le type de maillage à votre type pièce (privilégier un modèle surfacique pour une pièce de tôlerie avec maillage 2D et paramètre d'épaisseur). Entre 2 maillages successifs: cliquez bouton droit sur le maillage pour voir les informations de maillage et comparer le nombres d'éléments.
- le maillage échoue: problème de jacobien négatif, etc... Maillez plus fin dans les zones petites et complexes.
- si l'étude est grosse, le solveur est long et fini par un message d'erreur: lancez une analyse fréquentielle d'abord. C'est plus rapide qu'en statique et vous aurait les messages d'erreur plus vite.
- Le solveur échoue avec message "too many cutbacks": vérifiez bien que votre modèle n'a pas trop de degrés de liberté. Affinez le maillage des zones en contacts. Réglez également la dureté de contact sur 10% du module de Young du matériau (210GPa pour l'acier, soit 21GPa au contact), et réglez la friction à 0.1.
- pour sélectionner vos faces de contact: mettez le modèle en transparence 50% et utilisez l'outil "Plan de coupe sur face" FEM_ClippingPlaneAdd. Ou mieux: la macro "List select macro" https://forum.freecadweb.org/viewtopic.php?f=22&t=23307
Edit du 2020/02/07: cette macro semble cassée sur les versions Freecad compilées avec python 3, pour plus d'info et d'autres méthodes de sélection voir ce sujet: https://forum.freecadweb.org/viewtopic. ... 20#p328434
J'ai fait les modèles ci-dessous pour ce post car je ne peux pas publier mes modèles "réels".
Voilà, place aux images. Et bonne découverte si vous vous mettez à la FEM avec Freecad
-1: Ici des lamelles distantes les unes des autres, un déplacement imposé sur la lamelle supérieure est répercuté sur les lamelles inférieures par contacts successifs (type de contacts: surface-to-surface):
-2: Ici 2 plaques soudées aux coins et tirées aux coins opposés (type de contacts: TIED):
-3: Ici 2 plaques boulonnées (type de contacts: surface-to-surface):
-4: Ici un coupleur flexible dont les disques distants sont liés par contacts soudés (type de contact: TIE):
-5: Ici une sorte de chaine à maillons soumise à traction (type de contact: surface-to-surface):
Ce post n'est pas un tutoriel mais je fais quelques rappels pour ceux qui voudraient s'initier.
Le module FEM de Freecad permet d'effectuer des analyses par éléments finis sur des pièces volumiques ou surfaciques (ou éventuellement de type poutre).
On peut donc modéliser sur Freecad, puis dimensionner sa pièce ou son ensemble de pièces avec l'atelier FEM.
Pour les novices je rappel simplement que l'analyse par éléments finis (FEM) est un outil formidable, mais ce n'est qu'un outil, ne faites pas confiance aveuglément aux résultats car ils dépendent des hypothèses de modélisation que vous faites et qui peuvent être fausses. Quoi qu'il en soit: vous engagez votre propre responsabilité en validant des pièces structurelles avec cet outil.
Le flux de travail typique est décrit dans la documentation:
https://www.freecadweb.org/wiki/FEM_Module/fr
Sur l'image le modèle de départ est un solide, mais cela peu être une coque ou une structure poutre.
Mais ce qui est encore plus intéressant c'est de réaliser une analyse sur un ensemble de pièces, assemblées entre elles de façon réaliste.
Le module FEM et le solveur Calculix le permettent grâce à la création de contacts entre les pièces.
Il y a 3 type de contact possible:
- surface to surface: le type par défaut, ça pousse mais c'est libre en traction
- TIED: ça pousse et ça tire
- TIE: c'est soudé rigide
Il y aurait trop à dire pour expliquer tout cela, mais les liens suivants traitent du sujet (en anglais):
https://forum.freecadweb.org/viewtopic.php?f=18&t=15699
https://forum.freecadweb.org/viewtopic. ... IE#p180709
Ce que je peu faire c'est donner ici une liste des choses qui me semblent souvent bloquantes, avec des solutions:
- le modèle doit être composé de plusieurs volumes distincts: par exemple plusieurs fonctions Part qui sont fusionnées, dans ce cas un léger jeu devra exister entre les volumes (0.1mm). Vous pouvez vérifier la géométrie obtenue avant de mailler avec l'outil Part_CheckGeometry (très utile).
- Pour un modèle avec contacts le solveur échoue: maillez avec des éléments du 1er ordre uniquement (important! 1er ordre).
- le maillage échoue: supprimez les petits détails non significatifs de votre modèle
- mailler est lourd et long: utilisez le maillage par région, adaptez le type de maillage à votre type pièce (privilégier un modèle surfacique pour une pièce de tôlerie avec maillage 2D et paramètre d'épaisseur). Entre 2 maillages successifs: cliquez bouton droit sur le maillage pour voir les informations de maillage et comparer le nombres d'éléments.
- le maillage échoue: problème de jacobien négatif, etc... Maillez plus fin dans les zones petites et complexes.
- si l'étude est grosse, le solveur est long et fini par un message d'erreur: lancez une analyse fréquentielle d'abord. C'est plus rapide qu'en statique et vous aurait les messages d'erreur plus vite.
- Le solveur échoue avec message "too many cutbacks": vérifiez bien que votre modèle n'a pas trop de degrés de liberté. Affinez le maillage des zones en contacts. Réglez également la dureté de contact sur 10% du module de Young du matériau (210GPa pour l'acier, soit 21GPa au contact), et réglez la friction à 0.1.
- pour sélectionner vos faces de contact: mettez le modèle en transparence 50% et utilisez l'outil "Plan de coupe sur face" FEM_ClippingPlaneAdd. Ou mieux: la macro "List select macro" https://forum.freecadweb.org/viewtopic.php?f=22&t=23307
Edit du 2020/02/07: cette macro semble cassée sur les versions Freecad compilées avec python 3, pour plus d'info et d'autres méthodes de sélection voir ce sujet: https://forum.freecadweb.org/viewtopic. ... 20#p328434
J'ai fait les modèles ci-dessous pour ce post car je ne peux pas publier mes modèles "réels".
Voilà, place aux images. Et bonne découverte si vous vous mettez à la FEM avec Freecad
-1: Ici des lamelles distantes les unes des autres, un déplacement imposé sur la lamelle supérieure est répercuté sur les lamelles inférieures par contacts successifs (type de contacts: surface-to-surface):
-2: Ici 2 plaques soudées aux coins et tirées aux coins opposés (type de contacts: TIED):
-3: Ici 2 plaques boulonnées (type de contacts: surface-to-surface):
-4: Ici un coupleur flexible dont les disques distants sont liés par contacts soudés (type de contact: TIE):
-5: Ici une sorte de chaine à maillons soumise à traction (type de contact: surface-to-surface):
Last edited by -alex- on Fri Feb 07, 2020 6:41 pm, edited 4 times in total.
Re: Module FEM et analyse avec contacts entre pièces
-6: Enfin le logo Freecad: une rotation est imposée à l'engrenage, distant au départ, qui vient fléchir le F par contact.
Re: Module FEM et analyse avec contacts entre pièces
J'apprends que l'on faire des analyses avec plusieurs pièces entre elles. énorme!
Merci pour cet excellent post.
Merci pour cet excellent post.
Re: Module FEM et analyse avec contacts entre pièces
+1 ce post est superbe
Re: Module FEM et analyse avec contacts entre pièces
Superbes exemples !
Tu utilises calculix en "automatique" ou tu modifies les critères de convergences ?
Tu fais ça sous linux ou windows ? (question subsidiaire : tu as bricolé un truc pour lancer le solveur sur plusieurs processeurs ?)
Tu utilises calculix en "automatique" ou tu modifies les critères de convergences ?
Tu fais ça sous linux ou windows ? (question subsidiaire : tu as bricolé un truc pour lancer le solveur sur plusieurs processeurs ?)
Re: Module FEM et analyse avec contacts entre pièces
Merci à tous pour vos bons commentaires
(pour info. l'utilisation des contacts est disponible depuis la version 0.17 je crois)
Pour info. également un outil de détection automatique de contacts à été développée, mais je ne l'ai pas encore essayé.
Tous ça c'est sous Windows 10, sur un laptop pas spécialement puissant, les analyses présentées tournent en 10 à 60 secondes.
Sur de plus gros modèles avec plus de contacts il y parfois des difficultés de convergence. Il faudrait que je lise plus le manuel Calculix... ( Si tu as des infos à ce sujet je suis preneur).
Je n'ai rien fait pour parallèliser le calcul du solveur, c'est hors de mes connaissances mais j'ai vu que sur Calculix c'est possible effectivement.
(pour info. l'utilisation des contacts est disponible depuis la version 0.17 je crois)
Pour info. également un outil de détection automatique de contacts à été développée, mais je ne l'ai pas encore essayé.
Je l'utilise en automatique oui, je ne touche pas ou peu aux paramètres du solveur car je les connais mal.
Tous ça c'est sous Windows 10, sur un laptop pas spécialement puissant, les analyses présentées tournent en 10 à 60 secondes.
Sur de plus gros modèles avec plus de contacts il y parfois des difficultés de convergence. Il faudrait que je lise plus le manuel Calculix... ( Si tu as des infos à ce sujet je suis preneur).
Je n'ai rien fait pour parallèliser le calcul du solveur, c'est hors de mes connaissances mais j'ai vu que sur Calculix c'est possible effectivement.
Re: Module FEM et analyse avec contacts entre pièces
Salut,
pour info il y a un paramètre "Number of CPU's to use" dans l'onglet CalculiX des préférences FEM.
pour info il y a un paramètre "Number of CPU's to use" dans l'onglet CalculiX des préférences FEM.
Re: Module FEM et analyse avec contacts entre pièces
Merci pour l'info, je crois que j'avais vu l'option dans le temps mais j'avais complétement oublié.
Quand j'augmente le nombre de CPU à 2 il n'y pas de changement, je veux dire que Calculix indique dans son rapport qu'un seul CPU est utilisé. Par contre le temps de calcul est un peu augmenté. Es-ce que c'est mon pc (x86 win10 Intel core 2duo T9300 2 coeurs 2,5GHz) qui n'est pas adapté?...
Du coup je n'ai jamais poussé plus loin la chose. Si certains d'entre vous on fait des comparaisons sur des modèles un peu gros, ça peut être intéressant à savoir.
Re: Module FEM et analyse avec contacts entre pièces
Wow ... sorry for writing in english. Would you provide some of the files?
Re: Module FEM et analyse avec contacts entre pièces
Sure, please find the attached files below. I have cleared the mesh and/or analisys results to decrease the file size below 1Mo, btw you know about that better than me.
Fr: Bien sur, veuillez trouver ci-dessous des fichiers joints. J'ai effacé le maillage et/ou les résultats de l'analyse pour réduire la taille de fichier à moins de 1Mo, d'ailleurs vous savez cela mieux que moi.
I go ahead in french to add some comments about files:
Je poursuit en français pour ajoute quelques commentaire sur les fichiers:
Pour les novices: il vous faudra relancer le maillage puisque je l'ai effacé, ensuite vous relancerez l'analyse en cliquant sur "écrire le fichiers .inp, puis en cliquant sur "run calculix". La taille fichier passera alors de 17Ko à plus de 4Mo.
Pour information le modèle "lamelles" est plus long à résoudre que ce que j'ai dis plus haut: environ 600sec sur ma machine (relativement peu puissante).
Le modèle à maillons est résolu en environ 30sec. A vous de jouer et de voir ce que cela donne sur votre machine
- Attachments
-
- FEM-contact-maillons.FCStd
- (916.12 KiB) Downloaded 116 times
-
- FEM-contact-lamelles.FCStd
- (16.83 KiB) Downloaded 125 times
Last edited by -alex- on Wed Jun 26, 2019 7:05 pm, edited 1 time in total.