IMPACT

The IMPACT function models impact forces acting on bodies during collision. The elastic properties of the boundary surface between the two bodies can be tuned as desired.

Format

Impact(x,˙x,x1,k,e,cmax,d)

Arguments

x
The independent variable. For example, to use the z-displacement of I marker with respect to J marker as resolved in the reference frame of RM marker as the independent variable, specify x as DZ({marker_i.idstring}, {marker_j.idstring}, {marker_rm.idstring}).
˙x
The time derivative of the independent variable. For example, if x is specified as above, then ˙x will be VZ({marker_i.idstring}, {marker_j. idstring}, {marker_rm.idstring}).
x1
The lower bound of x . If x is less than x1 , the impact function returns a positive value, otherwise it returns zero.
k
The stiffness of the boundary surface interaction. It must be non-negative.
e
The exponent of the force deformation characteristic. For a stiffening spring characteristic, e must be greater than 1.0 and for a softening spring characteristic, e must be less than 1.0. It must always be positive.
cmax
The maximum damping coefficient. It must be non-negative.
d
The penetration at which the full damping coefficient is applied. It must be positive.

Definition

Impact ={max(k(x1x)eSTEP(x,x1d,cmax,x1,0)˙x,0),if x<x10,if xx1}

Example

<Reference_Variable
     id                    = "30300700"
     type                  = "EXPRESSION"
     expr                  = "IMPACT(DZ(10301030,30302030),
                              VZ(10301030,30302030),2.5,2500,1,1000,2.5)"
/>
OR
<Force_Vector_TwoBody
     id                    = "10501"
     type                  = "ForceOnly"
     i_marker_id           = "10515721"
     j_floating_marker_id  = "10516722"
     ref_marker_id         = "10516720"
     fx_expression         = "0"
     fy_expression         = "0"
     fz_expression         = "IMPACT(DZ(10515720,10516720,10515720),
                              VZ(10515720,10516720,10515720),1,10000.0,1.0,0.5,0.1)"
/>