Product: Abaqus/Standard

User subroutine UDEMPOTENTIAL:
can be used to define the variation of the magnetic vector potential as a function of position, time, element number, etc. for a transient eddy current or magnetostatic analysis or as a function of position, excitation frequency, phase, element number, etc. for a time-harmonic eddy current analysis;
will be called for each surface-based nonuniform electromagnetic potential definition during eddy current or magnetostatic analysis; and
ignores any amplitude references that may appear with the associated step definition or nonuniform distributed electromagnetic potential definition.

      subroutine udempotential (
C Write only - 
     *   vecPot, 
C Read only - 
     *   coords, nBlock,
     *   i_array, niarray, 
     *   r_array, nrarray,
     *   c_array, ncarray )
C
      include 'aba_param.inc'
C
      dimension vecPot(nBlock,*),
     *   coords(nBlock,*),
     *   i_array(*),
     *   r_array(*)
C
      character*80 c_array(*) 
C
      parameter( i_udempot_kstep   = 1,
     *           i_udempot_kinc    = 2,
     *           i_udempot_noel    = 3,
     *           i_udempot_currtyp = 4,
     *           i_udempot_phase   = 5,
     *           i_udempot_proc    = 6)
C
      parameter( ir_udempot_time_1 = 1,
     *           ir_udempot_time_2 = 2,
     *           ir_udempot_time_3 = 3 )
C
      parameter( ic_udempot_surf = 1)
C
      parameter( i_pottyp_mvp = 1 )
C
      parameter( i_proc_lf_th = 1,
     *           i_proc_lf_td = 2,
     *           i_proc_ms    = 3 )
C
      parameter( i_udempot_phase_real   = 1,      
     *           i_udempot_phase_imag   = 2 )
C
      user coding to define vecPot
      return
      end
vecPot(nBlock,*)
Components of the magnetic vector potential at a block of surface points. vecPot will be passed into the routine as the vector specified as part of the surface-based nonuniform magnetic vector potential definition. If the vector is not defined, vecPot will be passed in as zero.

coords(nBlock,*)
An array containing the coordinates of a block of surface points.
nBlock
Number of surface points in this block. Currently equal to 1.
i_array(i_udempot_kstep)
Step number.
i_array(i_udempot_kinc)
Increment number.
i_array(i_udempot_noel)
Element number.
i_array(i_udempot_pottyp)
Currently equal to 1.
i_array(i_udempot_phase)
This value is relevant only for a time-harmonic eddy current analysis and is either 1 (i_udempot_phase_real) or 2 (i_udempot_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 magnetic vector potential.
i_array(i_udempot_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_udempot_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_udempot_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_udempot_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_udempot_surf)
Surface name.
ncarray
Size of array c_array. Currently equal to 1.