Next: User-defined nonlinear equations Up: User subroutines. Previous: ABAQUS umat routines Contents

##
User-defined thermal material laws.

Thermal behavior not available in CalculiX can be coded by the user in subroutine ``umatht.f''. This also applies to any behavior of the thermally equivalent models such as shallow water theory etc. For instance, the thickness of the oil film in lubrication is part of the equivalent conductivity coefficients. A mechanical part can be coupled with the oil region by incorporating the effect of the motion of the mechanical part on the oil film thickness in a thermal material user-subroutine. The header and input/output variables of the umatht routine are as follows:

          subroutine umatht(u,dudt,dudg,flux,dfdt,dfdg,
         &  statev,temp,dtemp,dtemdx,time,dtime,predef,dpred,
         &  cmname,ntgrd,nstatv,props,nprops,coords,pnewdt,
         &  noel,npt,layer,kspt,kstep,kinc)
    !
    !     heat transfer material subroutine
    !
    !     INPUT:
    !
    !     statev(nstatv)      internal state variables at the start
    !                         of the increment
    !     temp                temperature at the start of the increment
    !     dtemp               increment of temperature
    !     dtemdx(ntgrd)       current values of the spatial gradients of the
    !                         temperature
    !     time(1)             step time at the beginning of the increment
    !     time(2)             total time at the beginning of the increment
    !     dtime               time increment
    !     predef              not used
    !     dpred               not used
    !     cmname              material name
    !     ntgrd               number of spatial gradients of temperature
    !     nstatv              number of internal state variables as defined
    !                         on the *DEPVAR card
    !     props(nprops)       user defined constants defined by the keyword
    !                         card *USER MATERIAL,TYPE=THERMAL
    !     nprops              number of user defined constants, as specified
    !                         on the *USER MATERIAL,TYPE=THERMAL card
    !     coords              global coordinates of the integration point
    !     pnewd               not used
    !     noel                element number
    !     npt                 integration point number
    !     layer               not used
    !     kspt                not used
    !     kstep               not used
    !     kinc                not used
    !
    !     OUTPUT:
    !
    !     u                   not used
    !     dudt                not used
    !     dudg(ntgrd)         not used
    !     flux(ntgrd)         heat flux at the end of the increment
    !     dfdt(ntgrd)         not used
    !     dfdg(ntgrd,ntgrd)   variation of the heat flux with respect to the
    !                         spatial temperature gradient
    !     statev(nstatv)      internal state variables at the end of the
    !                         increment
    !