1、abaqus子程序1.1.37UMATHTUser subroutine to define a materials thermal behavior.Product:Abaqus/StandardWarning:The use of this subroutine generally requires considerable expertise. You are cautioned that the implementation of any realistic thermal model requires significant development and testing. Init
2、ial testing on models with few elements under a variety of boundary conditions is strongly recommended.References “User-defined thermal material behavior,”Section 23.8.2 of the Abaqus Analysis Users Manual *USER MATERIAL “Freezing of a square solid: the two-dimensional Stefan problem,”Section 1.6.2
3、of the Abaqus Benchmarks Manual “UMATHT,”Section 4.1.22 of the Abaqus Verification ManualOverviewUser subroutineUMATHT: can be used to define the thermal constitutive behavior of the material as well as internal heat generation during heat transfer processes; will be called at all material calculati
4、on points of elements for which the material definition includes a user-defined thermal material behavior; can be used with the procedures discussed in“Heat transfer analysis procedures: overview,”Section 6.5.1 of the Abaqus Analysis Users Manual; can use solution-dependent state variables; must def
5、ine the internal energy per unit mass and its variation with respect to temperature and to spatial gradients of temperature; must define the heat flux vector and its variation with respect to temperature and to gradients of temperature; must update the solution-dependent state variables to their val
6、ues at the end of the increment; can be used in conjunction with user subroutineUSDFLDto redefine any field variables before they are passed in; and is described further in“User-defined thermal material behavior,”Section 23.8.2 of the Abaqus Analysis Users Manual.Use of subroutineUMATHTwith coupled
7、temperature-displacement elementsUser subroutineUMATHTshould be used only with reduced-integration or modified coupled temperature-displacement elements if the mechanical and thermal fields are not coupled through plastic dissipation. No such restriction exists with fully integrated coupled temperat
8、ure-displacement elements.User subroutine interfaceSUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG, 1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED, 2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT, 3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)C INCLUDE ABA_PARAM.INCC CHARACTER*80 CMNAME DIMENSION DUDG(NTGRD),F
9、LUX(NTGRD),DFDT(NTGRD), 1 DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD), 2 TIME(2),PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3) user coding to define U,DUDT,DUDG,FLUX,DFDT,DFDG, and possibly update STATEV, PNEWDT RETURN ENDVariables to be definedUInternal thermal energy per unit mass,U, at the end of
10、 increment. This variable is passed in as the value at the start of the increment and must be updated to its value at the end of the increment.DUDTVariation of internal thermal energy per unit mass with respect to temperature, evaluated at the end of the increment.DUDG(NTGRD)Variation of internal th
11、ermal energy per unit mass with respect to the spatial gradients of temperature, at the end of the increment. The size of this array depends on the value ofNTGRDas defined below. This term is typically zero in classical heat transfer analysis.FLUX(NTGRD)Heat flux vector, at the end of the increment.
12、 This variable is passed in with the values at the beginning of the increment and must be updated to the values at the end of the increment.DFDT(NTGRD)Variation of the heat flux vector with respect to temperature, evaluated at the end of the increment.DFDG(NTGRD,NTGRD)Variation of the heat flux vect
13、or with respect to the spatial gradients of temperature, at the end of the increment. The size of this array depends on the value ofNTGRDas defined below.Variables that can be updatedSTATEV(NSTATV)An array containing the solution-dependent state variables.In an uncoupled heat transfer analysisSTATEV
14、is passed intoUMATHTwith the values of these variables at the beginning of the increment. However, any changes inSTATEVmade in user subroutineUSDFLDwill be included in the values passed intoUMATHT, sinceUSDFLDis called beforeUMATHT. In addition, ifUMATHTis being used in a fully coupled temperature-d
15、isplacement analysis and user subroutineCREEP, user subroutineUEXPAN, user subroutineUMAT, or user subroutineUTRSis used to define the mechanical behavior of the material, those routines are called before this routine; therefore, any updating ofSTATEVdone inCREEP,UEXPAN,UMAT, orUTRSwill be included
16、in the values passed intoUMATHT.In all casesSTATEVshould be passed back fromUMATHTas the values of the state variables at the end of the current increment.PNEWDTRatio of suggested new time increment to the time increment being used (DTIME, see below). This variable allows you to provide input to the
17、 automatic time incrementation algorithms in Abaqus/Standard (if automatic time incrementation is chosen).PNEWDTis set to a large value before each call toUMATHT.IfPNEWDTis redefined to be less than 1.0, Abaqus/Standard must abandon the time increment and attempt it again with a smaller time increme
18、nt. The suggested new time increment provided to the automatic time integration algorithms is PNEWDTDTIME, where thePNEWDTused is the minimum value for all calls to user subroutines that allow redefinition ofPNEWDTfor this iteration.IfPNEWDTis given a value that is greater than 1.0 for all calls to
19、user subroutines for this iteration and the increment converges in this iteration, Abaqus/Standard may increase the time increment. The suggested new time increment provided to the automatic time integration algorithms isPNEWDTDTIME, where thePNEWDTused is the minimum value for all calls to user sub
20、routines for this iteration.If automatic time incrementation is not selected in the analysis procedure, values ofPNEWDTthat are greater than 1.0 will be ignored and values ofPNEWDTthat are less than 1.0 will cause the job to terminate.Variables passed in for informationTEMPTemperature at the start o
21、f the increment.DTEMPIncrement of temperature.DTEMDX(NTGRD)Current values of the spatial gradients of temperature,TIME(1)Value of step time at the beginning of the current increment.TIME(2)Value of total time at the beginning of the current increment.DTIMETime increment.PREDEFArray of interpolated v
22、alues of predefined field variables at this point at the start of the increment, based on the values read in at the nodes.DPREDArray of increments of predefined field variables.CMNAMEUser-defined material name, left justified.NTGRDNumber of spatial gradients of temperature.NSTATVNumber of solution-d
23、ependent state variables associated with this material type (defined as described in“Allocating space” in “User subroutines: overview,”Section 15.1.1 of the Abaqus Analysis Users Manual).PROPS(NPROPS)User-specified array of material constants associated with this user material.NPROPSUser-defined num
24、ber of material constants associated with this user material.COORDSAn array containing the coordinates of this point. These are the current coordinates in a fully coupled temperature-displacement analysis if geometric nonlinearity is accounted for during the step (see“Procedures: overview,”Section 6
25、.1.1 of the Abaqus Analysis Users Manual); otherwise, the array contains the original coordinates of the point.NOEL :Element number.NPT :Integration point number.LAYER :Layer number (for composite shells and layered solids).KSPT: Section point number within the current layer.KSTEP: Step number.KINC:
26、 Increment number.Example:Using more than one user-defined thermal material modelTo use more than one user-defined thermal material model, the variableCMNAMEcan be tested for different material names inside user subroutineUMATHT, as illustrated below:IF (CMNAME(1:4) .EQ. MAT1) THEN CALL UMATHT_MAT1(
27、argument_list)ELSE IF(CMNAME(1:4) .EQ. MAT2) THEN CALL UMATHT_MAT2(argument_list)END IFUMATHT_MAT1andUMATHT_MAT2are the actual user material subroutines containing the constitutive material models for each materialMAT1andMAT2, respectively. SubroutineUMATHTmerely acts as a directory here. The argume
28、nt list can be the same as that used in subroutineUMATHT.Example:Uncoupled heat transferAs a simple example of the coding of user subroutineUMATHT, consider uncoupled heat transfer analysis in a material. The equations for this case are developed here, and the correspondingUMATHTis given. This probl
29、em can also be solved by specifying thermal conductivity, specific heat, density, and internal heat generation directly.First, the equations for an uncoupled heat transfer analysis are outlined.The basic energy balance iswhereVis the volume of solid material with surface areaS,is the density of the
30、material,is the material time rate of the internal thermal energy,qis the heat flux per unit area of the body flowing into the body, andris the heat supplied externally into the body per unit volume.A heat flux vectoris defined such thatwhereis the unit outward normal to the surfaceS. Introducing th
31、e above relation into the energy balance equation and using the divergence theorem, the following relation is obtained:The corresponding weak form is given bywhereis the temperature gradient andis an arbitrary variational field satisfying the essential boundary conditions.Introducing the backward difference integration algorithm:the weak form of the energy balance equation becomesThis nonlinear system is solved using Newtons method.In the above equations the thermal constitutive behavior of the material is given byAnd whereare state v
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1