FreeCad FEM exploitation des résultats

Forum destiné aux questions et discussions en français
Forum rules
Règles du forum et informations utiles.

VEUILLEZ LIRE CECI AVANT DE DEMANDER DE L'AIDE
User avatar
-alex-
Posts: 898
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: FreeCad FEM exploitation des résultats

Postby -alex- » Sat May 23, 2020 9:35 am

46Cpi wrote: Thu May 21, 2020 1:59 pm Tout cela me semble illogique, Calculix calculerait faussement ? Ou, où fais-je des erreurs ?
Je pense que CCX est ok et que tu fais des erreurs, je suis du même avis que Fada3D, ton modèle (que je n'ai pas encore regardé) me semble déséquilibré. Un modèle FEM équilibré quasiment uniquement par des forces antagonistes (ici pesanteur et forces de réaction) c'est toujours un peu délicat, instable. Dans le cas de ta plaque test, effectivement elle a tendance à "s’envoler" car les forces de réaction et la pesanteur ne sont pas parfaitement équilibrées j'imagine, et c'est par la fixation de l'arrête LG.0.1mm que tu as conservé que tu stabilises ton modèle. Bonne idée, sauf que ton arrête est à un coin, relativement loin de la résultante des autres forces, ce qui créé un bras de levier significatif et fait fléchir ta tôle fine, avec je suppose une "grande" concentration de contrainte au coin (puisqu'il est fixé, donc bloqué en rotation aussi).
Avec ce type de stratégie d'analyse il faut placer le point (car oui, cela peut-être juste un sommet) stabilisateur judicieusement (dans ton cas test je dirais au centre de la tôle)

J'ai remarqué dans ton dernier post une petite différence de script dans la modif du fichier.inp, au niveau de :
*NODE PRINT , NSET=Nall
U
Je n'ai fait que reprendre la syntaxe présente par défaut dans le fichier .inp en V0.19, qui semble avoir changé effectivement. De toute façon nous ce qui nous interesse ce sont bien les lignes avec variable RF (reaction force), la variable U concerne les déplacements (https://web.mit.edu/calculix_v2.7/Calcu ... de226.html)
Je te conseille vivement d’utiliser la 0.19, qui fonctionne très bien en générale (Fada3D semble avoir un problème avec FEM WB mais je ne sais pas s'il est lié à la 0.19, qu'il n'hésites pas à préciser).
Je t'envoie un modèle validant ta méthode, aujourd'hui si j'ai le temps ;-)
46Cpi
Posts: 41
Joined: Wed Apr 15, 2020 6:36 am

Re: FreeCad FEM exploitation des résultats

Postby 46Cpi » Sun May 24, 2020 2:15 pm

Malheureusement chez moi, je n'arrive pas à faire refonctionner la FEM.
FaDa3D on peut télécharger la version 0.19 : (voir la dernière ligne 265MB, l'atelier FEM fonctionne)
https://github.com/FreeCAD/FreeCAD/rele ... g/0.19_pre
User avatar
FaDa3D
Posts: 523
Joined: Tue Aug 08, 2017 8:21 am
Location: Savoie France

Re: FreeCad FEM exploitation des résultats

Postby FaDa3D » Sun May 24, 2020 6:23 pm

Bonsoir,
J'utilise la version 0.19 datée du 23 mai, mise à jour par les dépôts de FreeCAD pour Linux.
Je me sers de l'anneau suggéré par alex pour ré-apprendre la FEM FC.
J'ai eu l'impossibilité de lancer Calculix par double clic, l'impossibilité d'activer une analyse, ... Je pense que c'est réglé par reconstruction de l'analyse. Mais je n'ai pas de résultats , le maillage est sans déformation et le tableau CCX_results sans valeurs et le message de la vue rapport :

Working Dir is set to be used from solver object but Dir from solver object '' is empty.
Dir '/home/christian/Model3D/ResolFEM/Anneau_1/SolverCcxTools' will be used instead.
References: empty in MaterialSolid, MaterialSolid
References: Face in ConstraintDisplacement, ConstraintDisplacement
References: Face in ConstraintFixed, ConstraintFixed
Check prerequisites.
Check prerequisites.
References: empty in MaterialSolid, MaterialSolid
Start writing CalculiX input file
Write ccx input file to: /home/christian/Model3D/ResolFEM/Anneau_1/SolverCcxTools/FEMMeshGmsh.inp
ConstraintFixed:
Type: Fem::ConstraintFixed, Name: ConstraintFixed
found mesh group for the IDs: ConstraintFixed_Nodes, Type: Node
ConstraintDisplacement:
Type: Fem::ConstraintDisplacement, Name: ConstraintDisplacement
found mesh group for the IDs: ConstraintDisplacement_Nodes, Type: Node
Writing time CalculiX input file: 0.02 seconds

run CalculiX at: /usr/bin/ccx with: /home/christian/Model3D/ResolFEM/Anneau_1/SolverCcxTools/FEMMeshGmsh.inp
CalculiX done without error!
We will load the ccx frd and dat result file.
Read ccx results from frd file: /home/christian/Model3D/ResolFEM/Anneau_1/SolverCcxTools/FEMMeshGmsh.frd
loading results failed


Je suis grandement frustré de ne pouvoir participer par des exemples à ce poste intéressant.
Attachments
Capture du 2020-05-24 20-18-19.png
Capture du 2020-05-24 20-18-19.png (55.39 KiB) Viewed 413 times
Fada de 3D.
Linux Mint
User avatar
-alex-
Posts: 898
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: FreeCad FEM exploitation des résultats

Postby -alex- » Sun May 24, 2020 8:27 pm

FaDa3D wrote: Sun May 24, 2020 6:23 pm Bonsoir,
J'utilise la version 0.19 datée du 23 mai, mise à jour par les dépôts de FreeCAD pour Linux.
Je me sers de l'anneau suggéré par alex pour ré-apprendre la FEM FC.
Là comme ça pas trop d'idées pour t'aider, juste peut-être:
1- un modèle plus récent de l'anneau existe: https://forum.freecadweb.org/viewtopic. ... 49#p312618 (mais tu as déjà réglé le problème en refaisant l'analyse)
Plus bas dans ce même lien il y a des infos le répertoire Ccx pour un utilisateur qui semblait avoir des problèmes peut-être similaires aux tiens.
2- du coup c'est ce que j'allais te proposer, d'aller vérifier les répertoires dans les préférences FEM, choisir les répertoires temporaire ou cas où ça ne soit pas déjà le cas
3- après en avoir fait une sauvegarde, supprimer ton répertoire utilisateur /home/utilisateur/.FreeCAD, on ne sait jamais, ça semble régler pas mal de problèmes liées aux évolutions du logiciel dans le temps.
User avatar
-alex-
Posts: 898
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: FreeCad FEM exploitation des résultats

Postby -alex- » Wed May 27, 2020 9:00 am

-alex- wrote: Sat May 23, 2020 9:35 am Je t'envoie un modèle validant ta méthode, aujourd'hui si j'ai le temps ;-)
Après avoir résolu un problème (https://forum.freecadweb.org/viewtopic.php?f=18&t=46806) liés à l'option FEM -> preferences -> Create mesh group for analysis reference shapes, ci-dessous un modèle 2D (avec visualisation 3D activée) en flexion pure de la plaque acier 100x100x1 sous poids propre:

test_plaque_coque_100x100x1_acier_4appuis.png
test_plaque_coque_100x100x1_acier_4appuis.png (103 KiB) Viewed 364 times


Dans le fichier .inp de l'analyse de ce modèle il faut intégrer:

Code: Select all

** outputs --> dat file
** reaction forces for Constraint
*NODE PRINT, NSET=ConstraintDisplacement1, TOTALS=ONLY
RF
*NODE PRINT, NSET=ConstraintDisplacement2, TOTALS=ONLY
RF
*NODE PRINT, NSET=ConstraintDisplacement3, TOTALS=ONLY
RF
*NODE PRINT, NSET=ConstraintDisplacement4, TOTALS=ONLY
RF
*NODE PRINT, NSET=ConstraintDisplacement_x, TOTALS=ONLY
RF
*NODE PRINT, NSET=ConstraintDisplacement_y, TOTALS=ONLY
RF


Sur le modèle lui même: tu peux observer que le déplacement est réaliste, en flexion pure, avec une concentration minimum de contrainte aux 4 coins (elle ne se voit pas sur l'image qui montre le déplacement en Z).
Avantage: modèle beaucoup plus léger et rapide au calcul, donc itérations plus nombreuses facilités, et maillage aisé pour modèle de fine épaisseur.


Sur l’imprécision (faible) des forces de réaction: comme vu auparavant elle est liée à la finesse du maillage, d'où l’intérêt de mailler fin, même ici en 2D, et surtout dans ton cas ou tu recherches une grande précision de résultats.
Par exemple pour le modèle ci-joint, les 4 forces de réaction théoriques attendues sont:
Fr= Mplaque x G / 4 = 0.079 x 9.82 / 4 = 0.193945N
Dans le fichier .dat de l'analyse on obtient les 4 forces de réaction suivantes:
1- pour un maillage par défaut taille Max 0 (grossier):

Code: Select all

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT1 and time  0.1000000E+01

       -3.216871E-14  1.361984E-13  1.939490E-01

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT2 and time  0.1000000E+01

       -1.373495E-13  1.098884E-13  1.939410E-01

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT3 and time  0.1000000E+01

       -7.013032E-13  2.047765E-13  1.939490E-01

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT4 and time  0.1000000E+01

       -3.881211E-13 -2.590592E-13  1.939410E-01

2- pour un maillage taille Max 5:

Code: Select all

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT1 and time  0.1000000E+01

       -7.815489E-15 -1.635148E-13  1.939436E-01

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT2 and time  0.1000000E+01

       -1.473037E-15  6.022818E-14  1.939464E-01

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT3 and time  0.1000000E+01

        8.094337E-14 -4.841485E-14  1.939436E-01

 total force (fx,fy,fz) for set CONSTRAINTDISPLACEMENT4 and time  0.1000000E+01

       -1.657620E-13 -4.454133E-14  1.939464E-01
On constate que les 4 forces sont identiques (quasiment).
Et dans le cas taille d'élément = 5 une erreur de 0.0000014N , tout à fait acceptable je pense ;)
On peu dire que Calculix et FreeCAD s'en sortent plutôt bien :D

Pour info, analyse effectuée sur Raspberry PI4-4GB:
- temps de maillage taille Max 5mm: 0.7sec
- temps d'analyse sur 4 cœurs: 4.6sec

OS: Ubuntu 20.04 LTS (XFCE/xubuntu)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.21125 (Git)
Build type: Unknown
Branch: master
Hash: 40600a55c2fe71ff589be677f6e427ccc937d003
Python version: 3.8.2
Qt version: 5.12.8
Coin version: 4.0.0
OCC version: 7.3.0
Locale: English/United States (en_US)
46Cpi
Posts: 41
Joined: Wed Apr 15, 2020 6:36 am

Re: FreeCad FEM exploitation des résultats

Postby 46Cpi » Wed May 27, 2020 11:35 am

Si tu rencontres des difficultés envoie un modèle de ton besoin, ça sera plus concret.
Ton sujet ressemble à ceux décrit ici http://serge.bertorello.free.fr/support/support ?
Combien de points d'appuis dans ton cas?
Oui Serge.Bertorello explique bien la base d'un barillet, et 18 ou 30 points d'appuis dans mon cas.

ça y est j'ai compris pourquoi pour une surface donnée, en remplaçant la force équivalent calculée par FreeCad à un déplacement (nul ici), les résultats ne correspondent pas.
En fait c'est logique : FreeCad calcul la force totale en sommant les forces calculées en chaque nœud. Et lorsqu'on applique cette force (résultat total), FreeCad applique cette force en la répartissant seulement sur quelques points que l'on ne connait pas (probablement quelques nœuds clés ou en seul nœud, en tous les cas probablement pas les même nœuds qu'initialement et probablement pas avec la même répartition des forces dans les nœuds de départ).
Donc le résultat de la déformée de la pièce est différente à l'arrivée. Il y a aussi une influence sur les résultats des autres contraintes de déplacements.
A cela s'ajoute l'influence de la finesse du maillage, mais là c'est un autre problème.

Aujourd'hui on peut appliquer une force sur une surface ou arête, donc sans connaître la force équivalente à un déplacement donné. Cela génère une certaine déformée.
Si on applique ce déplacement cela génère une déformée différente et inversement.
Il n'y a pas correspondance effective entre ces 2 conditions d'entrée, et surtout elles donnent des déformées différentes alors qu'elles sont sensées des résultats identiques.
Ne serait-il pas utile de créer un outil qui permet d'appliquer la vraie force équivalente à un déplacement calculé par FreeCad ? Ou au moins sous forme de liste de forces à appliquer aux nœuds dans script par exemple via FEMMeshGmsh.inp

Exemple d'aberration des forces équivalentes en une zone:
Aberration Force equivalente.png
Aberration Force equivalente.png (254.1 KiB) Viewed 341 times
Force equivalente.PNG
Force equivalente.PNG (45.73 KiB) Viewed 341 times
Dans cet exemple la force équivalente vaut 3,326878 N
User avatar
-alex-
Posts: 898
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: FreeCad FEM exploitation des résultats

Postby -alex- » Wed May 27, 2020 1:17 pm

46Cpi wrote: Wed May 27, 2020 11:35 am Si tu rencontres des difficultés envoie un modèle de ton besoin, ça sera plus concret.
FreeCad calcul la force totale en sommant les forces calculées en chaque nœud. Et lorsqu'on applique cette force (résultat total), FreeCad applique cette force en la répartissant seulement sur quelques points que l'on ne connait pas (probablement quelques nœuds clés ou en seul nœud, en tous les cas probablement pas les même nœuds qu'initialement et probablement pas avec la même répartition des forces dans les nœuds de départ).
La répartition des forces sur les nœuds d'éléments de maillage a été implémenté il y a des années, et les développeurs ont pondérés les valeurs aux nœuds pour tenir compte de l'effet de bord et pour que la répartition soit réaliste. Pour memo le sujet: https://forum.freecadweb.org/viewtopic.php?f=18&t=10692

Il n'y a pas correspondance effective entre ces 2 conditions d'entrée, et surtout elles donnent des déformées différentes alors qu'elles sont sensées des résultats identiques.
Sans te manquer de respect, je pense que tu te trompes. Tu compares des choses qui ne sont pas équivalentes de mon point de vue, parfois proches (suivant la modélisation) mais jamais équivalentes. Ma vision des choses correspond je pense à ce que t'a répondu @fandal sur le forum FEM.
Je te dirais qu'une force pousse mais ne guide pas le modèle. Un déplacement induit des efforts de réaction, mais il guide aussi le modèle, plus ou moins selon les dégrés de libertés bloqués et la géométrie à laquelle il est appliqué.
J'espère que je suis claire? :roll:

Exemple d'aberration des forces équivalentes en une zone:
Aberration Force equivalente.png
Force equivalente.PNG
Et bien par exemple dans les images que tu as envoyé:
- dans le cas du déplacement nul imposé, la surface (ou l'arrête circulaire je ne sais pas) que tu as bloquée voit une force de réaction, mais tous les nœuds de cette surface sont également bloqués, donc ils rigidifient artificiellement la zone. D'ou l'importance de contraindre judicieusement son modèle pour qu'il soit réaliste.
- dans le deuxième exemple ou tu appliques une force équivalente à l'effort de réaction précédent (le modèle étant pour rappel soumis à la gravité), la force induit des contraintes et une déformation locale bien plus forte car la zone du modèle n'est rigidifié par rien, seule la propre rigidité du modèle s'oppose aux déformations locales.
C'est claire pour toi?
46Cpi
Posts: 41
Joined: Wed Apr 15, 2020 6:36 am

Re: FreeCad FEM exploitation des résultats

Postby 46Cpi » Wed May 27, 2020 3:23 pm

la force induit des contraintes et une déformation locale bien plus forte car la zone du modèle n'est rigidifié par rien, seule la propre rigidité du modèle s'oppose aux déformations locales.
C'est claire pour toi?
Ce qui est clair pour moi dans le domaine élastique, c'est que force et déplacement sont intimement liés par les lois de la mécanique, en faisant référence aux vieux cours sur les essais de traction ou de compression ...

Donc dans l'exemple précité, si les forces étaient appliqués aux nœuds conformément de la liste du résultat FEM (du nœud 46 au nœud 40317), l'objet toujours soumis à son poids aura un déplacement nul dans cette zone (comme dans la simulation initiale qui a révélé cette liste de valeurs de forces).
Dans la zone et autour du demi-cercle l'objet descend sous son poids, mais l'ensemble des forces de la liste appliquées vers le haut dans le demi cercle, remonte la zone du demi-cercle pour arriver à un déplacement nul comme initialement la contrainte de déplacement nul sous le poids l'avait fait.
Et de ce fait il ne devrait pas y avoir une déformation locale bien plus forte comme tu l'évoque, il ne devrait pas y avoir une concentration de contrainte comme dans la 3ième vue de l'image, ou la force totale (simple somme des forces de la liste) semble être appliqué en un seul nœud ce qui change tout.

Ou alors je n'ai rien compris à la mécanique ... :D
C'est possible car je n'ai pas tout compris dans le reste de ta réponse :roll:
User avatar
-alex-
Posts: 898
Joined: Wed Feb 13, 2019 9:42 pm
Location: France

Re: FreeCad FEM exploitation des résultats

Postby -alex- » Wed May 27, 2020 4:37 pm

46Cpi wrote: Wed May 27, 2020 3:23 pm Ce qui est clair pour moi dans le domaine élastique, c'est que force et déplacement sont intimement liés par les lois de la mécanique.
Ou alors je n'ai rien compris à la mécanique ... :D
Bon, j'étais en train de te répondre mais ma connexion internet vient de lâcher....
Là en données mobile c'est galère pour moi, je te répond rapidement du coup, désolé.
Sur la mécanique t'as compris, c'est sur l'impacte des appuis sur le modèle que tu ne perçois pas la différence avec une force. Une force s'applique sur le modèle sans le guider, alors qu'un déplacement imposé si.
Par exemple, ton miroir en appui z=0 sur des faces circulaires, c'est comme si il était collé a des appuis infiniment rigides, ce qui n'est pas la même chose que s'il est juste posé.
Et le même miroir en appui sur des forces c'est comme si il était supporté par des jets d'air comprimé.
Maintenant imagines que ton miroir est une feuille mince de caoutchouc et j'espère que tu visualisera encore mieux la différence de déformé au niveau des appuis.
En tout cas si tu veux avancer tu peux faire un modèle 2D que tu contraint en z=0 sur les arrêtes circulaires de tes appuis et que tu stabilises comme dans la plaque 2D que j'ai joints ci-dessus. C'est l'idée en tout cas.
A dans quelques jours...
46Cpi
Posts: 41
Joined: Wed Apr 15, 2020 6:36 am

Re: FreeCad FEM exploitation des résultats

Postby 46Cpi » Thu May 28, 2020 5:35 pm

Alex, j’espère que ta liaison internet a pu être rétablie

Bon grâce à ton aide, j’ai pu avancer, mais reste tout de même mon problème de base, pouvoir définir le meilleur barillet du miroir à partir des rapports des forces équivalentes aux déplacements et faire varier ces forces pour quantifier les variations inhérentes aux incertitudes de fabrication du barillet. Perso je pense que l’atelier FEM doit être l’outil ad-hoc.

Sans connaître toutes les finesses de FreeCad et de loin, j’ai constaté que la « force équivalente » ne correspondait pas aux déplacements. De ton coté Alex tu m’explique que la force équivalente de FreeCad était conçue pour plus de réalisme (sans collage) ...

Ok, je ne remets pas tes propos en doute car je n’en ai pas la compétence. Cependant mes arguments déjà présentés et résumés une nouvelle fois par la vue ci-après :
Force-Deplacement.png
Force-Deplacement.png (356.77 KiB) Viewed 271 times
Cette vue montre que la force n’est pas appliqué sur la zone du demi cercle (en ses nœuds) mais qu’elle est concentrée avec tous les changements que cela implique … poinçonnage ... (et pour une force de pression c’est ...)
Mais encore une fois je peux me trompé. Alors … lire la suite.
Last edited by 46Cpi on Thu May 28, 2020 5:47 pm, edited 2 times in total.