How to model elastic spring back

Hi

I simulated the forming process of a metal plate (considering plasticity and large displacements) by incrementally imposing a displacement field on the plate. This simulation works well. Now, how do I simulate the plate’s natural (elastic) recovery (spring-back) by removing the imposed displacement boundary condition?

Thank you.

Thank you.

Jack.

BCs can be removed with *BOUNDARY, OP=NEW and no redefinition in the subsequent step.

Thanks for your answer.

I used *BOUNDARY, OP=NEW before the next *STEP block and ran the analysis. However, no convergence was achieved. I believe that removing the displacement boundary conditions instantaneously is causing convergence problems.
Is there a way to remove the boundary conditions gradually?

By the way, under the *BOUNDARY, OP=NEW command, should I list only the boundary conditions to be retained, or should I also include those to be removed?

Thanks,

Jack

The idea is to use *BOUNDARY, OP=NEW in the step where you want to release BCs and redefine only the necessary ones.

That’s also how Abaqus deactivates BCs:

And they are removed by replacing them with equivalent forces and ramping them down to zero during the whole step (or immediately in dynamic analyses due to a different default amplitude).

1 Like

Thanks!

Now is working!

Replacing the removed BCs with equivalent forces sounds good. But, I not know how to replace them with the reaction forces in those BCs). Instead I using a second step considering dynamic response. However, how to reproduce a quase-static response?. Increasing the damping coefficient?

Thank you so much again!
(however
Jack

What I described is done automatically by the solver when you deactivate a BC with *BOUNDARY, OP=NEW.

Dynamic implicit ? Unfortunately, CalculiX (unlike Abaqus) doesn’t have predefined quasi-static application mode but you could try decreasing the alpha parameter:

The parameter ALPHA takes an argument between -1/3 and 0. It controls the dissipation of the high frequency response: lower numbers lead to increased numerical damping ([65]). The default value is -0.05.

So −0.333 is maximum damping.

1 Like

What I described is done automatically by the solver when you deactivate a BC with ‘*BOUNDARY, OP=NEW’.

Ok!. This is part of the *.inp file. This way of do that is ok? (thanks again):

** BC displacement
*BOUNDARY,AMPLITUDE=Damp
33,1,1, 0.000000
33,2,2, 0.000100
33,3,3, 0.000200
65,1,1, -0.000304
65,2,2, 0.000401
65,3,3, 0.000500
97,1,1, -0.000604

**
*BOUNDARY
NFRO, 1,3
NEND, 1,3
**
** amplitude curve displacements
*AMPLITUDE,NAME=Damp
0.0000, 0.0000,
1.0000, 1.0000,
2.0000, 0.0000,
**
** step block
*STEP, NLGEOM,INC=1000,
*STATIC,
1.0000e-04,1.000e+00,1.0000e-06,1.0000e-01
**
*END STEP
**
** second step block
*STEP,INC=10000
*STATIC
1.0000e-04,1.000e+00,1.0000e-02
**
*BOUNDARY,OP=NEW,AMPLITUDE=Damp
**
*BOUNDARY
NFRO, 1,3
NEND, 1,3
**

No need for *AMPLITUDE, just *BOUNDARY, OP=NEW and respecification of the BC(s) that you want to keep in the second step.

1 Like

But how to reduce to zero (slowly) the reactions in the removed BCs ?

This happens automatically with no need for explicit amplitude definition. At least that’s what Abaqus does. CalculiX User’s Manual is less informative but it should be the same.

If a boundary condition is removed in a stress/displacement analysis in Abaqus/Standard, it will be replaced by a concentrated force equal to the reaction force calculated at the restrained degree of freedom at the end of the previous step. If the step is a general nonlinear analysis step, this concentrated force will then be removed according to the AMPLITUDE parameter on the *STEP option. Therefore, if the default amplitudes are used, the concentrated force will be reduced linearly to zero over the period of the step in a static analysis and immediately in a dynamic analysis.

1 Like

Hi Again!

No sé porqué no se ejecuta el segundo STEP. Termina el primer STEP correctamente pero no ejecuta el segundo STEP. EL screenshot muestra que para el proceso sin mayores indicaciones. Cual puede ser el problema? El siguiente es el link al archivo de entrada INP:

Muchas gracias nuevamente,

Jack

Saludos @Juseche / Jack,

No sé tampoco por qué no estaba ejecutándose tu segundo step, pero hice unos cambios mínimos (aquí debajo) y se ejecutó, pero fallo al final:

divergence; the increment size is decreased to 2.441406e-08
 the increment is reattempted
 *ERROR: too many cutbacks
 best solution and residuals are in the frd file

Cambios:

  1. Agregue un valor diferente de cero a tú amplitude card
  2. Quite algunos comentarios que tenían caracteres acentuados… Usualmente, es buena idea no usarlos.
  3. Me acostumbro a agregar valores en el boundary card aunque por default es cero en ese caso.
*AMPLITUDE,NAME=Pamp
 0.0E+0, 0.0E+0,
 5.0E-2, 0.0E+0,
 1.0E-2, 1.0E-2
**---------------------------------------------
*STEP, NLGEOM, INC=1000
*STATIC,
 1.E-4, 1.E-2,1.E-6, 1.E-2
*DLOAD,AMPLITUDE=Pamp
 EALL, P1, -1.0
*EL FILE, TIME POINTS=t10,OUTPUT=2D,GLOBAL=YES
 S, PEEQ, E
*NODE FILE
 U
*EL PRINT,ELSET=EALL,TIME POINTS=t10,GLOBAL=YES
 S, PEEQ, E
*EL PRINT,ELSET=EALL,TOTALS=ONLY
 ENER
*END STEP
*STEP, NLGEOM, INC=10000
*STATIC
 1.E-4, 1.E-2, , 1.E-2
*BOUNDARY,OP=NEW
 NFRO, 2, 2, 0.0
 NEND, 2, 2, 0.0
*EL FILE, TIME POINTS=t10,OUTPUT=2D,GLOBAL=YES
 S,PEEQ,E
*NODE FILE
 U
*EL PRINT,ELSET=EALL,TIME POINTS=t10,GLOBAL=YES
 S,PEEQ,E
*EL PRINT,ELSET=EALL,TOTALS=ONLY
 ENER
*END STEP

Recomendaciones:

  1. Necesitas un mesh tan denso? No me parece que te beneficies de eso en este caso.
  2. No podrías usar 1D beam elements?

English per @Calc_em request:
Hello @Juseche / Jack,

I’m also not sure why your second step was not running, but I made a few minor changes, shown below, and it ran. However, it failed at the end:

divergence; the increment size is decreased to 2.441406e-08
 the increment is reattempted
 *ERROR: too many cutbacks
 best solution and residuals are in the frd file

Changes:

  1. I added a nonzero value to your amplitude card.
  2. I removed some comments that contained accented characters. It is usually a good idea to avoid using them.
  3. I am accustomed to adding values to the boundary card, even though the default value is zero in this case.
*AMPLITUDE,NAME=Pamp
 0.0E+0, 0.0E+0,
 5.0E-2, 0.0E+0,
 1.0E-2, 1.0E-2
**---------------------------------------------
*STEP, NLGEOM, INC=1000
*STATIC,
 1.E-4, 1.E-2,1.E-6, 1.E-2
*DLOAD,AMPLITUDE=Pamp
 EALL, P1, -1.0
*EL FILE, TIME POINTS=t10,OUTPUT=2D,GLOBAL=YES
 S, PEEQ, E
*NODE FILE
 U
*EL PRINT,ELSET=EALL,TIME POINTS=t10,GLOBAL=YES
 S, PEEQ, E
*EL PRINT,ELSET=EALL,TOTALS=ONLY
 ENER
*END STEP
*STEP, NLGEOM, INC=10000
*STATIC
 1.E-4, 1.E-2, , 1.E-2
*BOUNDARY,OP=NEW
 NFRO, 2, 2, 0.0
 NEND, 2, 2, 0.0
*EL FILE, TIME POINTS=t10,OUTPUT=2D,GLOBAL=YES
 S,PEEQ,E
*NODE FILE
 U
*EL PRINT,ELSET=EALL,TIME POINTS=t10,GLOBAL=YES
 S,PEEQ,E
*EL PRINT,ELSET=EALL,TOTALS=ONLY
 ENER
*END STEP

Recommendations:

  1. Do you need such a dense mesh? It does not seem to provide much benefit in this case.
  2. Could you use 1D beam elements instead?
1 Like

Could you add English translation to your posts ?

You have non-zero (prescribed) BC before the first step, which is incorrect:

** BC desplazamiento del tubo
*BOUNDARY,AMPLITUDE=Damp
1,1,1,  0.169900
1,3,3, -0.250500
33,1,1,  0.169181
...

There are also some redundant commas here:

** step block
*STEP, NLGEOM,INC=1000,
*STATIC,
1.0000e-04,0.0100e+00,1.0000e-06,1.0000e-02

S3 elements are not the best choice, try meshing with quads (S4/S4R).

To achieve convergence, make sure that rigid body motions are eliminated during the whole analysis (especially in the second step that fails to converge right from the start suggesting underconstraint).

1 Like

Thanks! Its working now.

Jack

Its working now!

Thanks

Jack

1 Like