Frequency analysis for cylindrical shell

About the development of the FEM module/workbench.

Moderator: bernd

User avatar
johnwang
Veteran
Posts: 1345
Joined: Sun Jan 27, 2019 12:41 am

Re: Frequency analysis for cylindrical shell

Post by johnwang »

thschrader wrote: Mon Jan 17, 2022 3:14 pm When using only z-fixings below, the first 3 Eigenmodes are missing.
Which file can get the first 3 modes? I am using the the later one.
fre.jpg
fre.jpg (34.6 KiB) Viewed 1455 times
hfc series CAE workbenches for FreeCAD (hfcNastran95, hfcMystran, hfcFrame3DD, hfcSU2 and more)
mac_the_bike
Posts: 42
Joined: Sun Jun 30, 2019 12:56 pm

Re: Frequency analysis for cylindrical shell

Post by mac_the_bike »

Click: SolverCcxTools
In the lower panel, whose name I don't known, under the Fem heading choose the 5th entry, "EigenModeLowLimit" and set it to a negative number. If you have a sensible model then you can set it to -1.0 and that should give all 6 of your Rigid Body Modes. In fact, you can set it to any value.

If Mr berndt reads this then:
1 - if I:

Code: Select all

Part WB: create cube
FEM WB:  create analysis
         create Material
         create mesh
then I can't set the "EigenModeLowLimit" to a negative value. Why is this still a restriction? I also can't input a float numbers, 2.0E6.

2 - you don't always get the number of modes requested. I think this is something to do with EigenValues that are less than 0.0.

3 - the "EigenModeFrequency" is printed as 0.0 even though the frequency can be, something like, 0.2514237E-02. Why can't the output format be changed so that all possible values can be output?
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Frequency analysis for cylindrical shell

Post by bernd »

If the model is not fixed in a dof the eigenmode is near 0. In fem pref the eigenmodes near 0 are omitted, because normally not needed. Adjust Prefs to see them should work.
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Frequency analysis for cylindrical shell

Post by bernd »

Try a box without fix. AFAIK the first six eigenmodes will be near 0.
mac_the_bike
Posts: 42
Joined: Sun Jun 30, 2019 12:56 pm

Re: Frequency analysis for cylindrical shell

Post by mac_the_bike »

Code: Select all

OS: Ubuntu 22.04 LTS (GNOME-Flashback:GNOME/gnome-flashback-metacity)
Word size of FreeCAD: 64-bit
Version: 0.20.29177 (Git) AppImage
Build type: Release
Branch: (HEAD detached at 0.20)
Hash: 68e337670e227889217652ddac593c93b5e8dc94
Python 3.9.13, Qt 5.12.9, Coin 4.0.0, Vtk 9.1.0, OCC 7.5.3
Locale: English/United Kingdom (en_GB)
If the model is not fixed in a dof the eigenmode is near 0. In fem pref the eigenmodes near 0 are omitted, because normally not needed.
I disagree with the last sentence.
The first task to perform after generating a FEModel is to check validity of the mesh.
By which I mean: can the model undergo Rigid Body Motion, RBM, without generating internal stresses.
This has to be performed with a model at constant temperature - any temperature gradients will generate stresses.
There are 2 methods of doing this:
  • 1 - static analysis with 6 cases each imposing a RBM on the model
    case 1 - RBM translation in the x direction
    case 2 - RBM rotation about the x direction, axis
    etc....
  • 2 - vibration analysis, free-free
    There should be 6 RBMs. If there are more then perhaps there could be a hinge in the model, which may be what is wanted. If there are less, then one of the causes could be that there is a constraint that should not be in the model.
If the model generates stresses in either of these methods, then the mesh must be checked because any analysis performed will have stresses due to the applied loads PLUS additional stresses due to any RBM.
In conclusion, rather than saying "because normally not needed" - it should read "will always be needed".
Adjust Prefs to see them should work.
Do you mean Edit->Preferences->Fem->CalculiX->Low frequency limit?
Can't set a negative value.
Try a box without fix. AFAIK the first six eigenmodes will be near 0.
Yes - and, generally, some will be negative.
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Frequency analysis for cylindrical shell

Post by bernd »

mac_the_bike wrote: Fri Jul 15, 2022 10:53 am
Adjust Prefs to see them should work.
Do you mean Edit->Preferences->Fem->CalculiX->Low frequency limit?
Can't set a negative value.
Try a box without fix. AFAIK the first six eigenmodes will be near 0.
Yes - and, generally, some will be negative.
yes. But keep in mind this pref will be overwritten by the solver attribute. Select the solver and in property view adjust the value for your needs. You can even double click on the ccx_dat_file object There you can see the output of CalculiX.

For me Calculix does not return any negative value for a cube ... See attached picture. May be the first one, which is even ommited by CalculiX itself.

bitmap.png
bitmap.png (107.76 KiB) Viewed 1302 times
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Frequency analysis for cylindrical shell

Post by bernd »

mac_the_bike wrote: Fri Jul 15, 2022 10:53 am
If the model is not fixed in a dof the eigenmode is near 0. In fem pref the eigenmodes near 0 are omitted, because normally not needed.
I disagree with the last sentence.
The first task to perform after generating a FEModel is to check validity of the mesh.
By which I mean: can the model undergo Rigid Body Motion, RBM, without generating internal stresses.
This has to be performed with a model at constant temperature - any temperature gradients will generate stresses.
There are 2 methods of doing this:
  • 1 - static analysis with 6 cases each imposing a RBM on the model
    case 1 - RBM translation in the x direction
    case 2 - RBM rotation about the x direction, axis
    etc....
  • 2 - vibration analysis, free-free
    There should be 6 RBMs. If there are more then perhaps there could be a hinge in the model, which may be what is wanted. If there are less, then one of the causes could be that there is a constraint that should not be in the model.
If the model generates stresses in either of these methods, then the mesh must be checked because any analysis performed will have stresses due to the applied loads PLUS additional stresses due to any RBM.
In conclusion, rather than saying "because normally not needed" - it should read "will always be needed".
Mhh, you are right, but I am right too. I just forgot by me at the end. In a lot of cases I just would like to make some nice pictures for the forum. There for sure I do not need the first six ones. I need the ones which do bend the modell in a good looking shape.
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Frequency analysis for cylindrical shell

Post by bernd »

solver attribute:

definition of the attribute is made here: https://github.com/FreeCAD/FreeCAD/blob ... #L182-L189
User avatar
bernd
Veteran
Posts: 12849
Joined: Sun Sep 08, 2013 8:07 pm
Location: Zürich, Switzerland
Contact:

Re: Frequency analysis for cylindrical shell

Post by bernd »

mac_the_bike wrote: Thu Jul 14, 2022 11:18 am 3 - the "EigenModeFrequency" is printed as 0.0 even though the frequency can be, something like, 0.2514237E-02. Why can't the output format be changed so that all possible values can be output?
seams to be because of the PropertyView panel.

Code: Select all

>>> 
>>> App.ActiveDocument.CCX_EigenMode_2_Results.EigenmodeFrequency
0.002914229
>>> 
where as the propertyview only shows 0.00
mac_the_bike
Posts: 42
Joined: Sun Jun 30, 2019 12:56 pm

Re: Frequency analysis for cylindrical shell

Post by mac_the_bike »

yes. But keep in mind this pref will be overwritten by the solver attribute. Select the solver and in property view adjust the value for your needs. You can even double click on the ccx_dat_file object There you can see the output of CalculiX.
It is not a problem that they are overwritten, it may be a small annoyance, but I want to have the option to change the value.
I have noticed that if you read in an FCStd file, then you can change the lower limit.
For me Calculix does not return any negative value for a cube ... See attached picture. May be the first one, which is even omitted by CalculiX itself.
Yes but did you ask for negative values? Calculix will always return what you request, provided it is possible, e.g. it can't return modes less than 10Hz if there aren't any. It doesn't return what you don't request, e.g. if you don't request negative eigenvalues then it doesn't return them.
Also, MAYBE is not really good enough is it? You need unequivocal evidence that it is.
It is interesting to see that the first mode that is output, 0.291E-02, has a label of "Mode 2", but the first mode in the 'PARTICIPATION FACTORS' is 1.
Mhh, you are right, but I am right too. I just forgot by me at the end. In a lot of cases I just would like to make some nice pictures for the forum. There for sure I do not need the first six ones. I need the ones which do bend the model in a good looking shape.
The purpose for calculating the RBMs is to check the model. I agree that generally you would want to show pictures of mode shapes from an analysis where the model is earthed. [sarcasm]It's good when we are both right[/sarcasm]
Post Reply