# Force: Contact

Command ElementThe Force_Contact command can be used to modify the parameters of a Force_Contact model element.

## Format

<Force_Contact
id                             = "integer"
num_i_graphics                 = "integer"
i_graphics_id                  = "integer [,integer,...,integer]"
num_j_graphics                 = "integer"
j_graphics_id                  = "integer [,integer,...,integer]"
ignore_penetration_larger_than = "real"
master_surface                 = { "I" | "J" | "I_and_J" | "AUTO" }
enable_sphere_to_mesh          = { "TRUE" | "FALSE" | "AUTO" }
contact_stability_2d           = "real"
{
penalty                        = "real"
restitution_coeff              = "real"
normal_trans_vel               = "real"
|
stiffness                      = "real"
damping                        = "real"
exponent                       = "real"
dmax                           = "real"
|
i_elastic_modulus              = "real"
j_elastic_modulus              = "real"
i_layer_depth                  = "real"
j_layer_depth                  = "real"
}
cff_type                       = " { Coulomb_On | Coulomb_Off | Dynamics_Only } "
mu_static                      = "real"
mu_dynamic                     = "real"
stiction_trans_vel             = "real"
friction_trans_vel             = "real"
/>

## Attributes

id

Element identification number (integer>0). This number is unique among all Force_Contact elements and uniquely identifies the element.

Note: id is used only to identify the Force_Contact element to be modified. By itself id cannot be modified.
num_i_graphics
Modifies the number of Post_Graphic elements on body I or the first body that is to be considered in evaluating the contact force.
num_i_graphics > 0
i_graphics_id
Modifies the list of Post_Graphic element IDs on the first body to be considered for contact. The number of IDs in this list is specified by num_i_graphics.
Note: All the Post_Graphic entities must belong to the same body.
num_j_graphics
Modifies the number of Post_Graphic elements on body J or the second body that is to be considered in evaluating the contact force.
num_j_graphics > 0
j_graphics_id
Modifies the list of Post_Graphic element IDs on the second body to be considered for contact. The number of IDs in this list is specified by num_j_graphics.
Note: All the Post_Graphic entities must belong to the same body.
ignore_penetration_larger_than
Use this attribute to change the maximum penetration depth that MotionSolve will consider for evaluating contact forces. Any value above this threshold will be ignored.
master_surface
Use this attribute to change the selection of the master surface for the contact calculations.
enable_sphere_to_mesh
Use this attribute to change how MotionSolve treats spherical geometries. Set this to "TRUE" to use the analytical collision engine and "FALSE" to use the tessellated collision engine.
i_elastic_modulus (VOLUME)
Modifies the elastic modulus of the geometries belonging to Body I for the volume force model.
i_elastic_modulus > 0
j_elastic_modulus (VOLUME)
Modifies the elastic modulus of the geometries belonging to Body J for the Volume force model.
j_elastic_modulus > 0
i_layer_depth (VOLUME)
Modifies the size of the layer depth for the geometries belonging to body I.
j_layer_depth (VOLUME)
Specifies the size of the layer depth for the geometries belonging to body J.
penalty (POISSON)
Modifies the penalty parameter that is used to calculate the spring force.
This attribute may only be modified when the cnf_type is set to POISSON in the Force_Contact element.
penalty0
restitution_coeff (POISSON)
Modifies the coefficient of restitution (COR) between the contacting bodies.
This attribute may only be modified when the cnf_type is set to POISSON in the Force_Contact element.
normal_trans_vel (POISSON)
Modifies the velocity limit between the two bodies at which full damping is applied in the contact force. If unset or set to 0, MotionSolve initializes it to 1.
This attribute may only be modified when the cnf_type is set to POISSON in the Force_Contact element.
stiffness (IMPACT)
Modifies the stiffness parameter of the contact.
This attribute may only be modified when the cnf_type is set to IMPACT in the Force_Contact element.
stiffness0
exponent (IMPACT)
Modifies the exponent of the force deformation characteristic of the contact interface.
This attribute may only be modified when the cnf_type is set to IMPACT in the Force_Contact element.
exponent > 0
damping (IMPACT)
Modifies the maximum damping coefficient.
This attribute may only be modified when the cnf_type is set to IMPACT in the Force_Contact element.
damping0
dmax (IMPACT)
Modifies the penetration at which full damping is applied.
This attribute may only be modified when the cnf_type is set to IMPACT in the Force_Contact element.
dmax > 0
mu_static
Modifies the coefficient of friction when the relative slip velocity is equal to stiction_trans_vel.
This attribute may only be modified when the cff_type is set to COULOMB_ON in the Force_Contact element.
mu_static0
mu_dynamic
Modifies the coefficient of friction when the relative slip velocity is greater than friction_trans_vel.
This attribute may only be modified when the cff_type is set to COULOMB_ON or DYNAMICS_ONLY in the Force_Contact element.
mu_dynamic0
stiction_trans_vel
Modifies the slip velocity at which the static coefficient of friction, mu_static, is applied.
This attribute may only be modified when the cff_type is set to COULOMB_ON in the Force_Contact element.
stiction_trans_vel0
friction_trans_vel
Modifies the slip velocity at which the dynamic coefficient of friction, mu_dynamic, is applied.
This attribute may only be modified when the cff_type is set to COULOMB_ON or DYNAMICS_ONLY in the Force_Contact element.
friction_trans_vel0

## Example

The following example illustrates how the <Force_Contact> command element may be used to change the parameters of the 3D rigid body contact in a MotionSolve model. In this example, to see the effect of damping in 3D contact, the model is simulated two times - once with damping turned on, and once with damping turned off. The SAVE/LOAD commands are used to combine the two simulations into one.

<Model
…
…
<!- Definition of the contact force element in the model section with damping specified -->
<Force_Contact
id                  = "303001"
num_i_graphics      = "1"
i_graphics_id       = "90001"
num_j_graphics      = "1"
j_graphics_id       = "90002"
cnf_type            = "Impact"
stiffness           = "2000."
exponent            = "1.2"
damping             = "0"
dmax                = "0.001"
cff_type            = "Coulomb_Off"
/>
…
…
</Model>
<Command>
…
…
<!- Save the model -->
<Save
model_file          = "model.xml"
/>
<!- Simulate the model with damping turned on for 1 second -->
<Simulate
analysis_type       = "Transient"
end_time            = "1."
print_interval      = "0.01"
/>
<!- Load the saved model -->
model_file          = "model.xml"
result_file         = "damping_off.mrf"
anima_file          = "damping_off.h3d"
<!- Turn off damping -->
<Force_Contact
id                  = "303001"
damping             = "0"
/>
<!- Simulate the model with damping turned off for 1 second -->
<Simulate
analysis_type       = "Transient"
end_time            = "1."
print_interval      = "0.01"
/>
</Command>