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) !