25.2.12 HETVAL
User subroutine to provide internal heat generation in heat transfer analysis.

Product: ABAQUS/Standard  

References

Overview

User subroutine HETVAL:

  • can be used to define a heat flux due to internal heat generation in a material, for example, as might be associated with phase changes occurring during the solution;

  • allows for the dependence of internal heat generation on state variables (such as the fraction of material transformed) that themselves evolve with the solution and are stored as solution-dependent state variables;

  • will be called at all material calculation points for which the material definition contains volumetric heat generation during heat transfer, coupled temperature-displacement, or coupled thermal-electrical analysis procedures;

  • can be useful if it is necessary to include a kinetic theory for a phase change associated with latent heat release (for example, in the prediction of crystallization in a polymer casting process);

  • can be used in conjunction with user subroutine USDFLD if it is desired to redefine any field variables before they are passed in (see USDFLD, Section 25.2.39); and

  • cannot be used with user subroutine UMATHT (UMATHT, Section 25.2.31).

User subroutine interface

      SUBROUTINE HETVAL(CMNAME,TEMP,TIME,DTIME,STATEV,FLUX,
     1 PREDEF,DPRED)
C
      INCLUDE 'ABA_PARAM.INC'
C
      CHARACTER*80 CMNAME
C
      DIMENSION TEMP(2),STATEV(*),PREDEF(*),TIME(2),FLUX(2),
     1 DPRED(*)

      user coding to define FLUX and update STATEV

      RETURN
      END

Variables to be defined

FLUX(1)

Heat flux, (thermal energy per time per volume: JT–1L–3), at this material calculation point.

FLUX(2)

Rate of change of heat flux per temperature, . This variable is nonzero only if the heat flux depends on temperature. It is needed to define a correct Jacobian matrix.

Variables that can be updated

STATEV(*)

An array containing the user-defined solution-dependent state variables at this point.

In an uncoupled heat transfer analysis STATEV is passed into subroutine HETVAL as the values of these variables at the beginning of the increment. However, any updating of STATEV in user subroutine USDFLD (USDFLD, Section 25.2.39) will be included in the values passed into subroutine HETVAL since this routine is called before HETVAL. In addition, if HETVAL is being used in a fully coupled temperature-displacement analysis and user subroutine UEXPAN (UEXPAN, Section 25.2.20), user subroutine CREEP (CREEP, Section 25.2.1), user subroutine UMAT (UMAT, Section 25.2.30), or user subroutine UTRS (UTRS, Section 25.2.42) is used to define the mechanical behavior of the material, those routines are called before this routine; therefore, any updating of STATEV done in UEXPAN, CREEP, UMAT, or UTRS will be included in the values passed into this routine.

In all cases STATEV should be passed back from user subroutine HETVAL containing the values of the state variables at the end of the current increment.

Variables passed in for information

CMNAME

User-specified material name, left justified.

TEMP(1)

Current temperature.

TEMP(2)

Temperature increment.

TIME(1)

Step time at the end of the increment.

TIME(2)

Total time at the end of the increment.

DTIME

Time increment.

PREDEF(*)

An array containing the values of all of the user-specified field variables at this point (initial values at the beginning of the analysis and current values during the analysis).

DPRED(*)

Array of increments of predefined field variables.

Example