Question about PLASTICITY simulation

SPRING_PLASTICITY-TRY.pmx (467.1 KB)

I make a plasticity test model, a displacement is add to a spring. and 2nd step I removed the displacement, with this model I can see the set of the spring.It worked well if Nlgeom is Off.

But if I “On“ the Nlgeom , the 2nd step will not worked. Here is the model uploaed.The total run time is within 1 min.

Try refining the mesh (and use a hex or hex-dominated mesh - change recombination to avoid getting only wedge elements). Also, use different incrementation settings - increase max increments, decrease initial time increment, and reduce minimum time increment significantly. Finally, make sure that the Nlgeom setting is consistent across both steps.

1 Like

Thank you very much for your suggestion. It has given me a clear direction. I will modifying the model and try again.

That won’t be easy to compute with an implicit solver. I’ve always wanted to try using inp2rad to convert a case from Prepomax to OpenRadioss, so here’s an example. I applied a very quick 1e-3 s loading and 1e-3 s unloading. The material is steel with noticeable plasticity.

I kind of worked around it — instead of applying a prescribed deformation, I first determined the force needed to achieve approximately the desired deformation, and then applied that force with an amplitude going from zero to one and back to zero.

Typically, displacement control is much better for the convergence of nonlinear problems than load control, but indeed, amplitude could be used (also for displacement) to simulate loading and unloading in one step. However, it might be good to spread it across a small surface instead of an edge.

Definitely, but there is a first step with displacement control, and in the second step the prescribed displacement is removed, which causes convergence problems. A slow decrease of the force to zero resolves this.

Thank you for your effort on this topic. This analysis primarily focuses on the plastic deformation of a metal spring and the contact force.

Additionally, I also utilized force amplitude to conduct this non-linear geometry (Nlgeom) analysis, but the results showed only a minimal difference compared to when Nlgeom was disabled. And the result is very same with a sheet metal company result.

I finally make the 2nd step without any displacement load while NLgeom is on.

2nd step can be a DYNAMIC with implict/implict, total time can be small like 0.001s,step time can also be small, (1st Step should also add EF/NF output that is required in 2nd step)

With this DYNAMIC step I can see the plasticity deformaiton while NLgeom is on.

OpenRadioss is also a great soltion for impact and especially drop simulation, it is fast and support material plasticity, hyperelastic which is mainly used in my work.

@FEAnalyst @Vitek_SAA Thanks for your suggestions and happy new year 2026.

Yeah, a little bit of inertia often helps stabilize the solution in such cases. You should just be careful about its amount and check the model energies (not as easy as in Abaqus, though). There’s no special dynamic implicit quasi-static step dedicated to such cases, so you have to rely on the standard dynamic implicit procedure and adjust the alpha damping if needed.

Unfortunately, nonlinear dynamic procedures (especially the explicit one) are very limited and far from sufficient robustness, so OpenRadioss is indeed a better choice in such high-speed and/or highly nonlinear cases.

The static spring condition can also be checked via contact with one STEP step (I think).

030.pmx (644.5 KB)

To all PPM developers and users, a successful 2026!

1 Like

Yeah, that’s the usual way of simulating bending of such curved springs or gaskets, but of course, there’s a risk of non-convergence due to contact. I had a particularly nasty case of this kind in Abaqus. Also, too bad that CalculiX doesn’t have rigid surface/line elements (for both 3D and 2D) and that shells don’t work properly (or even at all) with rigid body constraints. Not to mention issues with rigid body constraints on 2D and shell elements in explicit dynamics: Rigid body constraint doesn't work with shell, axisymmetric and plane stress/strain elements in explicit dynamics · Issue #59 · Dhondtguido/CalculiX · GitHub

All that makes it rather problematic to model rigid plates, indenters etc. since 3D models and solid elements have to be used all the time.