indebtanup
Mechanical
- Aug 21, 2008
- 5
Hi there,
I'm modeling a ceramic plate using the Johnson Holmquist material model which is available as a built-in user material for Abaqus (i.e., via a VUMAT subroutine that is built-in and whose source code cannot be edited).
The material model is called in the input file as below:
*parameter
rho0 = 3.163e-9
G = 183000
A = 0.96
N = 0.65
B = 0.35
M = 1.0
C = 0.0
edot0 = 1.0
T = 370
sigIMax = 1.23795
sigFMax = 0.1319127
**sigHEL=1.5*(HEL-PHEL)
**sigIMax=sigIMax/sigHEL=12200/15435=1.23795
**sigFMax=sigFMax/sigHEL=1300/15435=0.1319127
HEL = 14567
PHEL = 5900
beta = 1.0
D1 = 0.48
D2 = 0.48
efMax = 1.2
efMin = 0.0
K1 = 204000
K2 = 0
K3 = 0
FS = 0.8
lDamage = 0
*Material, name=ABQ_JH2_SILICONCARBIDE
*density
<rho0>
*Conductivity
120.,
*Inelastic Heat Fraction
1.,
*Specific Heat
7.5e+08,
*user material, constants=32
<rho0>, <G>, <A>, <N>, <B>, <M>, <C>, <edot0>
<T>, <sigIMax>, <sigFMax>, <HEL>, <PHEL>, <beta>
<D1>, <D2>, <efMax>, <efMin>, <FS>, <lDamage>
<K1>, <K2>, <K3>
*DEPVAR, DELETE=8
8
1, PEEQ , "Equivalent plastic strain"
2, PEEQ_RATE, "Equivalent plastic strain rate"
3, DUCTCRT , "Ductile damage initiation criterion"
4, DAMAGE , "Damage variable"
5, DELTAP , "Pressure increment due to bulking"
6, YIELD , "Yield strength"
7, EVOL , "Volumetric Strain, Mu"
8, MPSTATUS , "Material point status"
**
My question is this: I'm trying to grade the value of "T" through-the-thickness (z) direction, i.e. the parameter T needs to be changed depending upon location.
I have written a USDFLD subroutine that calculates the value of T at various points and assigns it to a state variable as below:
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
+ TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
+ KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
+ LACCFLA)
INCLUDE 'ABA_PARAM.INC'
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),T(3,3),
+ TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
if (kstep .eq. 1 .and. kinc .eq. 1) then
X=COORD(1)
Y=COORD(2)
Z=COORD(3)
TVAL=10*Z
FIELD(1)=TVAL
STATEV(1)=TVAL
else
c assign initial values calculated in first inc.
FIELD(1) = STATEV(1)
end if
RETURN
END
How do I relate this field variable to the parameter T in the material definition? If this was an elastic material and I was varying the density, I would simply write:
*Depvar
1,
*Density, dependencies=1
1e+09, 1.
4e+11, 400.
*User Defined Field
But I can't do this for the VUMAT.
Any help would be much appreciated!
I'm modeling a ceramic plate using the Johnson Holmquist material model which is available as a built-in user material for Abaqus (i.e., via a VUMAT subroutine that is built-in and whose source code cannot be edited).
The material model is called in the input file as below:
*parameter
rho0 = 3.163e-9
G = 183000
A = 0.96
N = 0.65
B = 0.35
M = 1.0
C = 0.0
edot0 = 1.0
T = 370
sigIMax = 1.23795
sigFMax = 0.1319127
**sigHEL=1.5*(HEL-PHEL)
**sigIMax=sigIMax/sigHEL=12200/15435=1.23795
**sigFMax=sigFMax/sigHEL=1300/15435=0.1319127
HEL = 14567
PHEL = 5900
beta = 1.0
D1 = 0.48
D2 = 0.48
efMax = 1.2
efMin = 0.0
K1 = 204000
K2 = 0
K3 = 0
FS = 0.8
lDamage = 0
*Material, name=ABQ_JH2_SILICONCARBIDE
*density
<rho0>
*Conductivity
120.,
*Inelastic Heat Fraction
1.,
*Specific Heat
7.5e+08,
*user material, constants=32
<rho0>, <G>, <A>, <N>, <B>, <M>, <C>, <edot0>
<T>, <sigIMax>, <sigFMax>, <HEL>, <PHEL>, <beta>
<D1>, <D2>, <efMax>, <efMin>, <FS>, <lDamage>
<K1>, <K2>, <K3>
*DEPVAR, DELETE=8
8
1, PEEQ , "Equivalent plastic strain"
2, PEEQ_RATE, "Equivalent plastic strain rate"
3, DUCTCRT , "Ductile damage initiation criterion"
4, DAMAGE , "Damage variable"
5, DELTAP , "Pressure increment due to bulking"
6, YIELD , "Yield strength"
7, EVOL , "Volumetric Strain, Mu"
8, MPSTATUS , "Material point status"
**
My question is this: I'm trying to grade the value of "T" through-the-thickness (z) direction, i.e. the parameter T needs to be changed depending upon location.
I have written a USDFLD subroutine that calculates the value of T at various points and assigns it to a state variable as below:
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
+ TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
+ KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
+ LACCFLA)
INCLUDE 'ABA_PARAM.INC'
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),T(3,3),
+ TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
if (kstep .eq. 1 .and. kinc .eq. 1) then
X=COORD(1)
Y=COORD(2)
Z=COORD(3)
TVAL=10*Z
FIELD(1)=TVAL
STATEV(1)=TVAL
else
c assign initial values calculated in first inc.
FIELD(1) = STATEV(1)
end if
RETURN
END
How do I relate this field variable to the parameter T in the material definition? If this was an elastic material and I was varying the density, I would simply write:
*Depvar
1,
*Density, dependencies=1
1e+09, 1.
4e+11, 400.
*User Defined Field
But I can't do this for the VUMAT.
Any help would be much appreciated!