Search
Close this search box.
Notifications
Clear all

Convergence problems UMAT

34 Posts
9 Users
0 Reactions
3,783 Views
Posts: 7
Topic starter
(@monster)
Active Member
Joined: 13 years ago

Hello Jorgen and all,

I have coded a UMAT subroutine for modelling ortotropic non-linear elastic behaviour of a reinforced plastic. Basically the subroutine recalculates a tangent stiffness matrix of the material for each strain increment based in analytical micromechanical models and then it uses this stiffness matrix, that I directly use as the DDSDDE, to update the stresses at the end of the increment.

The subroutine works well when in Abaqus when the nlgeom is not activated (nlgeom=no), which in the begining seemed reasonable because I expected strains lower than 5% (based in the data from the tensile and flexural experiments I have done). But when analysing results of my simulations of these tests I get in some cases localized strains near 30%. So I though that I should activate the nlgeom.

When activating the nlgeom=yes I get convergence problems of the system has xx negative eigen values finishing with the solution appears to be diverging. This starts to happen approximately at half the displacement I want to impose. In the range I achieve a solution the resulta are very similar to the obtainded with small deflections theory (nlgeom=no).

At the begining I though that it could be a problem related with the consistency of the Jacobian, but I am using the Jacobian to update the stresses STRESS=STRESS + DDSDDE*DSTRAN so it must be consistent by definition, must it?

I have ensured by using ORIENTATIONs that my material axis rotate.

I have checked that my updated stiffness matrix is always definite positive.

I even have tried to run with the RIKS algorithm but I do not improve the convergence.

Could you give me any indication to solve the problem?

what should I consider in the subroutine when changing to nlgeom=yes?

Best regards

Topic Tags
33 Replies
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

That is an interesting questions. I have not heard of that problem before.

The fact that you get warnings about negative eigenvalues suggests to me that your material model or the Jacobian matrix is not quite right. Since you simply update the stress based on the Jacobian, I suspect that you start to get some strange values after a while. Do your Jacobian ever contain any negative values?

- Jorgen

Topic Tags
33 Replies
Posts: 7
Topic starter
(@monster)
Active Member
Joined: 13 years ago

Hello Jorgen,

Thanks for your answer. Yes, some of my Jacobian components are negative, but I thought this is feasible if the matrix remains Definite positive, isn this? Furthermore I have these negative componentes from the begining of the calculation, and the convergence is good till a point on the calculation is reached.

To give you more information, the implemented model softens the material response when strain increases. I am thinking if the problem could be related with this because if I limit the softening the convergence increases. The problems start when certain elements soften too much and locally the strain increases considerably (like in a localization problem: necking...).

My other concern is if I am treating correctly the stresses.

As I mentioned I am updating the stresses directly from the DDSDDE

STRESS = STRESS + DDSDDE*DSTRAN

But In finite strains, if I have not misunderstood the manual, the Jacobian is deffined in terms of Kirchoff stress. So, should I define the stresses as follows?:

Det(DFGRD1)*STRESS = Det(DFGRD0)*STRESS + Det(DFGRD1)*DDSDDE*DSTRAN

so

STRESS= Det(DFGRD0)/Det(DFGRD1)*STRESS + DDSDDE*DSTRAN

Best regards

Reply
Posts: 21
(@jaksonmv)
Eminent Member
Joined: 17 years ago

Hello,

I work on Abaqus, I seen making under program UMAT (Abaqus Standard - User Material Subroutine (UMAT) for model with FORTRAN program in), what I do not comprent yet their function (in the heading) when I seen writing a function in the program, where I it declare has the heading (in DIMENSION) but how??

SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,

1 RPL,DDSDDT,DRPLDE,DRPLDT,

2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,

3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,

4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,KSTEP,KINC)

C

INCLUDE ABA_PARAM.INC

C

CHARACTER*80 CMNAME

DIMENSION STRESS(NTENS),STATEV(NSTATV),

1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),

2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),

3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3)

DIMENSION DSTRES(?)

DIMENSION STNPLAS(1),DSTNPLAS(?),GAMAPLAS(?),TAUA(?),DEPPLAS(?)

DIMENSION HA(?),Dsa(1),sa(?)

Thank you

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

I am afraid that I do not understand your question. Can you clarify it??

Reply
Posts: 21
(@jaksonmv)
Eminent Member
Joined: 17 years ago

umat problem

umat problem

--------------------------------------------------------------------------

Hello Dr. Jorgen

I downloaded the program of your website, and I am interest by one (umat) in the part visco (visco_imp.f), but when I have to launch the program he writes to me (ABAQUS Error: Problem during linking) there is a problem? Where is it my software which does not function well? I await your doctor assistance.

My greetings

Thank you

Reply
Posts: 3998
(@jorgen)
Member
Joined: 5 years ago

What program did you download?

Reply
Page 1 / 5
Share: