## You are here

# Sharing ABAQUS UMAT and VUMAT subroutines

## Primary tabs

I have noticed that a lot of people are using UMAT and VUMAT material model

subroutines for their researches. However, most of these subroutines do not

find their way to free code market and remain in the hands of the developers.

Therefore, a lot of wheel re-inventing has to be done by other people. Since

development and testing of a material subroutine takes a damn long time, I

think it is a good idea if each of us can share the subroutines she has

developed with the others. I know that a couple of subroutines are publicly

available and many other people also know that. Please comment about less-known

freely available subroutines.

To be more specific, I think it would be useful if people can comment about

following highly demanded UMAT subroutines:

1.Cohesive zone elements models

2.Polycrystalline plasticity

3.Gurson-type ductile fracture models

Note added by admin: This topic has also been discussed in another thread: node/2375

## good point

Amir:

I agree with you that there are many UMAT, UEL, and other user subroutines hanging around the research community. In the past several years, I have been advocating my subroutines and provide them free to the public, as can be found from http://web.utk.edu/~ygao7/publication.htm

It'll be worthwhile to compile a list of these for a broader public. And perhaps we can get ABAQUS to endorse us. As for your three questions:

(1) cohesive zone element: I have one in my webpage, which can be easily genearlized into other versions such as Camacho-Ortiz.

(2) Polycrystalline palsticity. This I don't know. I only know the famous code by Yonggang Huang (modified by Jeff Kysar) is available at Jeff Kysar's webpage (Columbia University).

(3) Gurson-type model: I don't know if someone provides this free. The infinestimal strain version is not difficult to implement.

## looking for cohesive zone element user subroutine

Mr. Gao

I am a new comer of imechanic, I got your webpage though the search engine Google, but I could not enter it, I dont know why.

I knew you have a user subrotine about the cohesive zone and you are willing to share it with others, resently I am studing the CZM and what to simulate the surface problems with the FEM, but I am stumpt by the subrotine. I hope you can help me and send the subrotine to my email(baishalang2002@163.com). Thank you very much.

Excuse for my poor english, I am a university student from HEU,China. Expect your reply.

## Free source sub-routine

Hi Gao

I tried visiting your page however Ierror "404 not found". Can you please suggest how can I go to your page or suggest other sources I can use to get a user subroutine. I am looking for a subroutine which can perform 3D composite damage in tension or compression. Thank you

Regards

Maajid

## Link does not open

Dear Yanfei

the link you have redirected us , does not open , shall you please check and correct ? thanks a lot

## subroutine for the cohesive zone method

Dear Prof. Gao,

I am a new learner of CZM. I know that you are willing to share a subroutine about the cohesive zone element. I have searched your webpage, but I couldn't find it. Could you send it to me? My email address is E0256440@u.nus.edu.

Looking forward to your reply!

Many thanks for your help.

## User-defined subroutines

I agree. Some 15 years ago, after I had written my first UEL, I was wondering if ABAQUS would be interested in establishing a clearinghouse or repository for various user-defined subroutines. This would be similar to accessible libraries - such as NIST - for mathematic/scientific application software such as equation solvers, eigenvalue extraction routines, etc. Over time I have written UMAT and UEL routines for progressive failure analysis, higher-order plate finite elements, specialized adhesive elements, and a score of decohesion finite element incorporating various coupled cohesive zone models to joint 1-D beam, and 2-D and 3-D continuum elements.

These subroutines are just simply sitting in folders on my PC collecting electronic 'dust'. It would be nice to upload them to a site with a short README or document file for others to use.

Erik

## Re: User-defined subroutines

Dear Erik: Would you be willing to post your subroutines on iMechanica?

## Re: User-defined subroutines

Perhaps we could adopt an open-source approach. I'm not sure exactly how these projects get organized, but there are plenty of great examples out there on the web. That way, someone could choose to contribute what they already have made, and the community could improve on it, provide independent validation, etc. Could iMechanica host space for such a repository?

## Sourceforge a solution?

This is a very nice suggestion. It would be nice to have a repository of user material routines in imechanica. An alternative could be sourceforge, which would not just be a repository, but also a development hub, where different people could help develop/customize the UMAT as required.

It seems that quite a few people are interested in sharing subroutines. It would be nice if people would post their UMATs which they would like to share (or perhaps provide a link for the same) .

## User element help

Hi

I realise this is an old post.

I am in the process of developing my first user element in Abaqus, and finding it rather difficult.

The application requires modelling muscle behaviour. Hence a spring model (linear at this stage) with 3 elements: 2 in series with each other, and these 2, parallel to the third was implemented.

My problem involves static condensation of the stiffness matrix. (similar to mixed-methods)

Any advice/assistance would be great.

Regards

YK

## hi my freind

hi

i need uel subrotine(dynamic beam code)

please send for me uel tutorial about UEL

my email:attash3099@yahoo.com

## nice and good thought

nice and good thought

## Merging two threads with same topic

It seems that there are two different threads with the same topic and both have interesting comments. It would be nice if the moderators could merge these two. http://www.imechanica.org/node/2375

## Re: Merging two threads with same topic

We have not found a way to merge two threads. However, a user can always write a comment to link the two threads, as you have just done. More broadly, this method is probably more effective than merging threads, because the method can relate even loosely related threads.

## Dispersity!!!

http://imechanica.org/node/3433

## thanks, interst.

thanks, interst.

## Thanks

Thanks

## user subroutine about MTS model

Hi,

can anyone upload ABAQUS umat for MTS model? I wrote one but I am afraid is not correct because it doesn't match the experiment result quite well.

Thanks.

## Graduation Project

Hello;

In my graduation project, the instructor wanted from me to work the UMAT Subroutines in ABAQUS. I am looking for someone who can help to me about this issue. I really got an urge for completin this project and really need of somebody's help.

From now am thanking to the ones who will help to me.

I am lettin my msn adress for the ones who want to contact with me...:

alper_tastan@hotmail.com

## I can't agree more!

I can't agree more! Furthermore, this problem doesnot exist on ABAQUS uniquely. This same idea can be also helpful to ANSYS, Nastran and so on!

## Abaqus Process Automation Portal

Hello, Re: Sharing Abaqus UMAT and VUMAT subroutines.SIMULIA has an “Abaqus Process Automation Portal” http://www.simulia.com/PAPortal/This portal provides a mechanism to the SIMULIA (Abaqus) community for collaboration through discussion forums for GUI customization and scripting techniques. Users can upload, download, and share solutions and process automation components.

The Abaqus Process Automation Portal is approaching its 5 year anniversary and many engineers found it to be a useful resource. Almost 3000 registered members currently exist and this number continues to increase steadily.

Regards, Rene

## uel

工欲善其事，必先利其器！

Hello,everyone, i just have a question, if i have the UEL,can i use it to simulate the dynamic problem?

## modeling a reinforced concrete cylindrical shell

I want to model a reinforced concrete cylindrical shell with abaqus using concrete damaged plasticity model. I want to model meridional and circumferential rebars in cylindrical shell in abaqus cae. I want to know which rebar geometry (angular or constant) I should use for modeling of both meridional and cirunferential rebars.Can I plot crack pattern for reinforced concrete shell in abaqus?please guide me

## Tutorial

You can find a good tutorial for UMAT in the following post

http://imechanica.org/node/7576

## Hi everyone. Im a phd

Hi everyone.

Im a phd student who is learning ABAQUS for a short time, now I am using UMAT subroutine to define my own material, but when I finished coding fortran file with .f extendings, I dont know how to connect my subroutine file and input file(.inp) with ABAQUS.

When I write C:\Temp> abaqus job=test user=...

Input File : ...

Abaqus error : the following file(s) could not be located:...inp

I could not find any information in abaqus tutorial.

thanks

## it seems that the input file

it seems that the input file (test.inp) is not in the same path with that that you are running ABAQUS in.

## UMAT for PGM

hi guys, im trying to make a UMAT code for Plasticaly Graded Materials, is there anyone have experience with the same topic?

## hello i am new in abaqus

hello

i am new in abaqus umat. before i worked in windows xp but i have a windows 7 and os 64 bit

i installed abaqus 6.10, intel visual fortran 11.1.60 and vs2010 but i can not configure them, can anyone help and give the [procedure to configure abaqus in fortran

thank`s a lot

## Problem with updating stress in Vumat while temperature higher

hello,all!

In my simulation with vumat, the temperature will be higher than its melting temperature on several integral points, how sholud i update the stress and strain in that situation? Give them zero value? I think pressure shold be exist, but how to calculate it?

anyone can help me with this problem?

thanks

## Writing subroutines in Fortran90 or higher versions

Hello everyone,

I am a student of Msc in Computational Engineering at Ruhr University Bochum in Germany. I am implementing a new piezoelectric element as a part of my Master Thesis. I am supposed to write a UEL subroutine and implement it in abaqus.I would like to know whether anyone has written subroutines in Fortran 90 or further versions and implemented them in abaqus. All the Help documents in Abaqus have subroutines written in F77. If it possible in F90, then it will be very helpful if someone could point out the necessary modifications that one has to make to the F90 file to run it in Abaqus. I think many ppl have this question .I myself have been trying to figure out an answer from past 1 month but could not find a convincing solution anywhere.

## Have you tried yet?

I have never done this, but I don't think there should be a problem in general. Make sure you've configured Abaqus to use a Fortran 90-aware compiler and if you're lucky it will Just Work.

I

haveused Abaqus user subroutines written in C++. In that case I just provide Abaqus the object file instead of the source code and it links it without caring what generated it. When you provide user=something, Abaqus automatically checks to see if it's source code or precompiled.## Hi Graham, Thanks for ur

Hi Graham,

Thanks for ur suggestion. I have made all my subroutines in F90 . I got a doubt when i read in one of the abaqus documents on "Writing User Subrotines in Abaqus" that we have to specifically use F77 conventions. I should now figure out a way of configuring my Abaqus to use my F90 subroutines.

## Rename compiler?

A hack might be to rename your F90 compiler to your F77 compiler.

-Nachiket

## how do i model stress wave propagation in a shpb

I am an MSc student and my dissertation topic requires me to model a split hopkinson pressure bar.I am modelling a SHPB assembly together with the specimen, and I am having trouble with placing the loads,creating the boundary constrain between the incident, transmitter bar and the specimen. I created the interaction between the assembly with a suppressed TIE, and after loading and submitting the job I kept on getting errors. The load did not transmit to up to a quarter of the incident bar.

I neeed suggestions on how to apply the attachment between the separate components that make up the assembly, how to time step properly and the loading sequence.

I made use of ABAQUS Explicit

## Badri Veluri Hi

Badri Veluri

Hi Erik,

Can you please share your knowledge as I am working on building the UEL for a cohesive zone model under fatigue loading. So that if I refer your knowledge base it would help me in getting some good point.

E-mail: badrinath.veluri@hotmail.com

Thanks in advance

Regards

Badri

## Modeling thermal debinding behaviour on Abasus or Comsol

Hi freinds,

I 'm preparing PHD Tthesis in mechanics feild, i arrived to modelise densification of powders on Abaqus, but i can't modelise the thermal debinding behaviour (loss of polymer weight vs temperature). Anyone have an idea about this.

I have comsol and Abauqs

Thanks for your answers !

belman@hotmail.fr

Bel

## please help me

Hi dear friends

After much effort and time and confusion with VS, Intel Fortran Compiler and Abaqus (installaion,version,paths,...), I finally could run an analysis with UMAT subroutine successfully. This run and also some others were all extracted from Abaqus Documentation.

Now i wanna implement an analysis by my own. So i read the documentation and wrote a UMAT file by making my own changes in documentation file. From algorithm point of view, the file is correct. But i wanna know how i could link the Fortran file and Abaqus file. I mean how Abaqus realizes the Fortran file is the compatible subroutine for the model? Logically, a subroutine file shouldn't be compatible with another abaqus file. (I don't know if i could explain my problem !)

By the way, i've figured out that one of the links is about Property module. I should define a USER MATERIAL in "Edit material", and i also should define variables in there compatible with PROPS ( I'm mixed up right now!!!).

PLEASE guide me.

## Request

Hi friends,

I need umat subrotine(Lemaitre damage model)

please send for me if u have it.Thank u.

My email: epeyman_hf@yahoo.com

## Over time I have written

Over time I have written UMAT and UEL routines for progressive failure analysis, higher-order plate finite elements, specialized adhesive elements, and a score of decohesion finite element incorporating various coupled cohesive zone models to joint 1-D beam, and 2-D and 3-D continuum elements. kidney stones

## Help about a work

hey

I am doing approximately the same thing and I have some problems, could you please send me an example of what you have done?

I have no idea where should I start actually to write a failure analysis code. :(

Thank you

## an error in abaqus

hi

I have compiled a fortran code and used it as a subroutine but I have resieved this errore:

Error in job Base_subro: Problem during linking - Abaqus/Standard User Subroutines. This error may be due to a mismatch in the Abaqus user subroutine arguments. These arguments sometimes change from release to release, so user subroutines used with a previous release of Abaqus may need to be adjusted.

Wht should I do with it?

Thanks

## Hi kawaminaii !

I have met this problem before.Maybe there is some error in your Fortran file,you can check it out especially for the program grammar.

Good luck!

## anisotropic hardening

Hi,Does any one worked with Vumat subrotine for anisotropic hardening ?If you have any sample code for anisotropic hardening just let me know.

## subroutine

Hi freinds

days ago i write a subroutine for contilever beam whit various young modulus.it is true for 2D beam but for 3D beam write error.

ERROR:Too many attempts made for this increment

Abaqus/Standard Analysis exited with an error - Please see the message file for possible error messages if the file exists.

i change the load and step increment freuqently but its not true yet.i dont khnow where is Incorrec.

please help me.............

thanks.

## Linking between C++, Fortran and ABAQUS

Hello,

I have recently purchased Intel Visual Fortran 11.1.072 and Visual Studio 2010. I am currently using ABAQUS 6.10ef2. After installing this according to the following sequence,

1. Microsoft Visual C++

2. Intel Fortran

3. ABAQUS

my verification shows that the status of both visual studio and fortran is failed. Is there anybody who can help me in this regard?

Mesbah

## BUETIAN!!!!!!!

Mesba Bhai.....I am from 03 batch....BUET. I did my Msc and BSc thesis using ABAQUS. where are you now? you are also my FB friend!.

akjon BUETIAN dekhe valo laglo:-)

what are you doing using ABAQUS?

you can personally communicate me @sajib.civil@gmail.com

I will be glad to have a response frome you.

Thanking You

B.K.M.Ashraful islam SAJIB

## femur fracture damage static and dynamic umat abaqus

salamI need model of femur abaqus and how static loading on cortical bone

What is the relationship between abaqus and umat

thank you

My email: salah_cao@yahoo.fr

## I want a GTN model subroutine and try to modify it

Hi friends,

I need umat and Vmatsubrotine (GTN model)

please send to me if u have it. Thank u.

My email: guojunhang@163.com

fracture;plasticity

## configue abaqus to fortran

please i need how to configure abaqus with fortran and I install

abaqus6.11andFORTRAN10andmicrosoftvisual10program when run under abaqus there is a error:Problemfalling on compilation - ifort.exe not found inPATH.how will be please

thank you

## hallo I need to used the

hallo

I need to used the umat Abaqus for simulate the thermomechanical effect in composite plate

please help me for this

## thermomechanical effect in FGM blade

I need to used the umat Abaqus for simulate the thermomechanical effect in FGM blade

please tell me if you get any help or guide lines

## how to input stress in subroutine

Hi...

if i have the equation as below

σ(n+1) = σ (n) +delta(σ)

if i get the initial stress, σ (n) and the differential stress, delta(σ), ist i need the call the (KEY . EQ. 11) THEN ....

or i need to make the full stiffness matrix and then

do i = 1, ntens

stress (i) = .......

ur help highly appreciated.

## help

hy every one well iam working abou a project of active vibration control of fgm plate and iam using ansys but i have a probleme in how to do a 3d fgm plate in ansys

so i need a apdl code

my email: kouider84@live.com

any help thank's

## Abaqus UMAT for modeling cracking in an early-age concrete

Hello...

I am starting an academic project and i aim to model cracking of an early age concrete with abaqus..

knowing that I am just starting and this is a classical problem, i need to know if the material behavior already exist in Abaqus ? if not, does any one knows how to create the corresponding UMAT ?

Thanks...

## Nuclear reactor

Why nuclear grade graphite is used as a moderator better than other moderator and why it is economical than other.

## ABAQUS CAE-RESIDUAL STRESS

Hello everyone. My name is Alex, I'm a doctoral student at the University of Salamanca. I am working with an axisymmetric model, steel material. I intend to obtain the residual stresses produced when hits on a major load model (Tera Pascals) for a very short time (picoseconds). The constitutive model is working: Elastic isotropic, platic johnson-cook, eos us-up. First work with Abaqus Explicit Abaqus and then Standart (I import tensions), but Abaqus CAE / Standart (version 6.13.2) does not allow plastic or Johnson-cook or EOS. To get "the spring back and therefore residual stress.

Please could someone help?.

Thank

Regards.

## SHPB

Hi all,

I want to learn the steps of the simulation program on the subject of Abacus about (split Hopkinson pressure bar compression)with and without effect temperature .This device gives high strain rate impact where it two long bars between it put the specimen and then strike with short bar. Our data collection system consists of a pair of strain gages midway along each bar. Data is recorded and presented as the initial impulse wave passes the incident bar strain gages, a reflected pulse from when the wave hit the end of the bar and reflected back to the incident bar strain gage and finally a transmitted pulse which is what remains of the wave after it has passed through a sample. In all cases the voltage reading from the strain gages should return to zero once the wave has passed. However with the new bar the signal lingers after the wave has passed a gage.

my version 6.12

Please anyone can help me

regards

## VUMAT not running

<p>HI </p>

<p>I am new to abaqus I am writing VUMAT for neo hookean material. earlier I done UMAT and it run successfully </p>

<p>but while running VUMAT it is giving error that "cannot open include file 'vaba_param.inc' ". I am giving command correctly </p>

<p>is there any other possibility. can input file error cause this kind of error?</p>

## a matlab code to add cohesive elements for any 2D mesh

Add my 2 cents here:

http://imechanica.org/node/17545

## Can somebody upload a UMAT

Can somebody upload a UMAT for Schapery Material Model (1-D or 3-D)of non-linear viscoelastic materials?

## Elasto - plasticity using ABAQUS

Hallo,

can anyone explain me how ABAQUS compute the PEEQ, PENER, and SENER for a elasto- plasticity problem. Second thing i want to know how does ABAQUS compute the equivalent strain for such problem. It will be really helpful if someone help me out or give me some link.

Thanking you

Braj

## Combining two different UMATs.

Dear all,

Salaam,

I am going to use two different UMATs for my model. The first one defines super-elasticity and the second one defines bone remodeling proces on my model. My question is, how can I combine them and use them simouloltaniously?

## Brad: Umat

In the input file you should have two different user materials with different names. The variable cmname, holds the material name.

In the fortran subroutine file, your code should approximately look like:

subroutine umat ()

variable declarations

if cmname .eq. 'matl1. then

---constitutive equation 1

if cmname .eq. 'matl2 then

--constitutive equation 2

end

I do not remember, the exact syntax. Please read the abaqus manuals for the same.

Best of luck

Brunda

## VUMAT subroutine file:A multiscale model required

Hi Everyone,

I want to implement the multi-scale model for ceramics under ballistic impact. My reference paper: Dynamic fragmentation of brittle solids: a multi-scale model,Christophe Denoual, François Hild. I have studied the Dassault systems 'Writing user subroutines in ABAQUS'. I have read the examples also. But the model I have has a new parameters which are not similar to the example models. I want to do Abaqus/Explicit analysis.If any one can help me regarding this it would be great. Please read the paper and give me some idea of how to implement in Abaqus using Subroutine VUMAT.If you have the subroutine it would be great help if you please send the subroutine to my email Id:kosuribs99@gmail.com

## change some parameters in existing material models

Dear all

I wanna to change an existing material model so that some of it's parameters can be changed as a function of strain-rate. for example, i want to alternate flow stresses in simple plastic material model of abaqus. it should be noted that i have a function for strain rates that has abnormal relation with strain-rates.

## dependencies

That should be feasible using the option PLASTIC, DEPENDENCIES

otherwise:

ABAQUS mailing list

https://groups.yahoo.com/group/ABAQUS

## Is my VUMAT subroutine right?

Hi,

I has written a subroutine for the 'probabilistic damage model for the dynamic fragmentation in brittle materials,hild,advances in applied mechanics,2010'..The procedure I followed in UMAT subroutine is as follows:

1.I calculate the principal stresses.

2.Randomly generate a failure stress according to equation(84) in 2010 paper.

3.For each principal stress I calculate the modified defect growth density given in equation(83) in 2010 paper.

4. Corresponding to each principal stress a damage value is found according to the conditions given in equation(81) in 2010 paper(NOTE:Anisotropic damage model is used in three orthogonal directions D1,D2,D3 )

5.I update the damage tensor/compliance tensor using (33)(JPEG file is attached)as provided in multi-scale model paper(2002).

6.I update the stress and repeat the steps:1-6.

NOTE:1.The material is isotropic elastic needs only E,poisson's ratio,material parameters.The other material parameters like weibull parameters are also given. Refer the papers provided for clarification.

2.I am dealing with Impact problems so I need VUMAT

I have a doubt in VUMAT if I calculate compliance tensor(as show in attached file) at each step and inverse it to obtain the constitutive tensor and then multiply with strainInc to obtain stress increment.I will not update Jacobian.Can I do this in VUMAT to calculate stressNew?.Is my subroutine right?.Please check the VUMAT.txt file.Am I updating the stress correctly?

subroutine vumat(

1 nblock, ndir, nshr, nstatev, nfieldv, nprops, lanneal,

2 stepTime, totalTime, dt, cmname, coordMp, charLength,

3 props, density, strainInc, relSpinInc,

4 tempOld, stretchOld, defgradOld, fieldOld,

3 stressOld, stateOld, enerInternOld, enerInelasOld,

6 tempNew, stretchNew, defgradNew, fieldNew,

5 stressNew, stateNew, enerInternNew, enerInelasNew )

C

INCLUDE 'VABA_PARAM.INC'

C

C

C All arrays dimensioned by (*) are not used in this algorithm

dimension props(nprops), density(nblock),

1 coordMp(nblock,*),

2 charLength(*), strainInc(nblock,ndir+nshr),

3 relSpinInc(*), tempOld(*),

4 stretchOld(*), defgradOld(*),

5 fieldOld(*), stressOld(nblock,ndir+nshr),

6 stateOld(nblock,nstatev), enerInternOld(nblock),

7 enerInelasOld(nblock), tempNew(*),

8 stretchNew(*), defgradNew(*), fieldNew(*),

9 stressNew(nblock,ndir+nshr), stateNew(nblock,nstatev),

1 enerInternNew(nblock), enerInelasNew(nblock)

C

character*80 cmname

C

C

***********************************************************************************

** VUMAT,PROBABILISTIC DAMAGE MODEL FOR ABAQUS/STANDARD INCORPORATING **

** ELASTIC PROPERTIES AND WEIBULL PARAMETERS **

** **

***********************************************************************************

***********************************************************************************

**

**

**

*USER SUBROUTINE

PARAMETER (M=3,N=3,ZERO=0.D0,ONE=1.D0,TWO=2.D0,THREE=3.D0,

+ SIX=6.D0, NINE=9.D0,XALPHA=0.31,S=4.18)

C

DIMENSION XIDEN(M,N),XC(6,6),XS(6,6),

+ STR(M,N),XDAM(nblock,M),AJAC(6,6),STRN(M,N),

+ XPRIN(nblock,M),XDEF(nblock,M),XPRINN(nblock,M),

+ XFAIL(nblock),XPRINR(nblock,M)

dimension eigVal(nblock,M), eigVec(nblock,M)

real V,B,RKO,RKT,RKTH,RKF,RK

integer seed

seed=7654321

C

C XDAM=DAMAGE VALUE CORRESPONDING TO EACH PRICIPAL DIRECTION,XPRIN=PRINCIPAL STRESS

C XDEF=MODIFIED GROWTH DEFECT DENSITY CORRESPONDING TO EACH PRINCIPAL STRESS

C XPRINN-PRINCIPALSTRESS NEW,XPRIN-PRICIPAL STRESS OLD

C XPRINR-PRINCIPAL STRESS RATE

C

C--------------------------------------------------------------------

C

C SPECIFY MATERIAL PROPERTIES

C ALL DIMENSIONS ARE IN meter

C

E=props(1)

XNUE=props(2)

XDENSITY=props(3)

XPOROSITY=props(4)

XM=props(5)

XMEANFS=props(6)

XEFFVOL=props(7)

ALAMBDA=E*XNUE/(ONE+XNUE)/(ONE-TWO*XNUE)

AMU=E/(ONE+XNUE)/2

V=SQRT(E/XDENSITY)

DO I=1,M

DO J=1,N

STR(I,J)=ZERO

END DO

END DO

NTENS=ndir+nshr

DO I=1,NTENS

DO J=1,NTENS

AJAC(I,J)=ZERO

ENDDO

ENDDO

C STATE VARIABLES:1 TO 3 ARE DAMAGE VALUE VARYING FROM 0 TO 1

C STATE VARIABLES:4-FAILURE STRESS

C STATE VARIABLES:5,6,7-PRINCIPAL STRESSES

C STATE VARIABLES:8,9,10-DEFECT DENSITY CORRESPONDING TO EACH PRINCIPAL STRESS

if (stepTime.eq.zero) then

do 101 i = 1,nblock

B=((XEFFVOL)*((XMEANFS)**XM))

PK=ran(seed)

Q=ONE/(ONE-PK)

XFAIL(i)=(XMEANFS)*((LOG(Q))**(ONE/XM))

AJAC(1,1)= (ALAMBDA+TWO*AMU)

AJAC(2,2)= (ALAMBDA+TWO*AMU)

AJAC(3,3)= (ALAMBDA+TWO*AMU)

AJAC(4,4)= AMU

AJAC(5,5)= AMU

AJAC(6,6)= AMU

AJAC(1,2)= ALAMBDA

AJAC(1,3)= ALAMBDA

AJAC(2,1)= ALAMBDA

AJAC(2,3)= ALAMBDA

AJAC(3,1)= ALAMBDA

AJAC(3,2)= ALAMBDA

print*, 'Failure stress'

print*, XFAIL(i)

DO j=1,NTENS

stressNew(i,j)=stressOld(i,j)+

2 (DOT_PRODUCT(AJAC(j,:), strainInc(i,:)))

ENDDO

stateNew(i,4)=XFAIL(i)

seed=seed+1

101 continue

endif

do 100 i = 1,nblock

C

C WRITE STRESSES IN MATRIX FORM

C

DO j = 1,3

STR(j,j) = stressOld(i,j)

END DO

STR(1,2) = stressOld(i,4)

STR(2,1) = stressOld(i,4)

STR(1,3) = stressOld(i,5)

STR(3,1) = stressOld(i,5)

STR(2,3) = stressOld(i,6)

STR(3,2) = stressOld(i,6)

c FIND THE EIGEN VALUES OF THE STRESSOLD MATRIX

CALL VSPRINC( NBLOCK, STR, eigVal, ndir, nshr )

C EVR IS THE PRICIPAL STRESSES

DO j=1,3

XPRIN(i,j)=eigVal(i,j)

ENDDO

print*, 'old principal stress'

print*, XPRIN(i,:)

C

C WRITE STRESSES IN MATRIX FORM

C

DO j = 1,3

STRN(j,j) = stressNew(i,j)

END DO

STRN(1,2) = stressNew(i,4)

STRN(2,1) = stressNew(i,4)

STRN(1,3) = stressNew(i,5)

STRN(3,1) = stressNew(i,5)

STRN(2,3) = stressNew(i,6)

STRN(3,2) = stressNew(i,6)

c FIND THE EIGEN VALUES OF THE STRESSNEW MATRIX

CALL VSPRINC( NBLOCK, STRN, eigVal, ndir, nshr )

C EVR IS THE PRICIPAL STRESSES

DO j=1,3

XPRINN(i,j)=eigVal(i,j)

ENDDO

print*, 'new principal stress'

print*, XPRINN(i,:)

C FINDING THE PRINCIPAL STRESS RATE

DO j=1,3

XPRINR(i,j)=(XPRINN(i,j)-XPRIN(i,j))/dt

ENDDO

print*, 'principal stress rate'

print*, XPRINR(i,:)

C FINDING THE DEFECT DENSITY CORRESPONDING TO EACH PRICIPAL STRESS

C FINDING THE DAMAGE VALUE CORRESPONDING TO EACH PRINCIPAL STRESS

C REFER EQUATION 83

DO j=1,3

IF (XPRINR(i,j).LE.ZERO) THEN

stateNew(i,j)=stateOld(i,j)

ELSE

IF ((XPRIN(i,j).GT.ZERO).AND.(XPRINR(i,j).GT.ZERO))THEN

IF (XPRIN(i,j).LE.XFAIL(i)) THEN

stateNew(i,j+7)=ZERO

stateNew(i,j)=ZERO

ELSE

stateNew(i,j+7)=K*((XPRIN(i,j))**XM)

C XBETA IS THE VALUE OF THE RIGHT HAND SIDE IN THE EQUATION 81

XBETA=6*S*((0.33*V)**3)*stateNew(i,j+7)

RKO=((1-XDAM(i,j))*(XBETA*(totalTime**2)))/2

RKT=((1-(XDAM(i,j)+((dt*RKO)/2)))

1 *(XBETA*((totalTime+dt/2)**2))/2)

RKTH=(1-(XDAM(i,j)+(dt*RKT)/2))

1 *(XBETA*((totalTime+dt/2)**2))/2

RKF=(1-(XDAM(i,j)+(dt*RKTH)))

1 *(XBETA*((totalTime+dt)**2))/2

RK=RKO+2*RKT+2*RKTH+RKF

stateNew(i,j)=stateOld(i,j)+((dt/6)*RK)

ENDIF

ELSE

stateNew(i,j+7)=ZERO

stateNew(i,j)=ZERO

ENDIF

ENDIF

ENDDO

print*, 'Damage values'

print*, stateNew(i,1)

print*, stateNew(i,2)

print*, stateNew(i,3)

C STATE VARIABLES:1 TO 3 ARE DAMAGE VALUE VARYING FROM 0 TO 1

C STATE VARIABLES:4-FAILURE STRESS

stateNew(i,4)=XFAIL(i)

stateNew(i,5)=XPRIN(i,1)

stateNew(i,6)=XPRIN(i,2)

stateNew(i,7)=XPRIN(i,3)

C UPDATING THE STRESS MATRIX:TO DO THAT UPDATE THE COMPLIANCE TENSOR

C MATRIX AND INVERSE THE COMPLIANCE TENSOR TO OBTAIN THE CONSTITUTIVE TENSOR

C XC=COMPLIANCE TENSSOR,XS=INVERSE OF COMPLIANCE TENSOR

XC(1,1)=ONE/E/(1-stateNew(i,1))

XC(1,2)=(-XNUE)/E

XC(1,3)=(-XNUE)/E

XC(1,4)=0.0

XC(1,5)=0.0

XC(1,6)=0.0

XC(2,1)=(-XNUE)/E

XC(2,2)=ONE/E/(1-stateNew(i,2))

XC(2,3)=(-XNUE)/E

XC(2,4)=0.0

XC(2,5)=0.0

XC(2,6)=0.0

XC(3,1)=(-XNUE)/E

XC(3,2)=(-XNUE)/E

XC(3,3)=ONE/E/(1-stateNew(i,3))

XC(3,4)=0.0

XC(3,5)=0.0

XC(3,6)=0.0

XC(4,1)=0.0

XC(4,2)=0.0

XC(4,3)=0.0

XC(4,4)=(ONE+XNUE)/((ONE-stateNew(i,2))**(XALPHA))

3 /((ONE-stateNew(i,3))**(XALPHA))/E

XC(4,5)=0.0

XC(4,6)=0.0

XC(5,1)=0.0

XC(5,2)=0.0

XC(5,3)=0.0

XC(5,4)=0.0

XC(5,5)=(ONE+XNUE)/((ONE-stateNew(i,3))**(XALPHA))

4 /((ONE-stateNew(i,1))**(XALPHA))/E

XC(5,6)=0.0

XC(6,1)=0.0

XC(6,2)=0.0

XC(6,3)=0.0

XC(6,4)=0.0

XC(6,5)=0.0

XC(6,6)=(ONE+XNUE)/((ONE-stateNew(i,1))**XALPHA)

5 /((ONE-stateNew(i,2))**XALPHA)/E

C FINDING XS=INVERSE OF COMPLIANCE TENSOR BY GUASS JORDAN METHOD

CALL INVERSEA(XC,XS)

print*, 'inverse of compliance tensor'

print*, XS(:,:)

DO j=1,NTENS

stressNew(i,j)=stressOld(i,j)+DOT_PRODUCT(XS(j,:), strainInc(i,:))

ENDDO

100 continue

return

end

********************END OF VUMAT SUBROUTINE******************************

*************************************************************************

C ** INVERSE OF A 6X6 MATRIX BY GAUSS JORDAN METHOD

*************************************************************************

C ** INVERSE OF A 6X6 MATRIX BY GAUSS JORDAN METHOD

SUBROUTINE INVERSEA(A,C)

C

INCLUDE 'VABA_PARAM.INC'

C

PARAMETER (M=6,N=6)

DIMENSION A(M,N),B(6,12),C(M,N)

INTEGER I,J,N

C ** BUILDING AUGUMENTED MATRIX B

DO 40 J=1,N

DO 30 I=1,N

B(I,J)=A(I,J)

30 CONTINUE

40 CONTINUE

DO I=1,N

DO J=N+1,2*N

IF ((J-I).EQ.N) THEN

B(I,J)=1.0

ELSE

B(I,J)=0.0

ENDIF

ENDDO

ENDDO

DO 160 I=1,N

B(I,:)=B(I,:)/B(I,I)

DO 150 J=1,N

IF (I.NE.J) THEN

B(J,:)=B(J,:)-B(J,I)*B(I,:)

ENDIF

150 CONTINUE

160 CONTINUE

DO I=1,N

DO J=N+1,2*N

C(I,J-6)=B(I,J)

ENDDO

ENDDO

PRINT*,'C MATRIX ROW 1'

PRINT*, C(1,:)

RETURN

END

## Need to simulate a specimen (tensile testing) when it shear at 4

can any one give me an idea how to simulate a sample specimen while subjected to tensile load and fracture or shear out at the middle of the specimen at 45 degree on Ababqus CAE. please if you have the procedure to simulate it send me throgh my email

bogale.sintayehu@gmail.com

Thank you so much!!

## tensile test

ABAQUS mailing list

https://groups.yahoo.com/group/ABAQUS

## varying friction angle with plastic strain using usdfld

hi everyone!!

i m a new user in both abaqus and fortran. can anyone tell me if i can use USDFLD subroutine to vary frictional angle with respect to plastic strain according to Vermeer 1984

## UMAT for shape memory polymer

I AMA PhDs and also a new user with UMAT. Does any one can help me debug my UMAT which is modeling the

shope memory effect of polymer? Does any one have good experienc. of SMPs please give me a great help on this. thanks in advance.My e-mail is liqinan1986@gmail.com

## Nonlinear problem with abaqus

Hy,

I am a Ph.D and also a new user with subroutine and abaqus. I hope some one can help me, I have a hydrodynamic problem I simulate seal (elastomer -hyperelastic material) in contact with fluid wich gouverned by Reynolds equation (I resolve it in subroutine). The deformation of seal is great wich stop simulation don't converge.

do you have idea how to resolve this problem, how to optimase time of calcul.

Thanks in advance

my e-mail : abdelhak.azzi@univ-poitiers.fr

## Need help in VUMAT

Hello

I want to model the FG Material in VUMAT. For this I need x and y components of each material point. But Abaqus gives me only one x and y per each nblock. While each nblock is composed of multiple material point.

Please guide me.

Thanks,

Reza Pourshab

## Abaqus mailing list

Subscribe to and seek assistance from the

ABAQUS mailing list

https://groups.yahoo.com/group/ABAQUS

Search the archive before posting.

For an intro to subroutines get the file

http://imechanica.org/files/Writing User Subroutines with ABAQUS.pdf

Good luck

Frank