ABAQUS子程序USDFLD.docx
《ABAQUS子程序USDFLD.docx》由会员分享,可在线阅读,更多相关《ABAQUS子程序USDFLD.docx(13页珍藏版)》请在冰豆网上搜索。
ABAQUS子程序USDFLD
Abaqus/CAEUser'sManual
12.8.5 Definingfieldvariablesatamaterialpoint
(在一个材料点定义场变量)
InAbaqus/StandardyoucanintroducedependenceonsolutionvariableswithusersubroutineUSDFLD.Thissubroutineallowsyoutodefinefieldvariablesatamaterialpointasfunctionsoftime,ofanyoftheavailablematerialpointquantitieslistedin“Abaqus/Standardoutputvariableidentifiers,”Section4.2.1oftheAbaqusAnalysisUser'sManual,andofmaterialdirections.Materialpropertiesdefinedasfunctionsofthesefieldvariablesmay,thus,bedependentonthesolution.
UsersubroutineUSDFLDiscalledateachpointforwhichthematerialdefinitionincludesareferencetotheusersubroutine.
(在ABAQUS里面,你能够用子程序USDFLD来求解变量。
USDFLD允许你将一个材料点上的场变量定义为时间函数,能够使用到的材料点在用户使用手册4.2.1节中“abaqus输出变量的标识码”中被提及到。
材料的特性被定义作为场变量的函数,因此依赖于求解方法。
)
(在每个被定义材料性能的点USDFLD能够被调用)
ToincludeareferencetousersubroutineUSDFLDinamaterialdefinition:
1.FromthemenubarintheEditMaterialdialogbox,selectGeneral
UserDefinedField.
(ForinformationondisplayingtheEditMaterialdialogbox,see“Creatingoreditingamaterial,”Section12.7.1.)
2.ClickOKtoclosetheEditMaterialdialogbox.Alternatively,youcanselectanothermaterialbehaviortodefinefromthemenusintheEditMaterialdialogbox(see“Browsingandmodifyingmaterialbehaviors,”Section12.7.2,formoreinformation).
Abaqus/CAEUser'sManual
(子程序USDFLD在材料中的定义过程可参考下面:
1.在编辑材料的对话框中,选择General-UserDefinedField
2.点击OK关闭编辑材料的对话框,或者在编辑对话框中选择另外的一个材料特性。
)
======================================================================================================================================================================================================================================================================================
AbaqusUserSubroutinesReferenceManual
1.1.49 USDFLD
Usersubroutinetoredefinefieldvariablesatamaterialpoint.
(在一个材料点上使用USDFLD重新定义场变量)
Product:
Abaqus/Standard
References(参考)
∙“ObtainingmaterialpointinformationinanAbaqus/Standardanalysis,”Section2.1.6
∙“Materialdatadefinition,”Section20.1.2oftheAbaqusAnalysisUser'sManual
∙*USERDEFINEDFIELD
∙“Damageandfailureofalaminatedcompositeplate,”Section1.1.14oftheAbaqusExampleProblemsManual
∙“USDFLD,”Section4.1.24oftheAbaqusVerificationManual
Overview(概述)
UsersubroutineUSDFLD:
∙allowsyoutodefinefieldvariablesatamaterialpointasfunctionsoftimeorofanyoftheavailablematerialpointquantitieslistedintheOutputVariableIdentifierstable(“Abaqus/Standardoutputvariableidentifiers,”Section4.2.1oftheAbaqusAnalysisUser'sManual)excepttheuser-definedoutputvariablesUVARMandUVARMn;
∙canbeusedtointroducesolution-dependentmaterialpropertiessincesuchpropertiescaneasilybedefinedasfunctionsoffieldvariables;
∙willbecalledatallmaterialpointsofelementsforwhichthematerialdefinitionincludesuser-definedfieldvariables;
∙mustcallutilityroutineGETVRMtoaccessmaterialpointdata;
∙canuseandupdatestatevariables;and
∙canbeusedinconjunctionwithusersubroutineUFIELDtoprescribepredefinedfieldvariables.
(子程序USDFLD:
1.允许你在一个材料点定义场变量作为时间函数,在输出变量的标示符中列出了所有材料点的变量,除了用户定义的输出变量和uvarm uvarm。
2.能够用来介绍材料的性能,并且这种性能能够被定义为场变量的函数。
3.在各元素的材料点中,用户定义的场变量能够被调用。
4.必须调用使用程序GETVRM来接入材料点数据
5.可以和UFIELD一起使用来描述预定义的场变量)
Explicitsolutiondependence(明确解的关系)
Sincethisroutineprovidesaccesstomaterialpointquantitiesonlyatthestartoftheincrement,thesolutiondependenceintroducedinthiswayisexplicit:
thematerialpropertiesforagivenincrementarenotinfluencedbytheresultsobtainedduringtheincrement.Hence,theaccuracyoftheresultsdependsonthesizeofthetimeincrement.Therefore,youcancontrolthetimeincrementinthisroutinebymeansofthevariablePNEWDT.
(由于程序提供的接入点只是在增量的开始,解之间的相互关系应该被明确:
在增量的过程中,材料的性能不应该被得到的结果所影响。
因此,结果的准确性依赖于时间增量的大小。
因此,你能通过PENWDT来控制程序中的时间增量。
)
Definingfieldvariables(定义场变量)
BeforeusersubroutineUSDFLDiscalled,thevaluesofthefieldvariablesatthematerialpointarecalculatedbyinterpolationfromthevaluesdefinedatthenodes.Anychangestothefieldvariablesintheusersubroutinearelocaltothematerialpoint:
thenodalfieldvariablesretainthevaluesdefinedasinitialconditions,predefinedfieldvariables,orinusersubroutineUFIELD.Thevaluesofthefieldvariablesdefinedinthisroutineareusedtocalculatevaluesofmaterialpropertiesthataredefinedtodependonfieldvariablesandarepassedintootherusersubroutinesthatarecalledatthematerialpoint,suchasthefollowing:
(在子程序USDFLD被调用之前,通过节点中定义的数值采用差值法计算出材料点的场变量。
子程序中场变量的任意改动都是在材料点上的改动:
节点场变量保持着数值被定义为初始状态(预定义场变量),或者使用子程序UFIELD,程序中场变量的值被用来计算材料的性能,材料的特性被定义依赖于场变量,并且在其他子程序中被调用。
例如下面的程序:
)
∙CREEP
∙HETVAL
∙UEXPAN
∙UHARD
∙UHYPEL
∙UMAT
∙UMATHT
∙UTRS
Outputoftheuser-definedfieldvariablesatthematerialpointscanbeobtainedwiththeelementintegrationpointoutputvariableFV(see“Abaqus/Standardoutputvariableidentifiers,”Section4.2.1oftheAbaqusAnalysisUser'sManual).
Accessingmaterialpointdata(材料存储点数据)
Youareprovidedwithaccesstothevaluesofthematerialpointquantitiesatthestartoftheincrement(orinthebasestateinalinearperturbationstep)throughtheutilityroutineGETVRMdescribedin“ObtainingmaterialpointinformationinanAbaqus/Standardanalysis,”Section2.1.6.ThevaluesofthematerialpointquantitiesareobtainedbycallingGETVRMwiththeappropriateoutputvariablekeys.ThevaluesofthematerialpointdataarerecoveredinthearraysARRAY,JARRAY,andFLGRAYforfloatingpoint,integer,andcharacterdata,respectively.Youmaynotgetvaluesofsomematerialpointquantitiesthathavenotbeendefinedatthestartoftheincrement;e.g.,ER.
(你可以通过子程序GETVRM在增量的开始或者在一个线性的摄动步中设置材料点的数值。
通过子程序GETVRM,采用输出变量的减能够获得材料点的数值。
材料点数据的值呈现在矩阵中,ARRAY,JARRAY,andFLGRAY分别对应浮点型、整形、字符型。
对于在增量开始时没有定义的材料点得不到数值。
)
Statevariables(状态变量)
SincetheredefinitionoffieldvariablesinUSDFLDislocaltothecurrentincrement(fieldvariablesarerestoredtothevaluesinterpolatedfromthenodalvaluesatthestartofeachincrement),anyhistorydependencerequiredtoupdatematerialpropertiesbyusingthissubroutinemustbeintroducedwithuser-definedstatevariables.
ThestatevariablescanbeupdatedinUSDFLDandthenpassedintootherusersubroutinesthatcanbecalledatthismaterialpoint,suchasthoselistedabove.Youspecifythenumberofsuchstatevariables,asshownintheexampleattheendofthissection(seealso“Allocatingspace”in“Usersubroutines:
overview,”Section17.1.1oftheAbaqusAnalysisUser'sManual).
(在USDFLD中重新定义的作为当前变量(场变量的值通过在每个增量开始的节点数值插得到),任何新的变量必须被使用子程序用户定义变量。
在USDLFD中,状态变量能够更新,并且在其他子程序(上述列出的)中能够被调用,在这章的最后的例子中,你可以确定这些状态变量的数目。
)
Usersubroutineinterface(用户子程序的接口)
SUBROUTINEUSDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE'ABA_PARAM.INC'
C
CHARACTER*80CMNAME,ORNAME
CHARACTER*3FLGRAY(15)
DIMENSIONFIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1T(3,3),TIME
(2)
DIMENSIONARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
usercodingtodefineFIELDand,ifnecessary,STATEVandPNEWDT
RETURN
END
Variabletobedefined(被定义的变量)
FIELD(NFIELD)
Anarraycontainingthefieldvariablesatthecurrentmaterialpoint.Thesearepassedinwiththevaluesinterpolatedfromthenodesattheendofthecurrentincrement,asspecifiedwithinitialconditiondefinitions,predefinedfieldvariabledefinitions,orusersubroutineUFIELD.Theinterpolationisperformedusingthesameschemeusedtointerpolatetemperatures:
anaveragevalueisusedforlinearelements;anapproximatelinearvariationisusedforquadraticelements(alsosee“Solid(continuum)elements,”Section27.1.1oftheAbaqusAnalysisUser'sManual).Theupdatedvaluesareusedtocalculatethevaluesofmaterialpropertiesthataredefinedtodependonfieldvariablesandarepassedintootherusersubroutines(CREEP,HETVAL,UEXPAN,UHARD,UHYPEL,UMAT,UMATHT,andUTRS)thatarecalledatthismaterialpoint.
(一个数组包含着当前材料点上的场变量。
在当前增量结束的节点通过插法求得,作为指定的初始状态,预定义场变量或者只用子程序USDFLD。
方法和温度的差值法相同:
平均值用于线性单元;一个近似的线性变量被用于二次元素(可参考27.1.1)。
这些更新的数据用来计算材料性能的数据,这些数值用场变量来定义,并且能够被子程序(CREEP,HETVAL,UEXPAN,UHARD,UHYPEL,UMAT,UMATHT,andUTRS)调用。
)
Variablesthatcanbeupdated(可以更新的变量)
STATEV(NSTATV)
Anarraycontainingthesolution-dependentstatevariables.Thesearepassedinasthevaluesatthebeginningoftheincrement.InallcasesSTATEVcanbeupdatedinthissubroutine,andtheupdatedvaluesarepassedintootherusersubroutines(CREEP,HETVAL,UEXPAN,UMAT,UMATHT,andUTRS)thatarecalledatthismaterialpoint.Thenumberofstatevariablesassociatedwiththismaterialpointisdefinedasdescribedin“Allocatingspace”in“Usersubroutines:
overview,”Section17.1.1oftheAbaqusAnalysisUser'sManual.
(一组数据用来保存解相关的变量。
它们在增量开始时被接入。
在所有的例子中,STATEV能够在子程序中被更新,并且被更新的数值能够在(CREEP,HETVAL,UEXPAN,UMAT,UMATHT,andUTRS)子程序中被调用。
状态变量的数目与材料点的相关,在17.1.1中描述)
PNEWDT
Ratioofsuggestednewtimeincrementtothetimeincrementbeingused(DTIME,seebelow).ThisvariableallowsyoutoprovideinputtotheautomatictimeincrementationalgorithmsinAbaqus/Standard(ifautomatictimeincrementationischosen).
(推荐的新的时间增量和时间增量的比例。
这个变量允许你提供输入到abaqus里面的自动时间增量的算法。
)
PNEWDTissettoalargevaluebeforeeachcalltoUSDFLD.
(在USDFLD被调用之前,PNEWDT被设置成一个大的数值。
)
IfPNEWDTisredefinedtobelessthan1.0,Abaqus/Standardmustabandonthetimeincrementandattemptitagainwithasmallertimeincrement.Thesuggestednewtimeincrementprovidedtotheautomatictimei