Appendix
Appendix 1 - Available User's Arguments
Available Starter User's Arguments
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
IIN | 1 | Integer | R | Input file unit (Starter input file) |
IOUT | 1 | Integer | R | Output file unit (Starter output file) |
UPARAM | NUPARAM | Float | W | User’s parameter |
MAXNUPARAM | 1 | Integer | R | Maximum size of UPARAM |
NUPARAM | 1 | Integer | W | Size of UPARAM |
NUVAR | 1 | Integer | W | Number of user’s variables |
IFUNC | NFUNCT | Integer | W | Function number array |
MAXNFUNC | 1 | Integer | R | Maximum size of IFUNC |
NFUNCT | 1 | Integer | W | Size of IFUNC |
PARMAT | 3 | Float | W | (1) Stiffness modulus for interface (2) Young's modulus (for shell) (3) Poisson’s ratio (for shell) |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
IIN | 1 | Integer | R | Input file unit (Starter input file) |
IOUT | 1 | Integer | R | Output file unit (Starter output file) |
UPARAM | NUPARAM | Float | W | User’s parameter |
MAXNUPARAM | 1 | Integer | R | Maximum size of UPARAM |
NUPARAM | 1 | Integer | W | Size of UPARAM |
NUVAR | 1 | Integer | W | Number of user’s variables |
IFUNC | NFUNCT | Integer | W | Function number array |
MAXNFUNC | 1 | Integer | R | Maximum size of IFUNC |
NFUNCT | 1 | Integer | W | Size of IFUNC |
STIFINT | 1 | Integer | W | Stiffness modulus for interface |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
IIN | 1 | Integer | R | Input file unit (Starter input file) |
IOUT | 1 | Integer | R | Output file unit (Starter output file) |
NUVAR | 1 | Integer | W | Number of user’s variables |
UVAR | NUVAR* NEL | Float | R/W | User’s variable |
PARGEO | * | Float | W | (1) Skew number (2) Stiffness for interface (3) Front wave option |
NEL | 1 | Integer | R | Number of elements |
IPROP | 1 | Integer | R | Property number |
IX | 3* NEL | Float | R | Spring connectivity |
XL | NEL | Float | R | Element length |
MASS | NEL | Float | W | Element mass |
XINER | NEL | Float | W | Element inertia (spherical) |
STIFM | NEL | Float | W | Element stiffness (time step) |
STIFR | NEL | Float | W | Element rotation stiffness (time step) |
VISCM | NEL | Float | W | Element viscosity (time step) |
VISCR | NEL | Float | W | Element rotation viscosity (time step) |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
NEL | 1 | Integer | R | Number of elements |
IIN | 1 | Integer | R | Input file unit (Starter input file) |
IOUT | 1 | Integer | R | Output file unit (Starter output file) |
NUVAR | 1 | Integer | W | Number of user’s variables |
UVAR | NUVAR* NEL | Float | R/W | User’s variable |
PARGEO | * | Float | W | (1) Skew number (2) Stiffness for interface (3) Front wave option |
IPROP | 1 | Integer | R | Property number |
IMAT | 1 | Integer | R | Material number |
SOLID_ID | NEL | Integer | R | Solid Element id t=0 |
EINT | NEL | Float | W | Total internal energy t=0 |
VOL | NEL | Float | R/W | Initial volume |
OFF | NEL | Float | R/W | Delete flag |
RHO | NEL | Float | R/W | Density |
SIG | 6*NEL | Float | R/W | Stress tensor |
XX1 | NEL | Float | R | X coordinate node 1 |
YY1 | NEL | Float | R | Y coordinate node 1 |
ZZ1 | NEL | Float | R | Z coordinate node 1 |
XX2 . . ZZ8 | NEL | Float | R | Same for node 2 to 8 |
VX1 | NEL | Float | R | X velocity node 1 |
VY1 | NEL | Float | R | Y velocity node 1 |
VZ1 | NEL | Float | R | Z velocity node 1 |
VRX1 | NEL | Float | R | X rotational velocity node 1 |
VRY1 | NEL | Float | R | Y rotational velocity node 1 |
VRZ1 | NEL | Float | R | Z rotational velocity node 1 |
MAS1 | NEL | Float | W | Mass node 1 |
MAS2 . . MAS8 | NEL | Float | W | Same for node 2 to 8 |
INN1 | NEL | Float | W | Inertia node 1 |
INN2 . . INN8 | NEL | Float | W | Same for node 2 to 8 |
STIFM | NEL | Float | W | Element stiffness (time step) |
STIFR | NEL | Float | W | Element rotation stiffness (time step) |
VISCM | NEL | Float | W | Element viscosity (time step) |
VISCR | NEL | Float | W | Element rotation viscosity (time step) |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
IIN | 1 | Integer | R | Input file unit (Starter input file) |
IOUT | 1 | Integer | R | Output file unit (Starter output file) |
Available Engine User's Arguments
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
NEL | 1 | Integer | R | Number of elements |
UVAR | NUVAR* NEL | Float | R/W | User’s variable |
UPARAM | NUPARAM | Float | W | User’s parameter |
NUPARAM | 1 | Integer | W | Size of UPARAM |
NUVAR | 1 | Integer | W | Number of user’s variables |
NFUNCT | 1 | Integer | W | Size of IFUNC |
IFUNC | NFUNCT | Integer | W | Function number array |
NPF | * | Integer | R | Function array |
NPT | 1 | Integer | R | Number of layers or integration points |
IPT | 1 | Integer | R | Layer or integration point number |
IFLAG | * | Integer | R | Geometrical flags |
TF | * | Float | R | Function array |
NGL | NEL | Integer | R | Element number |
TIME | 1 | Float | R | Current time |
TIMESTEP | 1 | Float | R | Current time step |
RHO0 | NEL | Float | R | Initial density |
AREA | NEL | Float | R | Area |
EINT | NEL | Float | R | Total internal energy |
THKLY | NEL | Float | R | Layer thickness |
EPSPXX | NEL | Float | W | Strain rate XX |
DEPSXX | NEL | Float | W | Strain increment XX |
EPSXX | NEL | Float | W | Strain XX |
SIGOXX | NEL | Float | W | Old elasto-plastic stress XX |
SIGNXX | NEL | Float | W | New elasto-plastic stress XX |
SIGVXX | NEL | Float | W | Viscous stress XX |
SOUNDSP | NEL | Float | W | Sound speed (time step) |
VISCMAX | NEL | Float | W | Max damping modulus (time step) |
THK | NEL | Float | R/W | Thickness |
PLA | NEL | Float | R/W | Plastic strain |
OFF | NEL | Float | R/W | Delete flag |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
NEL | 1 | Integer | R | Number of elements |
UVAR | NUVAR* NEL | Float | R/W | User’s variable |
UPARAM | NUPARAM | Float | W | User’s parameter |
NUPARAM | 1 | Integer | W | Size of UPARAM |
NUVAR | 1 | Integer | W | Number of user’s variables |
NFUNCT | 1 | Integer | W | Size of IFUNC |
IFUNC | NFUNCT | Integer | W | Function number array |
NPF | * | Integer | R | Function array |
TF | * | Float | R | Function array |
NGL | NEL | Integer | R | Element number |
TIME | 1 | Float | R | Current time |
TIMESTEP | 1 | Float | R | Current time step |
RHO0 | NEL | Float | R | Initial density |
RHO | NEL | Float | R | Density |
VOLUME | NEL | Float | R | Volume |
EINT | NEL | Float | R | Total internal energy |
EPSPXX | NEL | Float | W | Strain rate XX |
DEPSXX | NEL | Float | W | Strain increment XX |
EPSXX | NEL | Float | W | Strain XX |
SIGOXX | NEL | Float | W | Old elasto-plastic stress XX |
SIGNXX | NEL | Float | W | New elasto-plastic stress XX |
SIGVXX | NEL | Float | W | Viscous stress XX |
SOUNDSP | NEL | Float | W | Sound speed (time step) |
VISCMAX | NEL | Float | W | Max damping modulus (time step) |
OFF | NEL | Float | R/W | Delete flag |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
NEL | 1 | Integer | R | Number of elements |
IPROP | 1 | Integer | R | Property number |
UVAR | NUVAR* NEL | Float | R/W | User’s variable |
NUVAR | 1 | Integer | W | Number of user’s variables |
FX | NEL | Float | R/W | Tension force |
FY | NEL | Float | R/W | Y shear force |
FZ | NEL | Float | R/W | Z shear force |
XMOM | NEL | Float | R/W | Torsion moment |
YMOM | NEL | Float | R/W | Y bending moment |
ZMOM | NEL | Float | R/W | Z bending moment |
EINT | NEL | Float | R/W | Total internal energy |
OFF | NEL | Float | R/W | Delete flag |
STIFM | NEL | Float | W | Element stiffness (time step) |
STIFR | NEL | Float | W | Element rotation stiffness (time step) |
VISCM | NEL | Float | W | Element viscosity (time step) |
VISCR | NEL | Float | W | Element rotation viscosity (time step) |
MASS | NEL | Float | W | Element mass |
XINER | NEL | Float | W | Element inertia (spherical) |
DT | 1 | Integer | R | Time step |
XL | NEL | Float | R | Element length |
XL | NEL | Float | R | Element length |
VX | NEL | Float | R | Tension velocity |
RY1 | NEL | Float | R | Node 1 Y bending rotational velocity |
RZ1 | NEL | Float | R | Node 1 Z bending rotational velocity |
RX | NEL | Float | R | Torsional velocity |
RY2 | NEL | Float | R | Node 2 Y bending rotational velocity |
RZ2 | NEL | Float | R | Node 2 Z bending rotational velocity |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
NEL | 1 | Integer | R | Number of elements |
IOUT | 1 | Integer | R | Output file unit (Engine output file) |
UVAR | NUVAR* NEL | Float | R/W | User’s variable |
IPROP | 1 | Integer | R | Property number |
IMAT | 1 | Integer | R | Material number |
SOLID_ID | NEL | Integer | R | Solid Element ID |
EINT | NEL | Float | R | Total internal energy |
VOL | NEL | Float | R | Initial volume |
OFF | NEL | Float | R/W | Delete flag |
RHO | NEL | Float | R/W | Density |
SIG | 6* NEL | Float | R/W | Stress tensor |
XX1 | NEL | Float | R | X coordinate node 1 |
YY1 | NEL | Float | R | Y coordinate node 1 |
ZZ1 | NEL | Float | R | Z coordinate node 1 |
XX2 . . ZZ8 | NEL | Float | R | Same for node 2 to 8 |
VX1 | NEL | Float | R | X velocity node 1 |
VY1 | NEL | Float | R | Y velocity node 1 |
VZ1 | NEL | Float | R | Z velocity node 1 |
VRX1 | NEL | Float | R | X rotational velocity node 1 |
VRY1 | NEL | Float | R | Y rotational velocity node 1 |
VRZ1 | NEL | Float | R | Z rotational velocity node 1 |
FX1 | NEL | Float | W | X force node 1 |
FY1 | NEL | Float | W | Y force node 1 |
FZ1 | NEL | Float | W | Z force node 1 |
MX1 | NEL | Float | W | X moment node 1 |
MY1 | NEL | Float | W | Y moment node 1 |
MZ1 | NEL | Float | W | Z moment node 1 |
STIFM | NEL | Float | W | Element stiffness (time step) |
STIFR | NEL | Float | W | Element rotation stiffness (time step) |
VISCM | NEL | Float | W | Element viscosity (time step) |
VISCR | NEL | Float | W | Element rotation viscosity (time step) |
Variable | Size | Type | Write/read | Definition |
---|---|---|---|---|
ID | NEL | Integer | R | Sensor ID |
Appendix 2 - Communication Between User's Subroutines and Radioss Code
The main functions to access user’s properties and materials are return functions and storage functions.
Return Function | Variables | Description | |
---|---|---|---|
INTEGER IP = GET_U_P(PID) |
PID | Integer property ID | Returns a property number. |
INTEGER PID = GET_U_PID(IP) |
IP | Property number | Returns the user property ID corresponding to the user property number IP. |
FLOAT PARAMI = GET U GEO (I,IP)
|
I | Parameter index (1 for the first parameter, …) | Returns the user geometry parameters. |
IP | Property number | ||
INTEGER II = GET U PNU
(I,IP,KK)
|
I | Parameter index | Returns the user-stored function (if
KK=KFUNC), material
(if KK=KMAT), or property
(if KK=KPROP) numbers.
See Starter subroutine for corresponding ID storage. |
IP | Property number | ||
KK | Parameters KFUNC, KMAT, KPROP | ||
INTEGER IM = GET_U_M(MID) |
MID | Material ID | Returns a material number. |
INTEGER MID = GET_U_MID(IM) |
IM | Material number | Returns the user material ID corresponding to user material number IM. |
FLOAT PARAMI =
GET_U_MAT(I,IM) |
I | Parameter index | Returns the user material
parameters. Note:
GET_U_MAT(0,IMAT)
returns the density. |
IM | Material number | ||
INTEGER IFUNCI = GET_U_MNU
(I,IM,KFUNC) |
I | Variable index | Returns the user-stored function numbers
(function referred by user’s materials). See the Starter material user’s subroutine for corresponding ID storage. |
IM | Material number | ||
KFUNC | Only functions are yet available | ||
FLOAT Y =
GET_U_FUNC(IFUNC,X,DYDX) |
IFUNC | Function numbered obtained by IFUNC = GET_U_MNU(I,IM,
KFUNC ) or IFUNC =
GET_U_PNU(I,IP,KFUNC) |
Returns Y(X). |
X | X value | ||
DYDX | Slope dY/dX |
Storage Function | Description |
---|---|
INTEGER ierror = SET_U_PNU(func_index, fun_id,
KFUNC) |
Stores Radioss function fun_id in
the current user property buffer at a position referenced by
func_index . |
INTEGER ierror = SET_U_PNU(mat_index, mid,
KMAT) |
Stores Radioss material mid in
the current user property buffer at a position referenced by
mat_index . |
INTEGER ierror = SET_U_PNU(prop_index, pid,
KPROP) |
Stores Radioss property pid in the current user property buffer at a position referenced by prop_index. |
INTEGER ierror = SET_U_GEO(value_index,
value) |
Stores a value in the current user property buffer at a
position referenced by value_index . |
Function | Variables | Description | |
---|---|---|---|
INTEGER NUM =
GET_U_NUMSENS(ID) |
ID | Sensor ID | Allows you to get a sensor number. |
NUM | Sensor number | ||
INTEGER ierror = GET_U_SENS_FPAR(IVAR,
VAR) |
IVAR | Float variable index | Allows you to retrieve a float sensor parameter. |
VAR | Integer value | ||
INTEGER ierror = GET_U_SENS_IPAR(IVAR,
VAR) |
IVAR | Integer variable index | Allows you to retrieve an integer sensor parameter. |
VAR | Integer value | ||
INTEGER ierror =
SET_U_SENS_VALUE(NSENS,IVAR,VAR) |
NSENS | Integer sensor number | Allows you to write a variable to a sensor buffer (float). |
IVAR | Integer buffer index | ||
VAR | Float value | ||
INTEGER ierror =
GET_U_SENS_VALUE(NSENS,IVAR,VAR) |
NSENS | Integer sensor number | Allows you to read a variable from a sensor buffer (float). |
IVAR | Integer buffer index | ||
VAR | Float value | ||
INTEGER ierror =
SET_U_SENS_ACTI(NSENS) |
NSENS | Integer sensor number | Allows you to activate a sensor using Radioss flag. |
FLOAT DTIME =
GET_U_SENS_ACTI(NSENS) |
DTIME | Float time delay since first activation.
|
Allows you to check Radioss activation status of a sensor. |
NSENS | Integer sensor number | ||
FLOAT TIME = GET_U_TIME() |
Allows you to check the current time. | ||
INTEGER NCYC = GET_U_CYCLE() |
Allows you to check the current cycle. | ||
INTEGER IERR = GET_U_ACCEL(NACC,
AX,AY,AZ) |
AX, AY, AZ | Float acceleration components | Allows you to access accelerometer values. |
NACC | Integer accelerator number | ||
IDACC | Integer accelerator ID | ||
NACC | GET_U_NUMACC(IDACC) |
||
INTEGER IERR = GET_U_NOD_X(NOD,
X,Y,Z)
|
X, Y, Z | Float nodal coordinates | Allows you access to nodal values. |
DX, DY, DZ | Float nodal displacements | ||
VX, VY, VZ | Float nodal velocities | ||
AX, AY, AZ | Float nodal accelerations | ||
NOD | Integer node number | ||
NID | Integer node ID | ||
NOD | GET_U_NUMNOD(ID) |
||
FLOAT Y = GET_U_FUNC(IFUNC, X,
DERI) |
X | Float ordinate | Allows you to access Radioss functions. |
Y | Float abscissa | ||
DERI | Float Y/X | ||
IFUNC | Integer function number | ||
IDFUN | Integer function ID, where
|
Communication Between User's Modules and Radioss Database
Appendix 3 - General User's Subroutine Format with Material Laws 29, 30, and 31
Starter Format Example
Engine Format Example
Example Demo File
<install_directory>/hwsolvers/demos/radioss/user_subroutines/7_appendix/appendix3/*
Appendix 4 - General User's Subroutine Format with Extended User Material Laws
Starter Format Example
Engine Format Example
Example Demo File
<install_directory>/hwsolvers/demos/radioss/user_subroutines/7_appendix/appendix4/*