# Calculix solver terminates without an error

**URL:** <https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975>\
**Category:** Uncategorized\
**Created:** [December 14, 2023, 11:38am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975 "2023-12-14T11:38:28Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![pushpa.raj](https://avatars.discourse-cdn.com/v4/letter/p/6a8cbe/32.png) [@pushpa.raj](https://calculix.discourse.group/u/pushpa.raj)\
**Post date:** [December 14, 2023, 11:38am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/1 "2023-12-14T11:38:28Z")

</div>

Hello Guys  
I need one help regarding termination of ccx\_dynamic / ccx\_static without any error for a large assembly . Here is details.

number of:  
nodes: 854312  
elements: 948192

Step - Frequency Analysis (20 requested modes)  
Solver - PARDISO

Determining the structure of the matrix:  
Using up to 11 cpu(s) for setting up the structure of the matrix.  
number of equations  
1027275  
number of nonzero lower triangular matrix elements  
35099601

Using up to 11 cpu(s) for setting up the structure of the matrix.  
number of contact spring elements=508026

Decascading the MPC’s

Determining the structure of the matrix:  
Using up to 11 cpu(s) for setting up the structure of the matrix.  
number of equations  
1027275  
number of nonzero lower triangular matrix elements  
36020715

Using up to 11 cpu(s) for setting up the structure of the matrix.  
Using up to 11 cpu(s) for the stress calculation.

After that exit

---

<div class="post-metadata">

**Author:** ![rafal.brzegowy](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@rafal.brzegowy](https://calculix.discourse.group/u/rafal.brzegowy)\
**Post date:** [December 14, 2023, 11:47am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/2 "2023-12-14T11:47:42Z")

</div>

> [@Calculix solver breaks/terminates without an error with models larger 250k elements](https://calculix.discourse.group/t/calculix-solver-breaks-terminates-without-an-error-with-models-larger-250k-elements/1958/4):
>
> Try: [image]

---

<div class="post-metadata">

**Author:** ![pushpa.raj](https://avatars.discourse-cdn.com/v4/letter/p/6a8cbe/32.png) [@pushpa.raj](https://calculix.discourse.group/u/pushpa.raj)\
**Post date:** [December 15, 2023, 3:04am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/3 "2023-12-15T03:04:09Z")

</div>

What are your suggestions on this issue @fgr @Calc_em ?

---

<div class="post-metadata">

**Author:** ![pushpa.raj](https://avatars.discourse-cdn.com/v4/letter/p/6a8cbe/32.png) [@pushpa.raj](https://calculix.discourse.group/u/pushpa.raj)\
**Post date:** [December 15, 2023, 5:41am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/4 "2023-12-15T05:41:12Z")

</div>

Dear @rafal.brzegowy  
I got following information. **What is the next step to resolve it?**

number of contact spring elements=508026

Decascading the MPC’s

ALLOCATION of variable jmpc, file cascade.c, line=73, num=4554, size=4, address= 1668612144  
FREEING of variable jmpc, file cascade.c, line=375: oldaddress= 1668612144  
Determining the structure of the matrix:  
ALLOCATION of variable mast1, file remastructar.c, line=66, num=35099601, size=4, address= 2048876608  
REALLOCATION of variable irow, file remastructar.c, line=67: size(bytes)=140398404, oldaddress= 209170496,address= 209170496  
ALLOCATION of variable ipointer, file remastructar.c, line=71, num=3417248, size=4, address= -2073173952  
ALLOCATION of variable next, file mastruct.c, line=313, num=35099601, size=4, address= -1309396928  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=154438244, oldaddress= 2048876608,address= -1168932800  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=154438244, oldaddress= -1309396928,address= -1014411200  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=169882068, oldaddress= -1168932800,address= 1402482752  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=169882068, oldaddress= -1014411200,address= -1309376448  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=186870272, oldaddress= 1402482752,address= -1139462080  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=186870272, oldaddress= -1309376448,address= -952532928  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=205557296, oldaddress= -1139462080,address= 1402474560  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=205557296, oldaddress= -952532928,address= -1309360064  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=226113024, oldaddress= 1402474560,address= -1103753152  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=226113024, oldaddress= -1309360064,address= 1402519616  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=248724324, oldaddress= -1103753152,address= 1628745792  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=248724324, oldaddress= 1402519616,address= -1309372352  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=273596756, oldaddress= 1628745792,address= -1060573120  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=273596756, oldaddress= -1309372352,address= 1402511424  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=300956428, oldaddress= -1060573120,address= 1676202048  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=300956428, oldaddress= 1402511424,address= -1309388736  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=331052068, oldaddress= 1676202048,address= 1977233472  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=331052068, oldaddress= -1309388736,address= 1402482752  
REALLOCATION of variable mast1, file insert.c, line=59: size(bytes)=364157272, oldaddress= 1977233472,address= -1309384640  
REALLOCATION of variable next, file insert.c, line=60: size(bytes)=364157272, oldaddress= 1402482752,address= 1733587008  
REALLOCATION of variable irow, file mastruct.c, line=742: size(bytes)=337909944, oldaddress= 209170496,address= 2097836096  
Using up to 11 cpu(s) for setting up the structure of the matrix.  
ALLOCATION of variable ithread, file mastruct.c, line=765, num=11, size=4, address= -2040427408  
FREEING of variable ithread, file mastruct.c, line=771: oldaddress= -2040427408  
number of equations  
1027275  
number of nonzero lower triangular matrix elements  
36020715

Using up to 11 cpu(s) for setting up the structure of the matrix.  
ALLOCATION of variable ithread, file mastruct.c, line=841, num=11, size=4, address= -2040427664  
FREEING of variable ithread, file mastruct.c, line=847: oldaddress= -2040427664  
FREEING of variable next, file mastruct.c, line=875: oldaddress= 1733587008  
FREEING of variable ipointer, file remastructar.c, line=89: oldaddress= -2073173952  
FREEING of variable mast1, file remastructar.c, line=89: oldaddress= -1309384640  
REALLOCATION of variable irow, file remastructar.c, line=90: size(bytes)=145863060, oldaddress= 2097836096,address= 2097836096  
ALLOCATION of variable f, file arpack.c, line=370, num=1027275, size=8, address= 2048901184  
ALLOCATION of variable xstiff, file arpack.c, line=374, num=314543088, size=8, address= -1859174336  
ALLOCATION of variable v, file arpack.c, line=377, num=3417248, size=8, address= 2057179200  
ALLOCATION of variable fn, file arpack.c, line=379, num=3417248, size=8, address= 2084630592  
ALLOCATION of variable stx, file arpack.c, line=380, num=69898464, size=8, address= 1402478656  
ALLOCATION of variable eme, file arpack.c, line=381, num=69898464, size=8, address= 657231936  
ALLOCATION of variable inum, file arpack.c, line=385, num=854312, size=4, address= 1706512448  
ALLOCATION of variable vini, file arpack.c, line=389, num=3417248, size=8, address= 2112057408  
ALLOCATION of variable eei, file arpack.c, line=390, num=69898464, size=8, address= 1216499776  
ALLOCATION of variable stiini, file arpack.c, line=391, num=45513216, size=8, address= -1309372352  
ALLOCATION of variable emeini, file arpack.c, line=392, num=45513216, size=8, address= 122282048  
ALLOCATION of variable neapar, file results.c, line=204, num=11, size=4, address= -2040427984  
ALLOCATION of variable nebpar, file results.c, line=205, num=11, size=4, address= -2040427856  
ALLOCATION of variable ipar, file elementcpuload.c, line=33, num=1456218, size=4, address= 2139426880  
FREEING of variable ipar, file elementcpuload.c, line=62: oldaddress= 2139426880  
ALLOCATION of variable fn1, file results.c, line=208, num=37589728, size=8, address= 1775718464  
ALLOCATION of variable qa1, file results.c, line=209, num=44, size=8, address= 190517760  
ALLOCATION of variable nal, file results.c, line=210, num=11, size=4, address= -2040428368  
ALLOCATION of variable energysms1, file results.c, line=211, num=11, size=8, address= 190509808  
Using up to 11 cpu(s) for the stress calculation.

ALLOCATION of variable ithread, file results.c, line=243, num=11, size=4, address= -2040428432

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [December 15, 2023, 5:41am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/5 "2023-12-15T05:41:32Z")

</div>

Maybe the pre-allocation of the memory is large as in the referenced problem above. Try to have a smaller model and debug. Try spooles, and the other solvers. Start simple.

---

<div class="post-metadata">

**Author:** ![fgr](https://avatars.discourse-cdn.com/v4/letter/f/f4b2a3/32.png) [@fgr](https://calculix.discourse.group/u/fgr)\
**Post date:** [December 15, 2023, 7:35am UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/6 "2023-12-15T07:35:02Z")

</div>

@pushpa.raj  
I have just run a test job with a simple cube:

nodes: 425072  
elements: 297343  
number of equations  
1275216  
number of nonzero lower triangular matrix elements  
52093725

Job finished

this job required app. 25 GByte physical memory.  
By increasing the number of elements it seems that ccx will fails when the job ran out of physical memory.  
Your problem could be You’re running out of physical memory, so my best advice to You will be as already advised from @jbr try to reduce the number of elements by use of a rougher mesh where the structure isn’t sensitive for local stresses.

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [December 15, 2023, 12:40pm UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/7 "2023-12-15T12:40:12Z")

</div>

> [@pushpa.raj](#):
>
> number of:  
> nodes: 854312  
> elements: 948192

Close to a milion elements - that’s really a lot for a solver like CalculiX and rarely needed in practice. Can you show your mesh ? I’m pretty sure its size can be reduced.

---

<div class="post-metadata">

**Author:** ![rafal.brzegowy](https://avatars.discourse-cdn.com/v4/letter/r/a9adbd/32.png) [@rafal.brzegowy](https://calculix.discourse.group/u/rafal.brzegowy)\
**Post date:** [December 15, 2023, 1:31pm UTC](https://calculix.discourse.group/t/calculix-solver-terminates-without-an-error/1975/8 "2023-12-15T13:31:21Z")

</div>

Maybe OOC for PARDISO solver (“running out of physical memory”):

> [@Calculix with pardiso OUT-OF-CORE mode](https://calculix.discourse.group/t/calculix-with-pardiso-out-of-core-mode/1676):
>
> Hello, Did anyone tried to modify the code to have pardiso running in out-of-core mode? Apparently seams simple, just to set iparm[59]=1, has described in the following link: (I know, the devil normally is in the details!) This is also a suggestion to improve CalculiX as an out-of-core option would certainly allow for much larger models (at the expense of speed off course). Maybe a simple way to do this would be to allow another solver option, for example SOLVER=PARDISO-OUT-OF-CORE. This i…
