anoop_1989
Mechanical
Dear all,
I want to calculate the temperature difference in a heat transfer analysis. But I am getting the same values in the filed and state variable, which leads to zero difference in temperature. Can anyone help me to find out "how to calculate the temperature difference between the last and current increment using USDFLD"?
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'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
DOUBLE PRECISION DTEMP,TEMP_OLD,TEMP_NEW
CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
TEMP=ARRAY(1)
FIELD(1)=TEMP
CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
TEMP=ARRAY(1)
STATEV(1)=TEMP
DTEMP= FIELD(1)-STATEV(1)
STATEV(2)=DTEMP
write(6,*) '!!! USDFLD subroutine CALLED !!!'
RETURN
END
I want to calculate the temperature difference in a heat transfer analysis. But I am getting the same values in the filed and state variable, which leads to zero difference in temperature. Can anyone help me to find out "how to calculate the temperature difference between the last and current increment using USDFLD"?
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'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),COORD(*)
DOUBLE PRECISION DTEMP,TEMP_OLD,TEMP_NEW
CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
TEMP=ARRAY(1)
FIELD(1)=TEMP
CALL GETVRM('TEMP',ARRAY,JARRAY,FLGRAY,JRCD,JMAC,JMATYP,
1 MATLAYO,LACCFLA)
TEMP=ARRAY(1)
STATEV(1)=TEMP
DTEMP= FIELD(1)-STATEV(1)
STATEV(2)=DTEMP
write(6,*) '!!! USDFLD subroutine CALLED !!!'
RETURN
END