FEM Pipeline units on last dev versions

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
NewJoker
Veteran
Posts: 3018
Joined: Sun Oct 11, 2020 7:49 pm

Re: FEM Pipeline units on last dev versions

Post by NewJoker »

uwestoehr wrote: Fri May 27, 2022 12:27 am Please open a feature request issue for this..
user1234 wrote: Fri May 27, 2022 12:55 am Sadly i have not github account.
I created a GitHub FR for that: https://github.com/FreeCAD/FreeCAD/issues/6922
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FEM Pipeline units on last dev versions

Post by uwestoehr »

NewJoker wrote: Fri May 27, 2022 9:15 am I created a GitHub FR for that: https://github.com/FreeCAD/FreeCAD/issues/6922
Thanks.
user1234
Veteran
Posts: 3345
Joined: Mon Jul 11, 2016 5:08 pm

Re: FEM Pipeline units on last dev versions

Post by user1234 »

NewJoker wrote: Fri May 27, 2022 9:15 am I created a GitHub FR for that: https://github.com/FreeCAD/FreeCAD/issues/6922
Thanks!

wmayer wrote: Fri May 27, 2022 3:31 pm
user1234 wrote: Thu May 26, 2022 11:27 pm Not really a bug, since it seems intended, but i think it should be changed like the behavior before, because it is (at least in my opinion) misleading and not standard the way this handled (it was standard before).

https://forum.freecadweb.org/viewtopic.php?t=68010

- the the pipeline graph its visibility depends on its position of in the tree. For example it is invisibility when it is in a Part Container.
This is clearly a bug. Currently an object that takes over another object doesn't handle the front or back nodes.

Fixed with https://github.com/FreeCAD/FreeCAD/pull/6923
Thanks! I tested it. The issue is solved in the PR.


Generally i found an other issue, which must be pretty new (master and PR tested). I can not delete the result (not the pipeline) more, even in the context menu. Then i get the error:

Code: Select all

Traceback (most recent call last):
  File "/home/user/Programs/FreeCAD_e0fe645f73bb755fab351f132296c71d973d8acf/Mod/Fem/femviewprovider/view_result_mechanical.py", line 70, in onDelete
    bodyMessage += "\n" + obj.Label
1.webm
(137.73 KiB) Downloaded 22 times

uwestoehr wrote: Fri May 27, 2022 1:09 am SI is THE standard almost everyone uses/understands.
When users claim that they are e.g. machine engineers and therefore length unit mm is the standard, microtech guys say, no it is micron and structural engineers say it is meters.
But what do the electrical engineers say? If the length unit is mm, derived units like volt go crazy.
It have no meaning when you can not work with it. Even the FreeCAD FEM units are mm/N/s.
2.png
2.png (84.7 KiB) Viewed 1643 times

Or when you need displacements, which are pretty small (for hight tensioning screws, which have complexed shapes). Then result is alwyas 0.000m, but you need mm (or sub mm). Here ist shoulde be ~50µm, but i see 0.000m.
3.png
3.png (179.78 KiB) Viewed 1643 times


When you the gradients of the tension and compare and judge it, you have only not practiacal long values with different exponets, where you can made errors. Here a screenhot when i split my screen, which is the way i work the most time.
4.png
4.png (182.22 KiB) Viewed 1643 times
5.png
5.png (192.25 KiB) Viewed 1643 times

I do not see the exponent. So it is useless.


Greetings
user1234
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FEM Pipeline units on last dev versions

Post by uwestoehr »

user1234 wrote: Fri May 27, 2022 7:35 pm I do not see the exponent. So it is useless.
Yes, this is a known issue and there is nothing else you can do than to change the main window's size. This bug is also in FC 0.19 thus no showstopper for FC 0.20.

Concerning the change to the SI system, I thought I made clear why. We need a way to display any kind of results. The problem was eminent when support for electrostatics was added. There you did not get e.g. "1" but "1e6". However the unit you entered as user is volt so when setting a plate to a fixed voltage of 1V the result must also have these 1 V as upper end of the scale.
And a resulting permittivity of 1 F/m cannot just be output as 1e-9. It is not only that as user you go crazy until you understand what is going on, you should also be able to share your results with others.

So from now on every output is pure SI. This is a change in the behavior but opens us the door to support more of the amazing features Elmer provides.

Of course it would be optimal when the unit is displayed behind the number in the scale and that parts long numbers are not displayed is annoying since ever and it is on my ToDo list.

----------

You will also stumble over the change in the pipeline handling:
https://wiki.freecadweb.org/Release_not ... _Workbench

Now you can create e.g. a pipeline from the main result and in parallel a pipeline of a pipeline. This is different than before but also opens the door for fine-grained visualization results. For example you have have 2 semi-transparent pipelines overlapping each other.

We also fixed some bugs in the handling of the cutting plane and sphere.

So in total a lot of user-visible changes. I recommend that you play with them and you will see the benefits.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FEM Pipeline units on last dev versions

Post by uwestoehr »

user1234 wrote: Fri May 27, 2022 7:35 pm Or when you need displacements, which are pretty small (for hight tensioning screws, which have complexed shapes). Then result is alwyas 0.000m, but you need mm (or sub mm). Here ist shoulde be ~50µm, but i see 0.000m.
Can you please attach your file?
I would really like to fix this since this is supper annoying. (I encountered once too but cannot find my file to reproduce).
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FEM Pipeline units on last dev versions

Post by uwestoehr »

uwestoehr wrote: Fri May 27, 2022 11:38 pm I would really like to fix this since this is supper annoying. (I encountered once too but cannot find my file to reproduce).
OK, I found it. Here is an example:
Buckling-Test1.FCStd
(692.09 KiB) Downloaded 18 times
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FEM Pipeline units on last dev versions

Post by uwestoehr »

I searched and we once fixed the number display in April, see this post:
https://forum.freecadweb.org/viewtopic. ... 18#p586118


However the main issue is still that the color gradient bar is too wide to the border, so even when I set the display to show only 1 decimal (by double-clicking on the gradient), there is simple not enough space:
FreeCAD_SSE1on3ySG.png
FreeCAD_SSE1on3ySG.png (47.45 KiB) Viewed 1569 times

@wmayer can we do something here? I tried now on 3 different PCs (2 of them laptops with 15 inch screen) and on none of them, there is enough space right besides the gradient.
I think a solution would be to display the number left besides the gradient instead of right because the model can easily be changed in the size to see the numbers.
User avatar
uwestoehr
Veteran
Posts: 4961
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany
Contact:

Re: FEM Pipeline units on last dev versions

Post by uwestoehr »

Here is an attempt to improve the situation: https://github.com/FreeCAD/FreeCAD/pull/6925

However as you can see in the screencast there, the situation is still not optimal.

What we need is a solution in which we get the bounding box of the labels, take its width and then calculate the necessary shift of the color bar to the left.
Unfortunately, despite the label is a SoGroup and every label is an SoNode and both data types provide the bounding box, I failed to read it in the code.
@wmayer, do you know a way to get the bounding box?

The other issue with my PR is that the gradient dialog does not open when directly clicking on the color bar. The reason is that my attempt to recalculate the gradient size somehow shifts the click area.

So all in all nothing that can go in, however the bug is a major one since as it is in master on a small Laptop screen you are not, because even with only 3 decimals you cannot see the number and then the gradient is somehow useless.
User avatar
johnwang
Veteran
Posts: 1345
Joined: Sun Jan 27, 2019 12:41 am

Re: FEM Pipeline units on last dev versions

Post by johnwang »

uwestoehr wrote: Sat May 28, 2022 2:58 am Unfortunately, despite the label is a SoGroup and every label is an SoNode and both data types provide the bounding box, I failed to read it in the code.
For the scale, you know the max and min of the data. Calculate what space it needed based on that two data, decide a format and then output each label. You can even change pa to MPA in this way if you needed.
hfc series CAE workbenches for FreeCAD (hfcNastran95, hfcMystran, hfcFrame3DD, hfcSU2 and more)
wmayer
Founder
Posts: 20243
Joined: Thu Feb 19, 2009 10:32 am
Contact:

Re: FEM Pipeline units on last dev versions

Post by wmayer »

user1234 wrote: Fri May 27, 2022 7:35 pm Generally i found an other issue, which must be pretty new (master and PR tested). I can not delete the result (not the pipeline) more, even in the context menu. Then i get the error:
Can't confirm the issue. When I select the CCX_Results object and either press the Delete key or open the context-menu and press Delete a dialog pops up and after pressing OK the objects will be removed. Can you post the full error message, please?

EDIT:
From your video I saw that your CXX_Results object has no mesh as child object. Now when I first delete the mesh and then the result object I get this error, too. The full error message is:

Code: Select all

Traceback (most recent call last):
  File "/home/user/Projects/build_clang/Mod/Fem/femviewprovider/view_result_mechanical.py", line 70, in onDelete
    bodyMessage += "\n" + obj.Label
<class 'AttributeError'>: 'NoneType' object has no attribute 'Label'
This is because the function claimChildren() returns a list where an element is None.

EDIT2:
git commit a80d9e5ef8
Post Reply