Anda di halaman 1dari 20

6/13/2017 Tutorial:WriteasimpleUMATinABAQUS|SimplifiedFiniteElements

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

Anda mungkin juga menyukai