Next: Distribruted load (dload.f) Up: User-defined loading Previous: Concentrated load (cload.f) Contents

###
Distributed flux (dflux.f)

This subroutine is used for nonuniform heat flux, characterized by distributed load labels of the form SxNUy, cf *DFLUX. The load label can be up to 20 characters long. In particular, y can be used to distinguish different nonuniform flux patterns. The header and variable description is as follows:

          subroutine dflux(flux,sol,kstep,kinc,time,noel,npt,coords,
         &     jltyp,temp,press,loadtype,area,vold,co,lakonl,konl,
         &     ipompc,nodempc,coefmpc,nmpc,ikmpc,ilmpc,iscale,mi)
    !
    !     user subroutine dflux
    !
    !
    !     INPUT:
    !
    !     sol                current temperature value
    !     kstep              step number
    !     kinc               increment number
    !     time(1)            current step time
    !     time(2)            current total time
    !     noel               element number
    !     npt                integration point number
    !     coords(1..3)       global coordinates of the integration point
    !     jltyp              loading face kode:
    !                        1  = body flux
    !                        11 = face 1
    !                        12 = face 2
    !                        13 = face 3
    !                        14 = face 4
    !                        15 = face 5
    !                        16 = face 6
    !     temp               currently not used
    !     press              currently not used
    !     loadtype           load type label
    !     area               for surface flux: area covered by the
    !                            integration point
    !                        for body flux: volume covered by the
    !                            integration point
    !     vold(0..4,1..nk)   solution field in all nodes
    !                        0: temperature
    !                        1: displacement in global x-direction
    !                        2: displacement in global y-direction
    !                        3: displacement in global z-direction
    !                        4: static pressure
    !     co(3,1..nk)        coordinates of all nodes
    !                        1: coordinate in global x-direction
    !                        2: coordinate in global y-direction
    !                        3: coordinate in global z-direction
    !     lakonl             element label
    !     konl(1..20)        nodes belonging to the element
    !     ipompc(1..nmpc))   ipompc(i) points to the first term of
    !                        MPC i in field nodempc
    !     nodempc(1,*)       node number of a MPC term
    !     nodempc(2,*)       coordinate direction of a MPC term
    !     nodempc(3,*)       if not 0: points towards the next term
    !                                  of the MPC in field nodempc
    !                        if 0: MPC definition is finished
    !     coefmpc(*)         coefficient of a MPC term
    !     nmpc               number of MPC's
    !     ikmpc(1..nmpc)     ordered global degrees of freedom of the MPC's
    !                        the global degree of freedom is
    !                        8*(node-1)+direction of the dependent term of
    !                        the MPC (direction = 0: temperature;
    !                        1-3: displacements; 4: static pressure;
    !                        5-7: rotations)
    !     ilmpc(1..nmpc)     ilmpc(i) is the MPC number corresponding
    !                        to the reference number in ikmpc(i)
    !     mi(1)              max # of integration points per element (max
    !                        over all elements)
    !     mi(2)              max degree of freedomm per node (max over all
    !                        nodes) in fields like v(0:mi(2))...
    !
    !     OUTPUT:
    !
    !     flux(1)            magnitude of the flux
    !     flux(2)            not used; please do NOT assign any value
    !     iscale             determines whether the flux has to be
    !                        scaled for increments smaller than the
    !                        step time in static calculations
    !                        0: no scaling
    !                        1: scaling (default)
    !