This subroutine defines a user - defined matrix force.
Language type |
SubRoutine |
FORTRAN |
matrix_force (TIME,UPAR,NPAR,DISP,VELO,JFLAG,IFLAG,RESULT,JDISP,JVELO) |
C/C++ |
matrix_force (double time, double upar[], int npar, double disp[6], double velo[6], int jflag, int iflag, double result[6], double jdisp[36], double jvelo[36]) |
Parameter information
Variable Name |
Size |
Description |
time |
double |
Current simulation time of RecurDyn/Solver. |
double[30] |
Parameters defined by the user. The maximum size of array is 30. | |
npar |
int |
Number of user parameters. |
disp |
double[6] |
Displacement vector between two force markers with respect to the base marker |
velo |
double[6] |
Velocity vector between two force markers with respect to the base marker. |
jflag |
int |
When RecurDyn/Solver evaluates Jacobian, the flag is true. Otherwise, the flag is false. |
iflag |
int |
When RecurDyn/Solver makes its initial call to this routine, the flag is true. Otherwise, the flag is false. |
result |
double[6] |
Returned value and one-dimensional variable. |
jdisp |
double[36] |
Force Jacobian of displacement and this is thirty-six dimensional arrays. |
jvelo |
double[36] |
Force Jacobian of velocity and this is thirty-six dimensional arrays |
Example
Figure 1 Beam model using a Matrix Force User Subroutine
Note
If the user wants to run this model using a user subroutine, the user can refer it in the directory (<install dir>/Help/usub/**).