User Subroutines in MotionSolve
User-defined subroutines enable you to define your own modeling entities.
For example, you may define a new constraint type using the UCOSUB user subroutine, or a new general force element using the GFOSUB user subroutine. User subroutines can be written in FORTRAN or C/C++. A compiler is necessary to compile and link the user subroutines into a DLL (dynamically linked library). MotionSolve calls the DLL as necessary during the simulation process.
- Significantly faster simulation than expressions.
- Hides proprietary knowledge by compiling it into a DLL.
- Complete access to all solver functions.
- The full power of the programming language.
User subroutines have been used to model varied and complex elements like tires, hydrodynamic bearing pressures, aerodynamic forces, amplitude, and frequency dependent bushing models and friction models.
- User Defined Subroutines
- CONSUB, COUSUB, COUXX, COUXX2, CURSUB, DIFSUB, DMPSUB, FIESUB, GFOSUB, GSESUB, GSEXU, GSEXX, MOTSUB, REQSUB, SENSUB, SEVSUB, SFOSUB, SURSUB, UCOSUB, VARSUB, VFOSUB, VTOSUB, SPLINE_READ
- Execution Control Subroutines
- DATOUT, MODIFY
- Data Access Subroutines
- AKISPL, CUBSPL, ERRMES, GETCPU, GETINM, GETINT, GETMOD, GETSLV, GETSTM, GETVER, GTARAY, GTCURV, GTSTRG, GTUNTS, MODINF, NMODES, SYSARY, SYSFNC, TIMGET, USRMES, GET_MATRIX_INFO, GET_SPARSE_MATRIX_DATA, GET_FULL_MATRIX_DATA
- Setup Subroutines
- PUT_SPLINE, UCOMAR, UCOVAR
- General Subroutines
- BISTOP, CHEBY, FORCOS, FORSIN, HAVSIN, IMPACT, ISTRNG, POLY, RCNVRT, RSTRNG, SHF, STEP, STEP5, SWEEP, TCNVRT
For detailed information, refer to Types of User-Written Subroutines in the XML Format help.