Result Contours are not displayed.

About the development of the FEM module/workbench.

Moderator: bernd

Post Reply
mac_the_bike
Posts: 34
Joined: Sun Jun 30, 2019 12:56 pm

Result Contours are not displayed.

Post by mac_the_bike »

Mon 13 Jun 13:27:00 BST 2022

Result Contours are not displayed. (I don't know if this the correct term.)

There are 2 problems that I am having.

Problem 1: No Contours.

I am running: FreeCAD_weekly-builds-28945-2022-05-29-conda-Linux-x86_64-py39.AppImage

The attached file shows the problem.
  • 1st contour1 -
    click on "CCX_EigenMode_1_Results"
    click on "Displacement Magnitude"
    the contours are shown on the "ResultMesh"
    click "Close"
  • 2nd contour2 -
    on return, the "ResultMesh" is not visible
    click on "ResultMesh" and press "Enter" to make visible
    no contours are displayed
Is this the way Version 20 works for everybody or is it just me?
Is there a new AppImage that cures this problem?
If there is, is there a new freecad_source.tar.gz that also cures it?

Problem 2: where is "pyside2uic".

On May 30 I downloaded: freecad_source.tar.gz

I have done this as I am writing a piece of code to be added to the FEM WB.
I have compiled and created my version of Freecad, V20, and this exhibits the same behaviour.

I get the following message when importing a module:
>>> import mouse
starting mouse (Comment: this is output from the program)
>>> o = mouse.ViewObserver()
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "<string>", line 458, in <module>
File "<string>", line 38, in __init__
File "<string>", line 1, in <module>
File "/usr/lib/python3/dist-packages/shiboken2/files.dir/shibokensupport/__feature__.py", line 142, in _import
return original_import(name, *args, **kwargs)
ModuleNotFoundError: No module named 'pyside2uic'

This doesn't happen in the AppImage version.

What is the "simple" solution to this?
How do the AppImage version and my downloaded source version differ?

Code: Select all

OS: Ubuntu 22.04 LTS (GNOME-Flashback:GNOME/gnome-flashback-metacity)
Word size of FreeCAD: 64-bit
Version: 0.20.28945 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0fb7cd9)
Hash: 0fb7cd9758d850f536d571cc094c9833fee18fff
Python 3.9.13, Qt 5.12.9, Coin 4.0.0, OCC 7.5.3
Locale: English/United Kingdom (en_GB)
Attachments
contour5.jpg
contour5.jpg (94.51 KiB) Viewed 567 times
NewJoker
Veteran
Posts: 1179
Joined: Sun Oct 11, 2020 7:49 pm

Re: Result Contours are not displayed.

Post by NewJoker »

mac_the_bike wrote: Tue Jun 14, 2022 12:37 pm Is this the way Version 20 works for everybody or is it just me?
I think that it's a normal behavior and it always worked this way. At least in 0.19 it also behaves like that. You have double-click the result object and select a variable again after closing it. To create persistent contour plots (and with legend) use FEM PostPipelineFromResult.
Jee-Bee
Veteran
Posts: 2485
Joined: Tue Jun 16, 2015 10:32 am
Location: Netherlands

Re: Result Contours are not displayed.

Post by Jee-Bee »

That don't mean we should it leave that way.
There are lots of user experience improvements possible in the FEM WB. This is one of them.
mac_the_bike
Posts: 34
Joined: Sun Jun 30, 2019 12:56 pm

Re: Result Contours are not displayed.

Post by mac_the_bike »

Thanks for your replies.


I used to run FreeCAD Version 18 in Ubuntu 18.04 and this version shows the contours after going back into the tree view, see Attachment.

I will call "CCX_EigenMode_1_Results" type things "Result Entity".

I have tried the ResultPipeLine with a vibration analysis. The following observations spring to mind:

1 There doesn't appear to be any method by which you can tell which set of results are being plotted in the PipeLine display.

2 If I have gone into the Result Entity section and set the type of contour to be plotted, why is this setting not used in the PipeLine? Having a second place where you specify the type of contour leads to confusion about what is being plotted.

3 The scale doesn't change when you select another set of results.

4 The "Calculate and Plot" function in the Result Entity is not available.

At this point I am going to say something that may be controversial:
Remove all of the PipeLine functions except for the scale. Use the Result Entity to define what is to be plotted.

HELP - WHY SCALE THE RESULTS?

Part 1:
My analyses use: Standard (mm/kg/s/degree):Default
So I would expect displacements to be plotted in mm's, not metres. There should be no mention of units in Post-Processing - the calculated values, not scaled, should be used in all plots.

Part 2:
I was interested to see what happens if the model is in Imperial Units, "Imperial decimal(in/lb)".
I have created a model and used the FreeCAD material properties. (I have pretended that the values in the ".inp" file are imperial.) By implication, the nodal coordinates and displacements are in inches.

When I go into the Result Entity and look at the min and max x displacement values I find that these numbers, which are in inches because I am using Imperial units, are the calculated values divided by 25.4. I have not looked at any of the other types of data that can be plotted, e.g. stress.

Also:
In the Edit->Preferences->General->Units there is an inconsistency in the definition of the various unit systems. Some, like the Standard, have 4 base units and others, like Imperial, have a random number. Some, like the Building Euro's units, are nonsense.

Also:
When you go into the Result Entity section the frequencies are printed using %.2f format, which means that small frequencies are printed as 0.0. A better format would be something using %g.

Also:
At a complete tangent, even for me, in the "Calculate and plot" section could there be a "Conditional Statement" option. For example:
1 [ x > 10 ] - where this is True if returns the value 1, False returns 0. The plot will then consist of 2 contours, 0 and 1.

2 [[ x > 10 ] and [ y < 4 ]] - as above.


Code: Select all

OS: Ubuntu 18.04.6 LTS
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.18.4.
Build type: Release
Python version: 2.7.15+
Qt version: 5.9.5
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: English/UnitedKingdom (en_GB)
Attachments
version20_3.jpg
version20_3.jpg (63.48 KiB) Viewed 379 times
User avatar
johnwang
Veteran
Posts: 1090
Joined: Sun Jan 27, 2019 12:41 am

Re: Result Contours are not displayed.

Post by johnwang »

mac_the_bike wrote: Fri Jun 17, 2022 1:42 pm Remove all of the PipeLine functions except for the scale. Use the Result Entity to define what is to be plotted.
Were there scale for CCx result before? I thought there were, but now I cannot confirm it.

Pipeline is good for those solver which can generate vtk result file.

The unit change makes fem result useless.
hfc series CAE workbenches for FreeCAD (hfcNastran95, hfcMystran, hfcFrame3DD, hfcSU2 and more)
User avatar
uwestoehr
Veteran
Posts: 4273
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

Re: Result Contours are not displayed.

Post by uwestoehr »

mac_the_bike wrote: Fri Jun 17, 2022 1:42 pm Remove all of the PipeLine functions except for the scale. Use the Result Entity to define what is to be plotted.
At first please upgrade to FreeCAD 0.20. You will benefit from many bugfixes and the workflow has changed.

The pipeline provides you with the info you need. For example you can click into the result mesh to see the result at this position (with its unit). For example to check if your mesh has a proper size.

The CCX panel was never really useful since it could not visualize results in a permanent way. You could e.g. not select a certain lane you want results from, or hive all mesh result knots under a certain result value. In effect it was a quick preview of the results - you only got the info of the overall minimal and maximal value and could play with the warp filter for deformations, that was it and apparently not very useful.
User avatar
uwestoehr
Veteran
Posts: 4273
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

Re: Result Contours are not displayed.

Post by uwestoehr »

johnwang wrote: Sat Jun 18, 2022 8:40 am Pipeline is good for those solver which can generate vtk result file.

The unit change makes fem result useless.
What do you mean with these statements? The solver is independent of the VTK file. FreeCAD generates the VTK mesh from the solver results, this works for all solvers, now also for Z88.

And why are the results useless? Because you get e.g. a displacement of a beam now as "3.4e-3" instead of "3.4" for a mm-based unit system.
Post Reply