SimplifiedFiniteElements
Tutorial:WriteasimpleUMATinABAQUS
Introduction
UMATstandsforUserMaterial.
AlthoughABAQUSandmanyothercommercialFEsolvershaveasubstantialnumberofbuiltin
materialmodelswhichcanbeusedforsimulationbuttheystillcantkeeppacewiththe
advancementsintheeldofmaterialsciencetechnology.UMATs,simplyallowtheusertoinclude
theirdesiredmaterialbehaviorinsimulation.
Anexample..
Considertwoguysworkinginaworkshop.Theyapplydierentloadsonthespringandmeasureits
responseunderthoseloads.
GuyAstretchesthespringby2cm.NowGuyBusesthisinfoalongwithhisknowledgeaboutthe
propertiesofspringtocalculatethestressesinsidethespring.HeinformsAaboutthestateofthe
spring.NowitsAsjobtodecideifthespringcanbefurtherstretchedornot.
ReplaceGuyAwithsolverandGuyBwithUMAT.ThisisacrudeexampleofhowaFEsolver
interactswithaUMAT.
WhenyouareusingasimplespringthenGuyBisgoodenough.Forafancyspringyouneeda
specialist(orUMAT).
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 1/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
Tutorial
Ijustwanttoshowhowtogetstartedwithusing/writingasimpleumatinABAQUS.SoIhave
selectedoneofthesimplestpossibleexamplesforthispurposeAsimplerectangularblock.
Theblockisstretchedinverticaldirectionandstressesarecomputedusingumat.Theblockbehaves
asanisotropiclinearelasticmaterial.
WhatdoesIsotropiclinearelasticmean?
ThewordisotropicisderivedfromaGreekword.Isosmeansequalandtroposmeansway.
Hereisotropicsimplymeansthatthepropertiesofthematerialaresameinalldirections.
Ifyouareholdingasteelblockandtapononeofitsfaces(Face1).Thesoundwavewillreach
theoppositefaceintimet1.Nowtaponface2andface3.Timetakenbythewavetoreachthe
oppositeendsinbothcasesist2andt3respectively.Ift1,t2andt3areequal,thenthesteel
blockisisotropicforthepropertythatisbeingmeasuredspeedofsoundinsteel.
Elasticsimplymeansthatwhenthematerialisunloaded,itwillreturntoitsoriginal
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 2/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
Elasticsimplymeansthatwhenthematerialisunloaded,itwillreturntoitsoriginal
(undeformed)state.
LetsstartwritingtheUMAT.
Hookeslawisoneofthemostfamousequationsdescribingtherelationbetweenmechanicalload
anddeformationofamaterial.
Deformation=(Howthematerialrelievestheloadbydeforming)x(Loadonthestructure/material)
InFiniteelements,thedierentialequationsaresolvedinsuchamannerthatweincrementally
deformthestructure(i.e.applydisplacementorstrains)andcomputetheresultingforcesgenerated
insidethematerial(i.e.stresses).Letsshuetheequation,sothatwegetstressesonthelefthand
side.WhenHowthematerialrelievestheloadbydeformingistakentothelefthandside,it
becomes,Howthematerialresistsdeformation.HenceHookeslawcannowbewrienas,
Forces/Stressesgeneratedinsidethematerial=(Howthematerialresistsdeformation)xDeformation
Thesecondtermintheaboveequation(Howthematerialresistsdeformation)iscalledthestinessof
thematerial.Weneedtoinputthisstinessintheformofamatrixinourumat.ABAQUSusesthis
equationtocomputethestressesinsidetheblockforagivendeformation.Letstrytobuildthe
stinessmatrixintuitively.Supposeyouhaveamarshmallowinyourhandrightnow.Assignx,y
andzdirectionsalongany3perpendicularedgesofthemarshmallow.
(hps://simpliedfem.les.wordpress.com/2016/09/image.jpg)
Soyoucanstretchthemarshmallowin3dierentdirections.Stretchinydirection.Themarshmallow
willelongateinthisdirection.Butitwillalsocontractinxdirection.Whyisthathappening?To
understandweneedtolookhowattheatomsinsidethemarshmallowinteract.Letsreplaceatomsby
ourgoodfriendMr.Muellerandseewhathappens.
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 3/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/image
2.jpg)
AsyoupullthemiddlecolumnofMr.Muellersinydirection.Thecolumnsoneithersidealso
experienceaneectofthispull.Theygetdraggedtowardsthemiddlecolumn(i.e.deformationinx
direction)andalsoalongthedirectionofthepull(ydirection).Thishappensbecauseallthecolumns
areconnectedtoeachother.
(hps://simpliedfem.les.wordpress.com/2016/09/laice_xy.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/laice_yz.jpg)
Henceapullinydirectionwillresultinadeformationnotonlyinydirection.Butalsoalongx
direction.Andfora3Dobject,inzdirectionaswell.Similarlyapullinxorzdirectionwillresultin
deformationalongthepullandtheothertwoperpendicularsdirections
Ourpurposeistobuildastinessmatrix.Whichdenestheresistanceofthebodyindierent
directions.Wehave3directionsandeachdirectiongeneratesaresponseinall3directions.Hencewe
haveatotalof9(33)responses.Sothestinessmatrix[C]shouldinclude9resistancevalues.
Componentsof[C]
Resistanceinxdirectionduetoloads(likeapull)inx Cxx
direction
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 4/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
Resistanceinxdirectionduetoloads(likeapull)iny Cxy
direction
Resistanceinxdirectionduetoloads(likeapull)inz Cxz
direction
Resistanceinydirectionduetoloads(likeapull)inx Cyx
direction
Resistanceinydirectionduetoloads(likeapull)iny Cyy
direction
Resistanceinydirectionduetoloads(likeapull)inz Cyz
direction
Resistanceinzdirectionduetoloads(likeapull)inx Czx
direction
Resistanceinzdirectionduetoloads(likeapull)iny Czy
direction
Resistanceinzdirectionduetoloads(likeapull)inz Czz
direction
Whatwillbethevaluesfortheconstantsin[C]matrix?
AssumeIhavesomeuidinacontainer.Itcanbeeitheragasoraliquid.IfItellyouthattheuid
insidethecontainerisNitrogenanditspressureis2atm.CanyoudecidewhichstateisNitrogenin?
No.Youneedthevalueofanotherindependentstatevariable(likepressure).Youneedthe
temperatureoftheuid.Usingthesetwostatevariables(temperatureandpressure)youcanndout
whichstateNitrogenisin.
Similarlyforourcase(isotropiclinearelasticmaterial)weneedtwoindependentmaterialparameters
todenethestateofthematerial.WeneedoneconstantthatmeasurestheresistanceoeredbyMr.
Muellerlaiceinthedirectionofload.Andoneconstantthatmeasureshowmuchisthelaice
draggedsidewaysforavertical(perpendicular)load.TheformeriscalledYoungsmodulus(E)and
laterPoissonsratio(v).
Thenalformofthematrixisfurthersimpliedbyvariousassumptions,whicharenotrelevantfor
ourdiscussionhere.
NowHookeslawintheformofthesetwoelasticconstantsis,
(hps://simpliedfem.les.wordpress.com/2016/09/201609112136133.png)
ItstimetoenterthisequationintheUMAT.AsampleUmat(Link
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 5/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
ItstimetoenterthisequationintheUMAT.AsampleUmat(Link
(hp://abaqus.software.polimi.it/v6.14/books/sub/default.htm))isshownbelow.ItscodedinFortran.
SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1RPL,DDSDDT,DRPLDE,DRPLDT,
2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
INCLUDE'ABA_PARAM.INC'
C
CHARACTER*80CMNAME
DIMENSIONSTRESS(NTENS),STATEV(NSTATV),
1DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
4JSTEP(4)
usercodingtodefineDDSDDE,STRESS,STATEV,SSE,SPD,SCD
and,ifnecessary,RPL,DDSDDT,DRPLDE,DRPLDT,PNEWDT
RETURN
END
RefertoABAQUShelp,ifyouwanttoknowaboutalltheargumentsinthissampleUMAT.Herewe
willonlyuseDDSDDE,STRESSandDSTRAIN.
DDSDDE JacobianorStinessmatrixofthe
material
STRESS Stresstensormatrix
STRAIN Straintensormatrix
TheSTRAINmatrixisprovidedasaninputtotheUMAT.UMATthenupdatestheSTRESSmatrix
(usingDDSDDEandSTRAINmatrices)andreturnsitasanoutput.
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 6/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1RPL,DDSDDT,DRPLDE,DRPLDT,
2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
INCLUDE'ABA_PARAM.INC'
C
CHARACTER*80CMNAME
DIMENSIONSTRESS(NTENS),STATEV(NSTATV),
1DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
4JSTEP(4)
CELASTICUSERSUBROUTINE
PARAMETER(ONE=1.0D0,TWO=2.0D0)
E=PROPS(1)
ANU=PROPS(2)
ALAMBDA=E/(ONE+ANU)/(ONETWO*ANU)
BLAMBDA=(ONEANU)
CLAMBDA=(ONETWO*ANU)
DOI=1,NTENS
DOJ=1,NTENS
DDSDDE(I,J)=0.0D0
ENDDO
ENDDO
DDSDDE(1,1)=(ALAMBDA*BLAMBDA)
DDSDDE(2,2)=(ALAMBDA*BLAMBDA)
DDSDDE(3,3)=(ALAMBDA*BLAMBDA)
DDSDDE(4,4)=(ALAMBDA*CLAMBDA)
DDSDDE(5,5)=(ALAMBDA*CLAMBDA)
DDSDDE(6,6)=(ALAMBDA*CLAMBDA)
DDSDDE(1,2)=(ALAMBDA*ANU)
DDSDDE(1,3)=(ALAMBDA*ANU)
DDSDDE(2,3)=(ALAMBDA*ANU)
DDSDDE(2,1)=(ALAMBDA*ANU)
DDSDDE(3,1)=(ALAMBDA*ANU)
DDSDDE(3,2)=(ALAMBDA*ANU)
DOI=1,NTENS
DOJ=1,NTENS
STRESS(I)=STRESS(I)+DDSDDE(I,J)*DSTRAN(J)
ENDDO
ENDDO
RETURN
END
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 7/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
SavethisUMATintheformaFortranfile.Forinstanceastest_umat.for.
ThepathtothisfilewillbelaterenteredintheAbaqusJobSettings.
ABAQUSModel
Part
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
137.jpg)
Property
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 8/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot125.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot122.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
146.jpg)
Section
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 9/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot172.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
175.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
176.jpg)
Assignsection
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot182.jpg)
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 10/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot183.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
181.jpg)
Assembly
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot150.jpg)
Step
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 11/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
151.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
152.jpg)
Loads
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
153.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
154.jpg)
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 12/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
157.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
159.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
160.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
161.jpg)
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 13/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot164.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
165.jpg)
Mesh
ElementType:C3D8R
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
166.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
167.jpg)
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 14/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
168.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot169.jpg)
Jobs
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
131.jpg)
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 15/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot132.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
133.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
1792.jpg)
Results
(hps://simpliedfem.les.wordpress.com/2016/09/umat_output.png)
NowwecantweaksomeparameterinsidetheUMATtoseehowitaectstheresults.Ifyouincrease
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 16/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
NowwecantweaksomeparameterinsidetheUMATtoseehowitaectstheresults.Ifyouincrease
theresistanceofthematerialtodeformation,thenthestressesgeneratedinsidethematerialwillalso
increase.Inourcasewewilljustdoubletheresistance.DontforgettosavetheFortranle.Ifyou
savewithsomeothernamethenchangethenameoftheUMATleinABAQUSaswell.
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 17/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
SUBROUTINEUMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1RPL,DDSDDT,DRPLDE,DRPLDT,
2STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
C
INCLUDE'ABA_PARAM.INC'
C
CHARACTER*80CMNAME
DIMENSIONSTRESS(NTENS),STATEV(NSTATV),
1DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
4JSTEP(4)
CELASTICUSERSUBROUTINE
PARAMETER(ONE=1.0D0,TWO=2.0D0)
E=PROPS(1)
ANU=PROPS(2)
ALAMBDA=E/(ONE+ANU)/(ONETWO*ANU)
BLAMBDA=(ONEANU)
CLAMBDA=(ONETWO*ANU)
DOI=1,NTENS
DOJ=1,NTENS
DDSDDE(I,J)=0.0D0
ENDDO
ENDDO
DDSDDE(1,1)=(ALAMBDA*BLAMBDA)
DDSDDE(2,2)=(ALAMBDA*BLAMBDA)
DDSDDE(3,3)=(ALAMBDA*BLAMBDA)
DDSDDE(4,4)=(ALAMBDA*CLAMBDA)
DDSDDE(5,5)=(ALAMBDA*CLAMBDA)
DDSDDE(6,6)=(ALAMBDA*CLAMBDA)
DDSDDE(1,2)=(ALAMBDA*ANU)
DDSDDE(1,3)=(ALAMBDA*ANU)
DDSDDE(2,3)=(ALAMBDA*ANU)
DDSDDE(2,1)=(ALAMBDA*ANU)
DDSDDE(3,1)=(ALAMBDA*ANU)
DDSDDE(3,2)=(ALAMBDA*ANU)
DOI=1,NTENS
DOJ=1,NTENS
STRESS(I)=STRESS(I)+TWO*DDSDDE(I,J)*DSTRAN(J)
ENDDO
ENDDO
RETURN
END
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 18/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot180.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
135.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/screenshot
179.jpg)
(hps://simpliedfem.les.wordpress.com/2016/09/umat_output_2.png)
Hereyoucanseethatstresshasdoubled.Thisisbecausewehavekepttheloads(elongation)same
butdoubledtheresistance(2*DDSDDE).
P.S.UMATscandomuchmorecomplicatedstuthanjustupdatingthestresses.Sothespring
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 19/20
6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements
P.S.UMATscandomuchmorecomplicatedstuthanjustupdatingthestresses.Sothespring
analogydiscussedabovewillnotalwayshold
References
1.UMATConguration
1.hps://www.youtube.com/watch?v=ImWUFZAKlr4(hps://www.youtube.com/watch?
v=ImWUFZAKlr4)
2.AbaqusDocumentation
1.hp://abaqus.software.polimi.it/v6.14/(hp://abaqus.software.polimi.it/v6.14/)
3.SolidMechanicsinEngineeringbyRaymondParnes
BlogatWordPress.com.
https://simplifiedfem.wordpress.com/about/tutorialwriteasimpleumatinabaqus/ 20/20