Modal analysis of solid unshaped cylinder -- no torsional modes

I’m running a modal analysis on a solid unshaped cylinder (40.0 mm dia x 126.54 mm long). This is a full 3D model, completely unconstrained.

Mecway (calculix) with tets or bricks gives the following frequencies –
9311 – first bending
12357 – first torsional
20012 – axial
20347 – second bending
24717 – second torsional
Both torsional frequencies and the axial frequency agree with the theoretical.

PrePoMax with C3D10 tets gives the following frequencies –
9311 – first bending
11505 – unknown oddly nonsymmetric
20097 – axial with considerable interaction with second bending mode
20347 – second bending
23944 – unknown oddly nonsymmetric

The Mecway and PrePoMax models both have 3823 elements. In fact, the PrePoMax model was imported from the Mecway inp file.

Thus, the PrePoMax bending frequencies agree exactly with the Mecway frequencies. The axial frequencies agree well enough. However, PrePoMax doesn’t give any torsional modes and two modes are oddly nonsymmetric.

Since the torsional modes place the elements in shear, I wonder if the shear modulus may be a problem (I couldn’t see where to find this value).

The material properties are –
Density = 4425 kg/m³
Young’s modulus = 115100000000 Pa
Poisson’s ratio = 0.33

I would be grateful if someone could model this and see if their results agree with mine.
(As a new member I can’t upload my model. Perhaps the moderator could lift this restriction.)

Please let me know if you need any more information.

Thanks,
Don C.

To share a file you could use some hosting website (like Google Drive, Dropbox or WeTransfer) and paste the link here. It’s important to know which version of CalculiX and which of its solvers is used in each case.

Here are links to dropbox files –

Let me know if any other files are required.

Solvers –
Mecway – from ccx_win64_mkl_pardiso_source_2.19.zip
PrePoMax – ccx_static.exe from PrePoMax download 1.3.5.1 (as listed in \Settings\Solver).
The readme_install file says that this is 2.20.

Note that Mecway also has an internal ccx solver which gives the same results.

You should get better results (including missing mode shapes) if you switch from the default solver (currently PaStiX) to e.g. Spooles. Apparently, PaStiX still has some issues with modal analyses even though it was claimed that they were fixed some time ago. I think that it would be good to report this issue on the CalculiX forum.

You say that the default solver is PaStiX. Is this the same as ccx_static.exe? The path to my solver is –
D:\Engineering\PrePoMax\Download v1.3.5.1 2022-02-04\PrePoMax v1.3.5.1\Solver\ccx_static.exe
Can I just change the path to point to the spooles or is there some installation required?

I have ccx_spooles.exe from PrePoMax v.0.9.0 but nothing else. Is that the most recent spooles version or, if not, where can I find it?

Did you try my model to make sure that I’m not doing some stupid?

Thanks.

I tried the model with ccx_spooles.exe from PrePoMax v.0.9.0 (just including it in the solver path). The results now agree with Mecway –
9311 – first bending
12357 – first torsional
20012 – axial (no significant interaction with the second bending mode)
20347 – second bending
24716 – second torsional

Is there a more recent spooles version? If so, where can I find it? (My ccx_spooles.exe file date is 11/23/2019 but I’m not sure if this is the compiled date or the download date.)

(It might be a good idea if spooles were included in the PrePoMax download, possibly make it the default unless it causes other problems.)

it’s already done in ccx_static.exe, user can switch between five solver available. except for Pardiso solver were it need MKL libraries copied before.

The solver that caused the problem was “Default” (you indicated that this is PaStiX). Is there a reason that Spooles isn’t the default – i.e., does it cause problems elsewhere? (In addition to giving the correct results, Spooles is at least 2x faster then PaStiX for this model.)

Is there any info on which solver should be used under which circumstances?

As I said, PaStiX is now the default CalculiX solver because it’s several times faster than Spooles (which used to be the default solver in the past). But apparently, there are still some issues with PaStiX, mainly with modal analysis. I will describe this case on the CalculiX forum and e-mail Guido if he doesn’t respond to this and other issues reported recently.

firstly it depend on processor vendor being used, AMD or Intel?

i would recommended PaStiX for general processor, moderate to large mesh, quasi static or cyclic with nonlinearity in multipart contact and plasticity analysis.

for dynamic analysis, it prefer Spooles for medium mesh or Pardiso solver for large mesh. an AMD processor still can be use MKL libraries even not optimized.

it seems PaStiX as Default solver is best choices, except for dynamic analysis which need to double check. someone can do preliminary models using coarse mesh firstly and use Spooles as solver for comparisons.

PaStiX is fairly new solver implementation in CalculiX, still being improves in each release.

I ran the same model but with bricks (mainly) and some wedges. When using Spooles, the results were the same as the previous good tets model. However, when using PaStiX the model again misbehaved, with either the C3D20 or C3D20R bricks. Thus, the poor modal results with PaStiX aren’t affected by the 3D element type.

Is there a way to see how many elements of a certain type are in the model (e.g., how many bricks, how many wedges, etc,)?

Can the default solver be changed (perhaps in a config file) rather than remembering to change it for each modal analysis?

I maintain that a solver that gives incorrect results shouldn’t be the default. In my case I recognized that the PaStiX results were incorrect. However, someone else might proceed blindly and take the incorrect results at face value. (For this simple model the torsional and axial frequencies are easy to check against handbook calcs. However, such verification typically wouldn’t be possible for complex models.)

Query → Part/Assembly but this only gives the total number of elements.

Tools → Settings → CalculiX → Default solver

right, maybe cause of this CalculiX latest versions automatically switch to Pardiso solver for frequency analysis.

to activated these feature, a user need MKL libraries copied to the folder contains ccx_dynamic.exe