1.1.27 UDSECURRENT
User subroutine to define nonuniform surface current density in an eddy current or magnetostatic analysis.

Product: Abaqus/Standard  

References

Overview

User subroutine UDSECURRENT:

User subroutine interface

      subroutine udsecurrent (
C Write only - 
     *   surfacecurrent, 
C Read only - 
     *   coords, nBlock,
     *   i_array, niarray, 
     *   r_array, nrarray,
     *   c_array, ncarray )
C
      include 'aba_param.inc'
C
      dimension surfacecurrent(nBlock,*),
     *   coords(nBlock,*),
     *   i_array(*),
     *   r_array(*)
C
      character*80 c_array(*) 
C
      parameter( i_udsecurr_kstep   = 1,
     *           i_udsecurr_kinc    = 2,
     *           i_udsecurr_noel    = 3,
     *           i_udsecurr_currtyp = 4,
     *           i_udsecurr_phase   = 5,
     *           i_udsecurr_proc    = 6)
C
      parameter( ir_udsecurr_time_1 = 1,
     *           ir_udsecurr_time_2 = 2,
     *           ir_udsecurr_time_3 = 3 )
C
      parameter( ic_udsecurr_surf = 1)
C
      parameter( i_currtyp_tangential = 1 )
C
      parameter( i_proc_lf_th = 1,
     *           i_proc_lf_td = 2,
     *           i_proc_ms    = 3 )
C
      parameter( i_udsecurr_phase_real   = 1,      
     *           i_udsecurr_phase_imag   = 2 )
C

      user coding to define surfacecurrent

      return
      end

Variable to be defined

surfacecurrent(nBlock,*)

Components of the surface current density vector at a block of surface integration points. The units are CL–1T–1. surfacecurrent will be passed into the routine as the vector specified as part of the surface-based distributed surface current density definition. If the vector is not defined, surfacecurrent will be passed in as zero.

Variables passed in for information

coords(nBlock,*)

An array containing the coordinates of a block of surface load integration points.

nBlock

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

i_array(i_udsecurr_kstep)

Step number.

i_array(i_udsecurr_kinc)

Increment number.

i_array(i_udsecurr_noel)

Element number.

i_array(i_udsecurr_currtyp)

Currently equal to 1.

i_array(i_udsecurr_phase)

This value is relevant only for a time-harmonic eddy current analysis and is either 1 (i_udsecurr_phase_real) or 2 (i_udsecurr_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 surface current density vector.

i_array(i_udsecurr_proc)

Equal to 1 for a time-harmonic eddy current procedure, 2 for a transient eddy current procedure, and 3 for a magnetostatic procedure.

niarray

Size of array i_array. Currently equal to 6.

r_array(ir_udsecurr_time_1)

Excitation frequency in cycles/time for a time-harmonic eddy current analysis; alternatively, the value of step time at the beginning of the current increment for a transient eddy current or magnetostatic analysis.

r_array(ir_udsecurr_time_2)

Excitation frequency in radians/time for a time-harmonic eddy current analysis; alternatively, the value of total time at the beginning of the current increment for a transient eddy current or magnetostatic analysis.

r_array(ir_udsecurr_time_3)

Time increment for a transient eddy current or magnetostatic analysis.

nrarray

Size of array r_array. Currently equal to 3.

c_array(ic_udsecurr_surf)

Surface name.

ncarray

Size of array c_array. Currently equal to 1.