Totally different results between Spooles and Pardiso for frequency calculation

I am trying to make sense of why results are totally different for the simplebeampipe3.inp verification model. When comparing spooles to pardiso, the Eigenvalues are the same, which is good. But the rest of the results are way off, i.e:

  •  P A R T I C I P A T I O N   F A C T O R S
    
  •  E F F E C T I V E   M O D A L   M A S S
    
  •  T O T A L   E F F E C T I V E   M A S S
    
  •  displacements (vx,vy,vz) for set NALL and time  0.1000000E+01
    

Here is the reference output from Spooles:

                    E I G E N V A L U E    N U M B E R     1


 displacements (vx,vy,vz) for set NALL and time  0.1000000E+01

         1  8.780935E+04 -9.410441E+03 -2.194838E-09
         2  8.174514E+04 -8.760545E+03 -2.181935E-09
         3  7.568498E+04 -8.111084E+03 -2.127763E-09
         4  6.963762E+04 -7.462994E+03 -2.034483E-09
         5  6.361970E+04 -6.818060E+03 -1.970022E-09
         6  5.765153E+04 -6.178457E+03 -1.803755E-09
         7  5.176004E+04 -5.547072E+03 -1.692570E-09
         8  4.597521E+04 -4.927117E+03 -1.581725E-09
         9  4.033238E+04 -4.322381E+03 -1.454339E-09
        10  3.486933E+04 -3.736911E+03 -1.345882E-09
        11  2.962811E+04 -3.175215E+03 -1.249305E-09
        12  2.465257E+04 -2.641991E+03 -1.142439E-09
        13  1.998934E+04 -2.142237E+03 -1.040235E-09
        14  1.568658E+04 -1.681115E+03 -9.003429E-10
        15  1.179557E+04 -1.264120E+03 -7.928946E-10
        16  8.367663E+03 -8.967541E+02 -6.600942E-10
        17  5.451494E+03 -5.842312E+02 -5.248921E-10
        18  3.098980E+03 -3.321146E+02 -3.959286E-10
        19  1.377385E+03 -1.476130E+02 -2.628298E-10
        20  3.438419E+02 -3.684919E+01 -1.317702E-10
        21  0.000000E+00  0.000000E+00  1.615587E-27

Which you can compare to Pardiso:

                    E I G E N V A L U E    N U M B E R     1


 displacements (vx,vy,vz) for set NALL and time  0.1000000E+01

         1  8.694114E+04  1.550084E+04 -2.719332E-09
         2  8.093689E+04  1.443034E+04 -2.704951E-09
         3  7.493666E+04  1.336055E+04 -2.687642E-09
         4  6.894909E+04  1.229302E+04 -2.651007E-09
         5  6.299067E+04  1.123068E+04 -2.646942E-09
         6  5.708150E+04  1.017713E+04 -2.601837E-09
         7  5.124827E+04  9.137116E+03 -2.527912E-09
         8  4.552063E+04  8.115929E+03 -2.413003E-09
         9  3.993360E+04  7.119810E+03 -2.274987E-09
        10  3.452456E+04  6.155426E+03 -2.101842E-09
        11  2.933517E+04  5.230203E+03 -1.934495E-09
        12  2.440881E+04  4.351877E+03 -1.735884E-09
        13  1.979169E+04  3.528685E+03 -1.578172E-09
        14  1.553148E+04  2.769126E+03 -1.398348E-09
        15  1.167895E+04  2.082254E+03 -1.207340E-09
        16  8.284929E+03  1.477130E+03 -1.000274E-09
        17  5.397593E+03  9.623435E+02 -8.112124E-10
        18  3.068339E+03  5.470579E+02 -6.018581E-10
        19  1.363766E+03  2.431475E+02 -4.068781E-10
        20  3.404422E+02  6.069785E+01 -2.014602E-10
        21  0.000000E+00  4.440892E-16  1.615587E-27

Is it due to roundoff error or something else?

1 Like

Displacements from eigenfrequency extraction analyses are not physical anyway, they become normalized and maybe these two solvers do it somewhat differently. The discrepancies aren’t large though. By the way, natural frequencies may also vary when separate solvers are compared but they shouldn’t differ by more than a few percent.

2 Likes

In addition to what Calc_em said, in this case, because of the symmetry, each mode comes in a degenerate pair and they can be mixed in arbitrary proportions in the solution because they have the same frequencies. There’s no single correct choice of how to combine them and they can come out different each time while still being correct. You may also find the same solver produces different results on each run too.

2 Likes