I am trying to simulate distortion in a cylinder. I started with a simple problem where I create a bulge in the cylinder using displacement boundary conditions. In the subsequent step, I remove the displacement boundary conditions using *BOUNDARY, OP=NEW. When I do this, the step fails to converge. However, if I add a dummy intermediate step with no loads or boundary conditions being changed, all the steps converge. I don’t understand how the dummy step is affecting the solution. I tried running the same calculation in Abaqus and it runs fine without the middle step. Can someone explain how this is happening?
Here’s the Input file. I am using ccx_2.20
The problem is with the discontinuity of your boundary conditions across steps as model discontinuities may result in convergence issues. So let us make the bulge load smooth across the job time: If you define an amplitude to continously increase the load and then to continously decrease it back to zero the job will converge within a single step during which you ramp up and down the load. Attached inp job includes such an *AMPLITUDE definition: Inp job file with single step and ramp amplitude
By default, CalculiX applies and removes loads either using:
- RAMP amplitude (linear increase/decrease over the step) in *STATIC steps
- STEP amplitude (full load applied immediately and held constant) in *DYNAMIC and *MODAL DYNAMIC steps
But sometimes it’s good to use smoother amplitude to aid convergence or eliminate dynamic effects in quasi-static analysis.
Thank you for your solutions. Like I mentioned in the description, I am trying to model distortion in a cylinder. More specifically, I have a cylinder whose distortion is measured in the field. My aim is to model the distorted state with plastic strains and the residual stress. So, I am trying to impose a displacement that causes plastic deformation, remove the boundary condition and obtain the residual stresses and distortion after springback. The plan is to adjust the displacements till the unloaded state matches the measured distortion.
I have tried your solutions but they are not giving me what I want.
@johanngil
Your solution converge but it does not do what I am trying to do. I want the plastic deformation to be present in the cylinder after I remove the boundary condition in the final step. Your solution retracts the applied deformation and brings it all back to zero at the end
@Calc_em
I tried implementing an amplitude for the loading step that increases as “2t-t^2” so that it is smooth at the top. This does not help the convergence of the second step.
The only solution I can think of to “unload” the distortion smoothly is to use a contact model. This would be fine for a single bulge that I am trying to implement here but for my actual problem, I want to be able to impose displacements throughout the cylinder.