# "correction to SPOOLES.2.2 for large input decks"

**URL:** <https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047>\
**Category:** Uncategorized\
**Created:** [March 21, 2022, 3:06pm UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047 "2022-03-21T15:06:21Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![jlucas](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@jlucas](https://calculix.discourse.group/u/jlucas)\
**Post date:** [March 21, 2022, 3:06pm UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047/1 "2022-03-21T15:06:21Z")

</div>

Dear CalculiX users,

I have a simple question:

In the CalculiX developer website ([CalculiX: A Three-Dimensional Structural Finite Element Program](http://www.dhondt.de/index.html)) 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

---

<div class="post-metadata">

**Author:** ![JohnM](https://avatars.discourse-cdn.com/v4/letter/j/848f3c/32.png) [@JohnM](https://calculix.discourse.group/u/JohnM)\
**Post date:** [March 21, 2022, 10:32pm UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047/2 "2022-03-21T22:32:23Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![feacluster](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/feacluster/32/394_2.png) [@feacluster](https://calculix.discourse.group/u/feacluster)\
**Post date:** [March 21, 2022, 11:41pm UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047/3 "2022-03-21T23:41:26Z")

</div>

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

[I2Ohash](https://lists.mcs.anl.gov/pipermail/petsc-users/2006-June/000407.html)

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.

---

<div class="post-metadata">

**Author:** ![jlucas](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@jlucas](https://calculix.discourse.group/u/jlucas)\
**Post date:** [March 22, 2022, 9:20am UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047/4 "2022-03-22T09:20:06Z")

</div>

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”

---

<div class="post-metadata">

**Author:** ![jlucas](https://avatars.discourse-cdn.com/v4/letter/j/b4bc9f/32.png) [@jlucas](https://calculix.discourse.group/u/jlucas)\
**Post date:** [March 22, 2022, 12:53pm UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047/5 "2022-03-22T12:53:33Z")

</div>

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](http://deb.debian.org/debian/pool/main/s/spooles/spooles_2.2-14.debian.tar.xz)”

---

<div class="post-metadata">

**Author:** ![feacluster](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/feacluster/32/394_2.png) [@feacluster](https://calculix.discourse.group/u/feacluster)\
**Post date:** [March 22, 2022, 1:20pm UTC](https://calculix.discourse.group/t/correction-to-spooles-2-2-for-large-input-decks/1047/6 "2022-03-22T13:20:17Z")

</div>

Try this ready made executable with the Pardiso solver here:

[https://www.feacluster.com/calculix.php#3](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](https://www.feacluster.com/calculix.php#4)
