Close this search box.
Clear all

User Element increment control for linear elastic problem

3 Posts
2 Users
Posts: 42
Topic starter
Eminent Member
Joined: 16 years ago

Dear Jorgen, and everyone else

I have been having some trouble recently with the results I obtain from my UEL.

It appears that there is a difference in the displacement solution depending on the number of increments I use to get to the solution. The more increments I have, the larger the solution. Seeing that the problem is fully linear, the solution should not be dependent on the number of increments.

Also, when only 1 increment is used, the solution is identical to an Abaqus C3D8 element solution. I have to use more increments as I supply a time-history load, managed internally to the user element, but when I DO use more increments, the solution increases.

I have set up a test case run over 2 increments, and the results displayed in the .msg file reveal that Abaqus runs the second increment twice, but I do not understand why. The first time it runs the second increment, the result appears to be correct, but then it runs the second increment again, and the solution doubles. I do not know what Abaqus is doing here, or if I should be stopping it from doing this. (If I do stop it from doing the second increment twice, then it appears that I will be getting the correct solution)

Please advise.

2 Replies
Posts: 3998
Joined: 4 years ago

I am not sure if this is good advice or not, but Abaqus frequently use multiple attempts per increment to obtain a suitable equilibrium state. Are you sure you dont somehow store the information from each of the previous increments in an incorrect way?


2 Replies
Posts: 42
Topic starter
Eminent Member
Joined: 16 years ago

Abaqus Solver


I think Abaqus may be doing some sort of convergence check, which could be the extra increment. I am currently checking my formulation of the RHS (residual and force).

Initially (before I posted the first time in this thread), I edited the solver controls in the input file, as the residual would not converge, by setting two tolerance parameters to be very large. (one is a residual check, the other a check on the solution)

For my residual, I am using Residual = AMATRX*U

Where U is the previous increment solution.

Any advice?