Subroutine Type |
Utility/General |
|
Definition |
Models a contact force or collision phenomena. |
|
Use |
This function can be called by any user-defined subroutine. |
|
Calling Syntax |
Fortran CALL IMPACT(X, XD, X1, K, E, CMAX, D, IORD, VALUE, ERRFLG)
C c_impact(x, xd, x1, k, e, cmax, d, iord, value, errflg)
Python [value, errflg] = py_impact(x, xd, x1, k, e, cmax, d, irod)
MATLAB [value, errflg] = m_impact(x, xd, x1, k, e, cmax, d, irod) |
|
Input Arguments |
X [double precision] |
The independent variable. For example, to specify time as the independent variable, specify X as TIME. |
XD [double precision] |
The time derivative of the independent variable. |
|
X1 [double precision] |
The lower bound of X. If Xis less than X1, the IMPACT function returns a positive value; otherwise it returns zero. |
|
K [double precision] |
The stiffness of the boundary surface interaction. It must be non-negative. |
|
E [double precision] |
The exponent of the force deformation characteristic. For a stiffening spring characteristic, Emust be greater than 1.0. For a softening spring characteristic, E must be less than 1.0. It must always be positive. |
|
CMAX [double precision] |
The maximum damping coefficient. It must be non-negative. |
|
D [double precision] |
The penetration at which the full damping coefficient is applied. It must be positive. |
|
IORD [integer] |
The order of the derivative that IMPACT has to return. Order can be 0, 1 or 2. |
|
Output Values |
Value [integer] |
A value that the subroutine returns. |
Errflg [logical] |
A logical (true or false) variable that IMPACT returns to the calling subroutine. If IMPACT detects an error while calling the subroutine, it sets the error flag to true. |