Rectangular plate modal analysis

Hello CalculiX users, I have a question about calculix frequency step. I wanted to know the Eigenfrequencies of a rectangular plate, When I make free-free BC and let calculix calculate the first 20 Eigenfrequencies it always skip alot of them. How to avoid such a thing?

Hi Aly and welcome,

That’s most probably a lack of refinement. Specially if you are requesting a large number of modes (High frequencies). Keep in mind your model should have a mesh size small enough to capture the smallest expected deformation pattern.

Refine by x2 or x4 and let us know.

1 Like

The mesh was 60x60 structured shell elements

Also, I care about the low Eigenfrequencies not the large ones… calculix skips the low Eigenfrequencies

1 Like

Dimensions of the plate, element , solver ?. Will be easier and will be able to compare.

1 Like

Did you try setting the lower and upper bound for the frequency step ?

1 Like

430x302x1.5 mm³ , aluminium , spooles solver

I’m not sure if i do that correctly… But i think in ccx manual its written that the software will solve normally as always but will just extract the frequencies between the limits

Can you post your *.inp files? I’ve experienced issues with free-free modal requests in the past with pastix and spooles. So far, in my experience, pardiso performs much better in these requests.

You can try requesting frequencies in the lower range (starting from 0 Hz to capture the rigid body modes too) and reducing the number of frequencies to be calculated. Issues with modal analyses are quite common in CalculiX (especially when using PaStiX but also with other solvers).

1 Like

How to use pardiso on windows? Or how to install calculix correctly on windows? I was only able to install calculix on linux but currently im using windows and I don’t know how to get all its features

This is what I get with PArdiso (Spools the same).

Mode EIGENVALUE RAD/TIME Hz E 6.90E+10 [Pa]
1.00 54,881 234.27 37.28 Poisson 0.334
2.00 70,564 265.64 42.28 a 430 [m]
3.00 301,490 549.08 87.39 b 302 [m]
4.00 319,186 564.97 89.92 r 2700 [Kg/m3]
5.00 472,551 687.42 109.41 h 1.50E-03 [m]
6.00 649,317 805.80 128.25
7.00 1,074,194 1,036.43 164.95 m 4.05 [Kg/m2]
8.00 1,326,581 1,151.77 183.31
9.00 2,276,238 1,508.72 240.12
10.00 2,368,427 1,538.97 244.93
11.00 2,917,362 1,708.03 271.84
12.00 3,057,290 1,748.51 278.28
13.00 3,158,500 1,777.22 282.85
14.00 4,700,708 2,168.11 345.07
15.00 6,227,352 2,495.47 397.17
16.00 6,388,353 2,527.52 402.27
17.00 7,387,391 2,717.98 432.58
18.00 8,196,915 2,863.03 455.66
19.00 9,397,854 3,065.59 487.90
20.00 10,165,630 3,188.36 507.44
21.00 12,625,010 3,553.17 565.50
22.00 13,049,210 3,612.37 574.93
23.00 13,462,920 3,669.19 583.97
24.00 14,393,790 3,793.92 603.82
Pardiso

You don’t have to install it on Windows. Just put the solver’s executable file (ccx_static.exe) in the same folder as the input file for the analysis that you want to run. Then open the command window in that directory and type ccx_static input_file_name. Of course, you can also add an environment variable to avoid the necessity of placing the solver’s file in the same directory as the input file. Pardiso requires some additional libraries but try with other solvers first.

Very similar values- attached are the input and result files using pardiso, spooles, and pastix:


Can you please explain briefly the meaning of the 1e-9 and the second line?
Also, the results are missing lower frequencies as i said.
I don’t know why solid sections gives less accurate results than shell elements in this example I mean the “37 Hz” here should be around “35 Hz” . I’m exciting that plate harmonically in the laboratory and i got about 3 frequencies below that 35 Hz

The second item of the second line of the *FREQUENCY keyword is the lower bound of the requested frequency range. It’s set to 1e-9 which is almost zero but not exactly zero - apparently an attempt to obtain rigis body modes (with eigenfrequencies close to 0).

The *OUTPUT, FREQUENCY=1 keyword means that the results of every increment are saved. It’s primarily meant for nonlinear analyses, this way you can make sure that you don’t skip any increments in results.

Okayyy, thanks alot… can you tell me what libraries are needed to be able to use pardiso

You can find them here: PrePoMax

Precisely. Thanks @Calc_em!

I followed this guide and script: FEA Cluster Section: v2.19 Linux executable with the Intel Pardiso Solver