Engine Subroutine LUSERnn for Solid Elements
This subroutine calculates the stress tenor versus the strain tensor, strain rate tensor, density, volume, internal energy, or user variables.
Arguments
LUSERnn
and its individual arguments and
descriptions
are:C
SUBROUTINE LUSERnn (
1 NEL ,NUPARAM,NUVAR ,NFUNC ,IFUNC ,NPF ,
2 TF ,TIME ,TIMESTEP,UPARAM ,RHO , VOLUME ,
3 EINT , NGL, SOUNDSP,VISCMAX,UVAR ,OFF ,
4 SIGY , PLA , USERBUF )
C
 With isotropic mode, the directions XX, YY, ... are the global reference
frame axis. The old elastoplastic stresses (arrays
SIGOXX
,SIGOYY
, ...) are already rotated to take into account the rigid body rotation.  With orthotropic mode, the directions are the orthotropic frame axis.
 With connection element (/PROP/TYPE43), only directions ZZ,ZX, and YZ have to be defined.
FINTER
(shown
below) to get the value Y of the function for the abscissa
X.Y=FINTER(IFUNC(I),X,NPF,TF,DYDX)
 Variable
 Description
 Y
 Interpolated value
 X
 Abscissa value of the function
 I
 The i^{th} user’s function
 DYDX
 Slope
 NPF, TF
 Private function parameters
The SOUNDSP
array is used in the calculation of the stability time
step, the hourglass forces, and the artificial viscous pressure Q.
For isotropic materials, the sound speed value should be equal to the plane wave speed.
 Variable
 Description
 K
 Bulk modulus
 G
 Shear modulus
 $\lambda $ and $\mu $
 Lame parameters
Use VISCMAX
to calculate the time step stability when the material
law formulation is viscous.
Definitions
Argument  Format  Description 

NEL 
Integer read only scalar  Number of elements per group. In Radioss Engine subroutines, the element data are treated by groups for vectorization. This argument is machinedependent and set by Radioss. 
NUPARAM 
Integer read only scalar  Size of the user parameter array. 
NUVAR 
Integer read only scalar  Number of user element variables. 
NFUNC 
Integer read only scalar  Number of functions used for material law. 
IFUNC 
Integer array read only  Array of size NFUNC with function
indexes. 
NPF 
Integer array private data  Array used by FINTER (float external
function). 
TF 
Integer array private data  Array used by FINTER (float external
function). 
TIME 
Float read only  Current time. 
TIMESTEP 
Float read only  Current time step. 
UPARAM 
Float array read only  User material parameter array of size
NUPARAM . 
RHO 
Float array read only  Array of size NEL containing current
densities. 
VOLUME 
Float array read only  Array of size NEL containing current element
volumes. 
EINT 
Float array read only  Array of size NEL containing total internal
energy. 
SOUNDSP 
Float array write only  Array of size NEL containing sound
speed. 
VISCMAX 
Float array write only  Array of size NEL containing the maximum
damping modulus. 
UVAR 
Float array read write  Array of size NEL *NUVAR
containing user element variables. 
OFF 
Float array read write  Array of size NEL containing deleted element flags.

USERBUF 
Data structure read write  Defined in LAW_USERSO.mod. This module
is used inside LUSERnn . 
USERBUF
data structure contains:
Argument  Format  Description 

ID 
Integer read only scalar  Material ID defined in Starter input
deck. 
NCYCLE 
Integer read only  Cycle number. First cycle is equal to 0. 
IPTR 
Integer read only  Integration point (direction r). 
IPTS 
Integer read only  Integration point (direction s). 
IPTT 
Integer read only  Integration point (direction t). 
EPSPXX , EPSPYY ,
EPSPZZ , EPSPXY ,
EPSPYZ , EPSPZX 
Float array read only  Arrays of size NEL containing
$\text{\epsilon}$ strain rates in directions XX, YY, and
ZZ and $\gamma $ strain rates in directions XY, YZ,
ZX. 
DEPSXX , DEPSYY ,
DEPSZZ , DEPSXY ,
DEPSYZ , DEPSZX 
Float array read only  Arrays of size NEL containing
$\text{\epsilon}$ strain increments in directions XX, YY,
and ZZ and $\gamma $ strain increments in directions XY, YZ,
and ZX. 
EPSXX , EPSYY ,
EPSZZ , EPSXY ,
EPSYZ , EPSZX 
Float array read only  Array of size NEL containing
$\text{\epsilon}$ strains in directions XX, YY, and ZZ
and $\gamma $ strains in directions XY, YZ, and
ZX. 
SIGOXX , SIGOYY ,
SIGOZZ , SIGOXY ,
SIGOYZ , SIGOZX 
Float array read only  Array of size NEL with old (previous time
step) elastoplastic stresses in directions XX, YY, ZZ, XY, YZ,
and ZX. 
FPSXX , FPSYY ,
FPSZZ , FPSXY ,
FPSYX , FPSXZ ,
FPSZX , FPSYZ ,
FPSZY 
Float array ready only  Array of size NEL containing the deformation
gradient tensor. 
UPSXX , UPSYY ,
UPSZZ , UPSXY ,
UPSYZ , UPSXZ 
Float array ready only  Array of size NEL containing the stretch
tensor. 
R11 , R12 ,
R13 , R21 ,
R22 , R23 ,
R31 , R32 ,
R33 
Float array write only  Array of size NEL containing rotation
matrices from the global skew system to an element skew
system. 
SIGNXX , SIGNYY ,
SIGNZZ , SIGNXY ,
SIGNYZ , SIGNZX 
Float array write only  Array of size NEL with new computed
elastoplastic stresses in directions XX, YY, ZZ, XY, YZ, and
ZX. 
SIGVXX , SIGVYY ,
SIGVZZ , SIGVXY ,
SIGVYZ , SIGVZX 
Float array write only  Array of size NEL containing viscous
stresses in directions XX, YY, ZZ, XY, YZ, and ZX. 
RHO0 
Float array read only  Array of size NEL containing initial
densities. 
DPLA 
Float array write only  Array of size NEL containing incremental
plastic strain. 
TEMP 
Float array read only  Array of size NEL containing
temperature. 
Data Necessary for HEPH Compatibility
Definitions
Argument  Format  Description 

PLA 
Float array write only  Array of size NEL containing plastic
strain. 
SIGY 
Float array read only  Array of size NEL containing yield
stress. 