I’m struggling with explicit dynamics analyses. They either take hours to solve with very coarse meshes (even with mass scaling) or fail due to the limitations of this procedure. I decided to simulate something really simple that should work even with the current state of explicit dynamics in CalculiX (I do a lot of those analyses in Abaqus and they work so smoothly there that I may just be too harsh for CalculiX implementation). I chose a rectangular bar impact on a rigid wall. I started with a 2D (plane stress) model first but rigid body constraint can’t work there (Rigid body constraint doesn't work with shell, axisymmetric and plane stress/strain elements in explicit dynamics · Issue #59 · Dhondtguido/CalculiX · GitHub) so I just applied a material with 2 orders of magnitude higher Young’s modulus to that wall. However, the bar doesn’t move at all under the initial velocity. I removed the wall and it turned out that initial velocity doesn’t work here. Any ideas about what can be wrong ? Is that a bug that you can confirm ?
This file works and could be a starting point to torture the bar, comments, find bugs, improve , check accuracy…
I just have 16Gb on this Laptop and I’m running while doing other things so I can’t increase stiffness or refine .
I also think like you that there is a bug in Prepomax dealing with the Initial velocity. (Sorry if not, still getting used to it) . I wrote velocity with custom cards.
Increasing initial velocity and adjusting parameters accordingly one can also see the bar buckling due to the compression. (More interesting).
-It has crash twice when attempting to select nodes (All).
-Analysis process is fast (30 sec ) but Prepomax Struggles opening results and freezes when saving the results.
File is not so big (200 Mb). I have change settings so results are not saved in the pmx but then I lose the results?¿?.¿How could I recover the results in Prepomax?
-Requiring CDIS, CSTR doesn’t work.
Now I understand why explicit is so hard to learn. It’s not difficult, it’s boooooring. Each run takes so long. (Not this one. File is as small as posible. Total CalculiX Time: 45 sec)
Warning. This seems useful not only for Dynamics. Master and Slave Shouldn’t have the same thickness to make the contact work. Seems like the nodes on the edges do not properly contact and in linear, shell elements,……… that’s the only nodes they have!!!. Poissson can make the slave to expand and mess the contact.
Contact stiffness should be as small as possible to speed up the calculation.
Rigid body doesn’t work. I think the problem is that node’s shells can’t drilling in plane. ¿it would mean Rot node can’t move in z direction?. But z doesn’t exist. I don’t understand Prepomax GUI or ccx when it allows for Rz constrain in 2D analysis.
Prepomax is still too slow when loading and inspecting the results. It’s strange because it solves very fast and CAD moves very quick. Postprocesor could be improved, 100% for sure.
Initial Velocity on shells works but tricky.
Ok, it turns out that it’s necessary to create an arbitrarily named node-based surface for the bar based on the node set used for the initial condition to make it work in 2D (due to expansion issues):
*SURFACE, NAME=bar_surf, TYPE=NODE
*INITIAL CONDITIONS, TYPE=VELOCITY
bar, 1, -5000
Now I just have to figure out the parameters allowing for a reasonable runtime and accuracy of the contact force with my data (it’s Abaqus benchmark model). But at least I don’t have to use 3D so it shouldn’t take that long.
When I asked Guido about rigid body in axisymmetric explicit dynamics models, he said:
A rigid body condition is nonlinear due to the rotation. Axisymmetric elements are expanded and therefore, linear equations are introduced between the two sides of the 2-degree segment. Therefore, linear and nonlinear equations will depend on each other. I do not recall any more why it is not allowed in an explicit dynamic calculation, however, it may not be easy to remove this limitation. Increasing the E-modulus of the rigid body may be an option, however, it will decrease the time step (unless you fix the minimum allowed time step).
It must be the same with plane stress/strain and shells.
It’s because you have:
It should be 100 or 1000 in explicit dynamics due to a large number of increments.