Nice to meet you all and join the Calculix big family.
I am a new rookie so I shall have lots of questions.
Our team want to use the explicit dynamic solver in the Calculix.
So is there anyone can provide us some general idea about this solver? Is it fast compared with abques ? can it be paralleled with GPU? or any typical example ?
Or at least, how should we get started with Calculix ? on windows or linux, any recommended documents?
We just start our project. We really want to do something with Calculix so any suggestion will be appreciated.
I have no experience with the explicit solver from ABAQUS, but from what I have heard from other users its fast, but not in the league of ABAQUS… yet The GPU applications of CCX are limited currently to the solution of linear systems. Since explicit solutions do not use this (since the mass matrix is diagonalized), CCX explicit cannot benefit from it so far. Let’s hope this changes in the future.
In my experience with CCX, is less hassle to use it in Linux, since the original code is developed in Linux. Compiling it with the Intel software (which now is free by the way!!) provides some speed up against GCC.
I would suggest you to use the most recent versions since in the last couple of years there were some changes to the explicit solution algorithm. In Windows its a good idea to use the binary of v2.17, as mentioned by @dichtstoff.
It’s so good that you have the experience about the explicit solver. This gives me lots of confidence haha. I have found the book, which should be very helpful.
check my post above. The implemented algorithm is almost equation by equation followed by the paper of Miranda which I referred.
The increment loop is at nonlineo(), where accelerations are solved. The substitutions for velocity and displacements are done at iniparll.c . It is not very straight forward to follow though…
Therefore comes my suggestion to check the algorithm in the paper. That will give you a good understanding of what the code is doing from the algorithm point of view.
Since I checked the paper of Miranda which give me a better understanding of the algorithm. Now I would like to follow its Calculix implementation.
As you told me, the substitutions for velocity and displacements are done at iniparll.c
Nevertheless, when I check nonlingeo.c and I search for iniparll.c , this function is called nowhere. Also in all the Calculix files, iniparll.c is only called in resultsini.f which is also not call in nonlingeo.c and apparently only useful befrore the loop over the increment.
Do you know the “path” between nonlingeo.c and the newmark scheme in iniparll.c ?
I saw in the documentation the explanation of nonlingeo.c but there is no so much detail on the explicit procedure, for my understanding it mainly describe the Implicit procedure.