4.8. User Subroutine
A RecurDyn User Subroutine can be used by the user- defined function expression. So, the user can directly write a program code to the user- defined function expression by Fortran or C++ when the user cannot perform the desired phenomena through the Expression Function provided by RecurDyn.
Note
When using FORTRAN compiler, the recommended unit number is 10000 ~ 20000
![../_images/image3011.png](../_images/image3011.png)
Figure 4.95 User Subroutine List dialog box
No: Shows the number of User Subroutine.
Name: Shows the name of User Subroutine. You cannot use reserved words in RecurDyn.
DLL: Show the dll file which contains the User Subroutine.
User Parameters: Show the User Parameters which contains the User Subroutine.
Comment: Shows the comment of the User Subroutine.
Create: Creates a User Subroutine.
Insert: Inserts a User Subroutine at the current cursor row.
Delete: Deletes a User Subroutine at the current cursor row.
Create or Insert, and then the User Subroutine dialog box appears.
Figure 4.96 User Subroutine dialog box
Name: Defines the name of the User Subroutine.
User Parameter: Defines parameters needed User Subroutine.
Argument List: If the name of markers or other entities is needed for User Subroutine, first the user register the entities at Argument List and then use the input field of User Parameter as the form of ~1 and ~2.
DLL Name: Defines the name of dll file which contains the User Subroutine.
- 4.8.1. User Subroutine Wizard
- 4.8.2. User Written Subroutine
- 4.8.2.1. AXIAL_FORCE
- 4.8.2.2. CONTACT_FORCE
- 4.8.2.3. DIFFERENTIAL_EQUATION
- 4.8.2.4. MATRIX_FORCE
- 4.8.2.5. MODAL_FORCE
- 4.8.2.6. MODAL_FORCE_EXT
- 4.8.2.7. MOTION
- 4.8.2.8. NODAL_FORCE
- 4.8.2.9. NODAL_FORCE_EXT
- 4.8.2.10. REQUEST
- 4.8.2.11. ROTATIONAL_FORCE
- 4.8.2.12. SCREW_FORCE
- 4.8.2.13. TIRE_FORCE
- 4.8.2.14. GTIRE_FORCE
- 4.8.2.15. TRACK_SOIL_FORCE
- 4.8.2.16. TRANSLATIONAL_FORCE
- 4.8.2.17. VARIABLE_EQUATION
- 4.8.3. Auxiliary Subroutines
- 4.8.3.1. AKISPL
- 4.8.3.2. BISTOP
- 4.8.3.3. CHEBY
- 4.8.3.4. CUBSPL
- 4.8.3.5. ERRMES
- 4.8.3.6. EULERANGLE
- 4.8.3.7. FORCOS
- 4.8.3.8. FORSIN
- 4.8.3.9. GET_FFLEX_BODYSEQID
- 4.8.3.10. GET_FFLEX_NODEACC
- 4.8.3.11. GET_FFLEX_NODEID
- 4.8.3.12. GET_FFLEX_NODEPOS
- 4.8.3.13. GET_FFLEX_NODERACC
- 4.8.3.14. GET_FFLEX_NODERPOS
- 4.8.3.15. GET_FFLEX_NODERVEL
- 4.8.3.16. GET_FFLEX_NODESTRINGNAME
- 4.8.3.17. GET_FFLEX_NODESEQID
- 4.8.3.18. GET_FFLEX_NODETACC
- 4.8.3.19. GET_FFLEX_NODETPOS
- 4.8.3.20. GET_FFLEX_NODETVEL
- 4.8.3.21. GET_FFLEX_NODEVEL
- 4.8.3.22. GET_MTT2D_SHTSEGSTRINGNAME
- 4.8.3.23. GET_NFORCE_ADDARG
- 4.8.3.24. GET_RFLEX_ACC
- 4.8.3.25. GET_RFLEX_BODYSEQID
- 4.8.3.26. GET_RFLEX_FRQ
- 4.8.3.27. GET_RFLEX_INVVARM1
- 4.8.3.28. GET_RFLEX_INVVARM2
- 4.8.3.29. GET_RFLEX_INVVARM3
- 4.8.3.30. GET_RFLEX_INVVARN1
- 4.8.3.31. GET_RFLEX_INVVARN2
- 4.8.3.32. GET_RFLEX_INVVARN3
- 4.8.3.33. GET_RFLEX_INVVARN4
- 4.8.3.34. GET_RFLEX_INVVARN5
- 4.8.3.35. GET_RFLEX_INVVARN6
- 4.8.3.36. GET_RFLEX_MACC
- 4.8.3.37. GET_RFLEX_MCOOR
- 4.8.3.38. GET_RFLEX_MODEID
- 4.8.3.39. GET_RFLEX_MVEL
- 4.8.3.40. GET_RFLEX_NODEACC
- 4.8.3.41. GET_RFLEX_NODEIPOS
- 4.8.3.42. GET_RFLEX_NODEPOS
- 4.8.3.43. GET_RFLEX_NODERACC
- 4.8.3.44. GET_RFLEX_NODERPOS
- 4.8.3.45. GET_RFLEX_NODERVEL
- 4.8.3.46. GET_RFLEX_NODESEQID
- 4.8.3.47. GET_RFLEX_NODETACC
- 4.8.3.48. GET_RFLEX_NODETPOS
- 4.8.3.49. GET_RFLEX_NODETVEL
- 4.8.3.50. GET_RFLEX_NODEVEL
- 4.8.3.51. GET_RFLEX_POS
- 4.8.3.52. GET_RFLEX_RMODESHAPE
- 4.8.3.53. GET_RFLEX_TMODESHAPE
- 4.8.3.54. GET_RFLEX_VEL
- 4.8.3.55. GET_RFLEX_NMODE
- 4.8.3.56. GET_RFLEX_STRAINSHAPE
- 4.8.3.57. GET_RFLEX_STRESSSHAPE
- 4.8.3.58. GET_RFLEX_NSTRAIN
- 4.8.3.59. GET_RFLEX_NSTRESS
- 4.8.3.60. GET_RFLEX_NSTRAIN_3NREF
- 4.8.3.61. GET_RFLEX_NSTRESS_3NREF
- 4.8.3.62. GETCONVERGENCEFLAG
- 4.8.3.63. GETCURRENTENTITYNAME
- 4.8.3.64. GETFINISHFLAG
- 4.8.3.65. GETNACCUMULATEDJACOBIAN
- 4.8.3.66. GETNACCUMULATEDRESIDUAL
- 4.8.3.67. GETSTEPSIZE
- 4.8.3.68. GETSTRING
- 4.8.3.69. GETSTRINGLENGTH
- 4.8.3.70. GETSTRINGWC
- 4.8.3.71. GETSTRINGWCLENGTH
- 4.8.3.72. GET_GTIRE_ROADDATA
- 4.8.3.73. GET_GTIRE_TIREFILENAME
- 4.8.3.74. GET_GTIRE_ROADFILENAME
- 4.8.3.75. SET_GTIRE_DEQINI
- 4.8.3.76. GET_GTIRE_DEQVAR
- 4.8.3.77. SET_GTIRE_DEQDEQ
- 4.8.3.78. GET_GTIRE_PARAMETER
- 4.8.3.79. SET_GTIRE_POSTDATA
- 4.8.3.80. LOAD_PROFILE
- 4.8.3.81. UNLOAD_PROFILE
- 4.8.3.82. GET_PROFILE_DOUBLE
- 4.8.3.83. GET_PROFILE_STRING
- 4.8.3.84. GET_PROFILE_TABLEINFO
- 4.8.3.85. GET_PROFILE_TABLE
- 4.8.3.86. GET_UNITFACTOR_PROFILE2SI
- 4.8.3.87. GET_UNITFACTOR_PROFILE2MDL
- 4.8.3.88. GET_UNITFACTOR_MDL2SI
- 4.8.3.89. HAVSIN
- 4.8.3.90. IMPACT
- 4.8.3.91. LINSPL
- 4.8.3.92. ORIENTATIONMATRIX
- 4.8.3.93. POLY
- 4.8.3.94. PRINTMSG
- 4.8.3.95. PRINTMSGWC
- 4.8.3.96. RD_SYSTEM
- 4.8.3.97. RD_UCF
- 4.8.3.98. REG_FILE
- 4.8.3.99. SHF
- 4.8.3.100. STEP
- 4.8.3.101. STEP5
- 4.8.3.102. SWEEP
- 4.8.3.103. SYSARY
- 4.8.3.104. SYSFNC
- 4.8.3.105. TIRARY
- 4.8.4. USUB For Code::Blocks IDE