Block Data
Implicit none
real v, t0
Common v, t0
Data v, t0 /5,0/
!SUB1-----------------------------------------------
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
C
Real v, t0
Common v, t0
芳纶头盔
dt=TIME(2)
C
CALL GETVRM('SDV',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,MATLAYO,
1 LACCFLA)
C user coding to define FIELD and, if necessary, STATEV and PNEWDT
C
userfield=ARRAY(1)
if ((COORD(1).le.v*(dt-t0)) .and .(userfield.EQ.0)) then
C FIELD(1)=1
STATEV=1
endif
RETURN
END
!SUB2-----------------------------------------------
SUBROUTINE DFLUX(FLUX,SOL,KSTEP,KINC,TIME,NOEL,NPT,COORDS,
1 JLTYP,TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION FLUX(2), TIME(2), COORDS(3)
CHARACTER*80 SNAME
C
Real v, t0
Common v, t0
C
C
PI=3.14
Q=100
f=0.8
a1=4
a2=6
b=1.7
c=2
f1=0.8
f2=1.2
m=COORDS(1)
n=COORDS(2)
p=COORDS(3)
C
r1=-3*((m-v*(t-t0))**2/a1**2+n**2/b**2+p**2/c**2)
r2=-3*((m-v*(t-t0))**2/a2**2+n**2/b**2+p**2/c**2)
金属磷化 q0=6*sqrt(3.0)*f1*f*Q/(PI*sqrt(PI)*a1*b*c)
C
q1=q0*exp(r1)
q2=q0*exp(r2)
C JLTYP=1,表示为体热源
JLTYP=1
If (COORDS(1).gt.v*(t-t0)) Then
FLUX(1)=q1
Else If(COORDS(1).lt.v*(t-t0)) Then
FLUX(1)=q2
Else
FLUX(1)=q0
Endif
RETURN
END