What is my simulation problem?

Hello everyone,

I am doing a compaction simulation using PrePoMax. I have some problems with my simulation.
I have defined surface-to-surface contact between “Box-Particle” and “Punch-Particle”. I have applied a displacement to the reference point of the punch. When the punch moves downward, the upper part of the sphere (Particle) is deformed, but the bottom part of it remains without deformation. (Please see the attached images.) Why is it so? What would be the problem?



Can you share the .pmx file ? It’s hard to say based only on the screenshots. The surfaces should be rigid and meshed with more elements.

Dear @FEAnalyst , Thank you for your reply. I have attached the .pmx file here. I have defined rigid body constraints for the box and the punch. I would really appreciate it if you could help me in this regard.

single.pmx (7.8 MB)

The box and punch parts ar solids. You should model them as shells (surfaces). And use many more elements for them, as I said. Apart from that, it looks good. Assuming that you want the punch to move by 0.09 mm in total. But you could also reduce the model by utilizing symmetry.

Dear @FEAnalyst , I had already considered the punch and box as a shell part but you told me they should be solid if you want to define a rigid body for them. Then, I modified them.
Maybe I misunderstood your explanation. How can I define a rigid body for a shell part?

Dear @FEAnalyst , could you please tell me why there is no information in the .dat and .sta files once I run my simulation while the simulation has been successfully done?


Also, what does it mean by the following error?

Thank you so much for your help.

Such very thin parts shouldn’t be modeled using solid elements. You should use shells instead. The only problem is that shells don’t work with rigid body constraints in explicit dynamics and may not work with Nlgeom in other analysis types. So there are several options:

  • set very high Young’s modulus for the shell parts instead of using rigid body constraints (this will reduce the stable time increment in explicit dynamics though)
  • keep them modeled as solids but use hexa elements (one in the thickness direction, more in the plane)
  • don’t use explicit dynamics

I don’t think it has been successfully completed. Those messages don’t indicate that. It just spitted some nonsense results instead of failing with errors (quite common in CalculiX, especially with explicit dynamics).

Dear @FEAnalyst ,
The last picture is related to another simulation. I just want to know why this kind of error appeared, and how I can fix it.

I’ve noticed it in this file as well. Explicit dynamics analyses are tricky in CalculiX and you have to make sure that your setup is correct (tips for this case above). Then it should work without such errors. If it still doesn’t, it might be a bug and in such cases the model should be gradually simplified to find the cause of the issue. Unless it’s already known: Issues · Dhondtguido/CalculiX · GitHub

You should also add energy output in explicit dynamics analyses to see their progress: Status file output in explicit dynamics · Issue #58 · Dhondtguido/CalculiX · GitHub

Dear @FEAnalyst ,
In my simulation, I have to apply a displacement to the reference point of the punch. if I consider the punch as a shell part, I cannot define a rigid body for the punch. I want to know if it is possible to define a coupling constraint in this software. If not? Do you have any suggestions? How can I define a reference point and allocate a displacement to it?

Coupling constraints are supported by CalculiX but not yet available in PrePoMax. They can be added via the Keyword Editor though: RBE3 integration in PrepoMax (Kinematic & Distributing Coupling)

However, I wouldn’t use them here. Try one of the workarounds proposed above. You can even apply a displacement boundary condition to the whole surface of a plate but this may interfere with contact. So maybe you could add a small extrusion to push the plate. Or push it by its edge. But most importantly, make sure that it’s stiff enough (ideally or almost ideally rigid) and meshed with enough elements.

Dear @FEAnalyst ,

I need to obtain the reaction force of the punch displacement. That’s why, I need to define a reference point and and get the amount of the RF.

You can get a reaction force directly from a surface as well - just create a history output for all the nodes involved in a boundary condition and select Totals → Only to get the sum.