SYSFNC
Utility/Data Access SubroutineThe SYSFNC utility subroutine allows you to query MotionSolve for a single system state such as displacement, velocity, and force, inside a user subroutine. SYSFNC should be called with the appropriate input argument (listed below) and it returns the corresponding system state.
Format
- Fortran Calling Syntax
- CALL SYSFNC (FNCNAM, IPAR, NSIZE, STATE, ERRFLG)
- C/C++ Calling Syntax
- c_sysfnc(fncnam, ipar, nsize, state, errflg)
- Python Calling Syntax
- [state, errflg] = py_sysfnc(fncnam, ipar)
- MATLAB Calling Syntax
- [state, errflg] = m_sysfnc(fncnam, ipar)
Attributes
- FNCNAM
- A string that specifies the name of the function for the SYSFNC call. Valid function names are listed below.
- IPAR
- A real vector containing input parameters for the FNCNAM. The size of this array must be NSIZE.
- NSIZE
- A scalar integer variable that contains the number of parameters for the SYSFNC call.
- STATE
- The real value extracted by the function call.
- ERRFLG
-
A logical flag that represents the success of the SYSFNC function call.
- False/0 - Success.
- True/nonzero - Error in the function call
Complete Definition
This function can be called only by a subset of user defined subroutines: ARYSUB, CONSUB, DIFSUB, GFOSUB, REQSUB, SENSUB, SEVSUB, SFOSUB, TUNSUB, VARSUB, VFOSUB, and VTOSUB. In particular, it cannot be called by UCOSUB, COUSUB, COUXX, COUXX2, FIESUB, MOTSUB, GSESUB, GSEXX, GSEXU, GSEYX and GSEYU. For the above mentioned routines, system states must be explicitly passed as input arguments and cannot be extracted via the SYSARAY or SYSFNC call.
The table below lists each of the supported function names with the size of the arguments that are required.
Functions Types | Function Names | NSIZE |
---|---|---|
Displacement | DM, AX, AY,AZ, YAW, PITCH, ROLL, PSI, PHI, THETA | 1-2 |
DX, DY, DZ | 1-3 | |
INCANG | 3 | |
Q | 2 | |
Velocity | VM, VR | 1-3 |
WM | 1-2 | |
VX,VY,VZ | 1-4 | |
WX,WY,WZ | 1-3 | |
QDOT | 2 | |
Acceleration | ACCM, WDTM | 1-3 |
ACCX, ACCY, ACCZ, WDTX, WDTY, WDTZ | 1-4 | |
QDDOT | 2 | |
Marker Force | FM, TM | 2 |
FX, FY, FZ, TX, TY, TZ | 2-3 | |
Elemental Force | BEAM, BUSH, FIELD, SPDP, COUPLER, MATE, SFORCE, VFORCE, VTORQ, GFORCE, YFORCE, JOINT, JPRIM, MOTION, CVCV, PTCV, CVSF, PTSF, SFSF, CONTACT | 4 |
FRICTION | 2 | |
System Element | DIF, DIF1, VARVAL, SENVAL | 1 |
PINVAL, POUVAL, ARYVAL | 2 | |
Kinetic Energy | KE | 1 |
Proximity | PROXIMITY | 2 |