1.1.23 UDECURRENT
User subroutine to define nonuniform volume current density in an eddy current analysis.

Product: Abaqus/Standard  

References

Overview

User subroutine UDECURRENT:

User subroutine interface

      subroutine udecurrent (
C Write only - 
     *   bodycurrent, 
C Read only - 
     *   predef, coords, nBlock,
     *   i_array, niarray, 
     *   r_array, nrarray,
     *   c_array, ncarray )
C
      include 'aba_param.inc'
C
      dimension bodycurrent(nBlock,*), 
     *   predef(nBlock,2,*),
     *   coords(nBlock,*),
     *   i_array(*),
     *   r_array(*)
C
      character*80 c_array(*) 
C
      parameter( i_udecurr_kstep   = 1,
     *           i_udecurr_kinc    = 2,
     *           i_udecurr_noel    = 3,
     *           i_udecurr_npt     = 4,
     *           i_udecurr_jltyp   = 5,
     *           i_udecurr_phase   = 6,
     *           i_udecurr_proc    = 7,
     *           i_udecurr_nfld    = 8 )
C
      parameter( ir_udecurr_time_1 = 1,
     *           ir_udecurr_time_2 = 2 )
C
      parameter( i_jltyp_cj = 1 )
C
      parameter( i_proc_lf_th = 1 )
C
      parameter( i_udecurr_phase_real   = 1,
     *           i_udecurr_phase_imag   = 2 )
C
      user coding to define bodycurrent
      return
      end

Variable to be defined

bodycurrent(nBlock,*)

Components of the body current density vector for a block of load integration points. The units are CL–2T–1. bodycurrent will be passed into the routine as the vector specified as part of the element-based distributed volume current density definition. If the vector is not defined, bodycurrent will be passed in as zero.

Variables passed in for information

predef(2,*)

An array containing values of temperature and all the predefined field variables at the current load integration point, based on interpolation from the values specified at the nodes. The first value in a pair, predef(1,*), corresponds to initial values; the second value, predef(2,*), corresponds to incremental values of the temperature and field variables. The first entry (for example, predef(1,1) or predef(2,1)) contains the temperature; the subsequent entries (for example, predef(1,2) or predef(2,2) onward) contain the field variables.

coords(nBlock,*)

An array containing the coordinates of the load integration points.

nBlock

Number of load integration points in this block. Currently equal to 1.

i_array(i_udecurr_kstep)

Step number.

i_array(i_udecurr_kinc)

Increment number.

i_array(i_udecurr_noel)

Element number.

i_array(i_udecurr_npt)

Load integration point number.

i_array(i_udecurr_jltyp)

Currently equal to 1.

i_array(i_udecurr_phase)

This value is either 1 (i_udecurr_phase_real) or 2 (i_udecurr_phase_imag), depending on whether the current call to the user subroutine defines the real (in-phase) or the imaginary (out-of-phase) part of the volume current density vector.

i_array(i_udecurr_proc)

Currently equal to 1.

i_array(i_udecurr_nfld)

Total number of predefined field variables.

niarray

Size of array i_array. Currently equal to 8.

r_array(ir_udecurr_time_1)

Excitation frequency in cycles/time.

r_array(ir_udecurr_time_2)

Excitation frequency in radians/time.

nrarray

Size of array r_array. Currently equal to 2.

c_array(1)

Not used.

ncarray

Size of array c_array(1). Currently equal to 1.