Hi,
I have faced convergence issues with nonlinear springs (Only Tension) that took me some days to isolate and sort and I think it’s worth to share what was finally the workarround.
Could be usefull for those nonlinear models that fail to start with messages like:
*ERROR: increment size smaller than minimum best solution and residuals are in the frd file
Instead of applying the load directly, reverse it first and then apply it in the right direction. (Using amplitude)
“Take a running start” if that makes sense (also helps to remember the trick).
I guess it jump over the starting point/zero which can be sometimes problematic.
Example that works or fails depending on the starting skeme.
FAIL
*NODE
1,-10,-10,0
2,10,-10,0
3,10,10,0
4,-10,10,0
5,-1.339745962156,15,0
6,-1.339745962156,-15,0
7,10,-20,0
8,10,20,0
9,-18.66025403784,-15,0
10,0,0,0
11,-10,-10,0
*ELEMENT,TYPE=SPRINGA
1,1,9
2,4,5
3,3,8
4,2,7
5,11,6
*NSET,NSET=REACTIONS
5
6
7
8
9
*NSET,NSET=NSET_ROOT
1
2
3
4
11
*ELSET,ELSET=SP_A
1
2
3
4
5
*ELSET,ELSET=1
1
*ELSET,ELSET=2
2
*ELSET,ELSET=3
3
*ELSET,ELSET=4
4
*ELSET,ELSET=5
5
*BOUNDARY
5,1,,0
5,2,,0
5,3,,0
6,1,,0
6,2,,0
6,3,,0
7,1,,0
7,2,,0
7,3,,0
8,1,,0
8,2,,0
8,3,,0
9,1,,0
9,2,,0
9,3,,0
10,3,,0
*AMPLITUDE,NAME=Ax_10_6
0,0
1,100000
*SURFACE,NAME=NSet_Root,TYPE=NODE
NSet_Root
*COUPLING,REF NODE=10,SURFACE=NSet_Root,CONSTRAINT NAME=RootCouple
*KINEMATIC
1,2,3
*SPRING,ELSET=SP_A,NONLINEAR
0.0,0.0
9.81E11,1.
*STEP,NLGEOM=YES,INC=334,AMPLITUDE=STEP
*STATIC
0.0033,1,0,0.0033
*CLOAD,AMPLITUDE=Ax_10_6
10,1,1
*NODE FILE,GLOBAL=YES
U,RF
*EL FILE
ENER
*END STEP
GOOD
** Generated by Mecway 28
*NODE
1,-10,-10,0
2,10,-10,0
3,10,10,0
4,-10,10,0
5,-1.339745962156,15,0
6,-1.339745962156,-15,0
7,10,-20,0
8,10,20,0
9,-18.66025403784,-15,0
10,0,0,0
11,-10,-10,0
*ELEMENT,TYPE=SPRINGA
1,1,9
2,4,5
3,3,8
4,2,7
5,11,6
*NSET,NSET=REACTIONS
5
6
7
8
9
*NSET,NSET=NSET_ROOT
1
2
3
4
11
*ELSET,ELSET=SP_A
1
2
3
4
5
*ELSET,ELSET=1
1
*ELSET,ELSET=2
2
*ELSET,ELSET=3
3
*ELSET,ELSET=4
4
*ELSET,ELSET=5
5
*BOUNDARY
5,1,,0
5,2,,0
5,3,,0
6,1,,0
6,2,,0
6,3,,0
7,1,,0
7,2,,0
7,3,,0
8,1,,0
8,2,,0
8,3,,0
9,1,,0
9,2,,0
9,3,,0
10,3,,0
*AMPLITUDE,NAME=Ax_10_6
0,0
0.01,-100000
1,100000
*SURFACE,NAME=NSet_Root,TYPE=NODE
NSet_Root
*COUPLING,REF NODE=10,SURFACE=NSet_Root,CONSTRAINT NAME=RootCouple
*KINEMATIC
1,2,3
*SPRING,ELSET=SP_A,NONLINEAR
0.0,0.0
9.81E11,1.
*STEP,NLGEOM=YES,INC=334,AMPLITUDE=STEP
*STATIC
0.0033,1,0,0.0033
*CLOAD,AMPLITUDE=Ax_10_6
10,1,1
*NODE FILE,GLOBAL=YES
U,RF
*EL FILE
ENER
*END STEP