I’m new user of Calculix software, and I have a problem with run large model (> 1.5M nodes).
I try to analysis this model, but when I run it the solution fail without defined which error occurring.
However if I reduce model side (delete most of the elements) the analysis done correctly.
For this I think that is problem of calculix setting in general instead of analysis setting.
I don’t think that is a problem of workstation capacity because I have 18 cores.
The same problem if I set 18 cores or only 1 core.
I routinely run problems of about 1.9 million nodes, using Calculix 18 and Pardiso with a Windows implementation. Running using Pastix at that size problem does not work for me, but it is very fast with smaller problems
To run that size problem I have 64 GB of memory and a pagefile in a Pcie 4 nvme SSD. The pagefile is busy on that size problem and the memory is fully utilized but I can use the computer normally while the computation is running with no apparent slowdown. I run using 4 cores for the solver. The read and write data flow only peaks a bit over 500 MB/sec, so performance might not suffer much with a lower speed SSD.
I use Mecway 14 to run calculix. The problems take 2-6 hours depending upon how non-linear they are (about 20 minutes per iteration). I have run a problem up to 4MB of nodes in Mecway internally but it takes a day plus overnight as it uses Spooles. BTW Pastix quits during solve, but is not using all the computers memory when it does. I heard there is a 32bit/64 bit issue on array indices unless compiled for 8* byte integers. The size limit for Pastix may or may not be related to this issue as I did not do the compile.
I use prepomax or Bconverged (both wit 2.18 version), but the problem is the same.
I try to change the solver in Prepomax from Pastix to PARDISO but I saw that Pastix is already use.
Reading the documentation I see that PARDISO need to be compiled: right? could you give me indication about to compile it?
I did not compile it. I downloaded ccx_2.18_dynamic.exe. from calculix_2.18_4win.zip. You insert a command to chose the solver. I use Mecway and the attached graphic shows what I input for Pardiso. See section 7.115 in the CCX_2.18 Manual.
To solve larger models you need to use the Pardiso solver.
Or PaStiX. It shouldn’t have any limitations either and is said to be even faster than Pardiso. Oh, and it’s open-source, unlike commercial Pardiso. The only problem with PaStiX is that some people say that it may provide wrong results in selected cases so it’s better to be careful when using it.
I would love to have a compiled windows version using Pastix without size limitation. GPU use too, though I don’t know how much benefit it might be. The speed of Pastix would make large models so much more practical. Note when I ran a 4 million node file in Mecway (spooles solver) Victor provided info for a setting that used the out of core features. I think Callculix (and Pastix) may have a similar capability but it needs to be set up at compile time, including where the temp files are stored. The problem, though, may simply be that the compile of Pastix used in the windows version used 4 byte integers.
Intel’s MKL pardiso has been free for many years ( at least since 2016 ). Just last year Intel has made all their compilers free. So now even the MPI pardiso is free too. I am going to resume some work I did with that back in 2016 to see how it speeds up across many machines.
I also looked at the Spooles source code last night. It was written almost 25 years ago. I don’t believe it supports 64-bit long integers . I am going to ask some C experts if it can be easily changed to support 64-bit… That’s probably why it crashes if model has more than 1 million degrees of freedom…
yeah there seems to be some dispute going on between the two. on the intel forum they replied about that in one thread. stating that they have updated pardiso many times since 2006 and statements or comparisons like that are not accurate. you would need to compare the current intel pardiso to the current pardiso project. it’s a shame that this is going on. not sure of the back story.
I’ll look into it in next few months hopefully. I am doubtful there would be any significant difference. These solvers are very sophisticated so probably any improvements are just incremental and also application specific.
I thinked the same, then I tried to copy and paste the file into the ccx_dynamic folder.
Now the error message is disappear, but I saw that Pastix has been used instead Pardiso, though if I select Pardiso or Spooles as a solvers…with Pastix the analyis continue to crash, but if I reduce the model size, by removing most of the element, I don’t have problem…