"correction to SPOOLES.2.2 for large input decks"

Dear CalculiX users,

I have a simple question:

In the CalculiX developer website (CalculiX: A Three-Dimensional Structural Finite Element Program) along with the source code and test examples it is presented a link to “a correction to SPOOLES.2.2 for large input decks”.

Does anyone know what “large input decks” mean (how many number of nodes or equations)? and when to expect the correction to be needed?

Is there any test to check the missbehaviour?

Thank you in advance,
Best,
Jorge

I don’t know the answer to your question, but unless you are specifically interested in programming aspects of the spooles solver, I would recommend trying the pardiso or pastix solvers, they are faster and can accommodate larger models.

I am not sure what this correction does, but found some info here:

I2Ohash

specifically:

The crash is caused by a bug in spooles
(int overflow).

You can fix your spooles by editing

  1. spooles-2.2/I2Ohash/src/util.c:

However, even with this correction, the largest model you can solve is a little over 1 million equations. After that you get crashes due to I presume 32-bit limitations…

Pardiso is free now and the way to go. Much faster and can solve many millions of equations.

1 Like

Hello,

Thank you for your quick replies.

I am running models with more than 1M equations and have not seen a crash. However I am not sure if the solution I am getting is correct or if is there is any misbehavior due the solver. You see, as it is not detailed what the correction is for, there is always a suspicion.

I am running the CalculiX version distributed by debian 11 (ccx v2.17), but also compiled on ubuntu 20.04 ccx v2.19 using the system libraries (spooles, arpack, lapack, blas) with a slight modification of the default Makefile_MT.

PastiX is difficult to make it work (I gave up with v2.17, maybe should retry…)

Pardiso seam to have changed the licensing policy. I’ve got recently the following reply from Prof. Olaf Schenk:

“at the moment I would recommend to use spooles as the USI legal department is not any more supporting the licensing of PARDISO to both academic and corporate users”

Just noticed that the spooles package maintained by debian is up to date and has the mentioned I2Ohash and many other bug fixes and corrections. So definitely I recommend to build CalculiX with system libraries.

see the changelog found on the source package matained by debian (11):
http://deb.debian.org/debian/pool/main/s/spooles/spooles_2.2-14.debian.tar.xz

Try this ready made executable with the Pardiso solver here:

https://www.feacluster.com/calculix.php#3

If doesn’t work, then you can install Intel oneapi compiler ( free and doesn’t require root access ) and build your own executable with this script:

https://www.feacluster.com/calculix.php#4

1 Like