contact modify

Allows you to modify a contact force between two geometries/flexible bodies.

Format:

 
contact modify
contact_name =
existing contact
new_contact_name =
a new contact
type =
contact type
adams_id =
integer
comments =
string
i_marker_name =
an existing marker
i_geometry_name =
an existing geometry
j_geometry_name =
an existing geometry
i_flex =
an existing flexible body
j_flex =
an existing flexible body
i_edge =
an existing edge
j_edge =
an existing edge
i_edge_index =
an existing edge index
j_edge_index =
an existing edge index
i_flip_normal =
string
j_flip_normal =
string
i_flip_geometry_name =
existing contact_curve
j_flip_geometry_name =
existing contact_curve
face_contact_bottom =
True/False
face_contact_top =
True/False
geometry_routines =
string
stiffness =
real
damping =
real
dmax =
real
exponent =
real
penalty =
real
restitution_coefficient =
real
normal_function =
real
normal_routine =
string
augmented_lagrangian_formulation =
yes/no
coulomb_friction =
real
mu_static =
real
mu_dynamic =
real
friction_transition_velocity =
real
friction_function =
real
friction_routine =
string
no_friction =
true_value
stiction_transition_velocity =
real
stiction =
boolean(on/off)
max_stiction_deformation =
real

Example:

 
contact modify &
contact_name =
contact__1 &
new_contact_name =
contact__2 &
adams_id =
1 &
comments =
"comment string" &
i_marker_name =
Marker_1 &
j_geometry_name =
Link_1 &
i_flip_normal =
yes &
j_flip_normal =
no &
geometry_routines =
"routine 1" &
stiffness =
0.12 &
damping =
0.18 &
dmax =
0.11 &
exponent =
0.13 &
augmented_lagrangian_formulation =
no &
mu_static =
0.15 &
mu_dynamic =
0.16 &
coulomb_friction =
dynamics_only &
friction_transition_velocity =
0.15 &
stiction_transition_velocity =
0.15
stiction =
On
max_stiction_deformation =
0.01

Description:

 
Parameter
Value
Description
contact_name
Existing Contact
Specifies the name of the contact to be created.
new_contact_name
A New Contact
Specify a new contact name
adams_id
Integer
If this ID is not entered, Adams View will automatically create an Adams ID for the contact.
type
String
Specifies contact type as:
solid_to_solid
curve_to_curve
point_to_curve
point_to_plane
curve_to_plane
sphere_to_plane
sphere_to_sphere
flex_to_solid
flex_to_flex
flex_edge_to_curve
flex_edge_to_flex_edge
flex_edge_to_plane
cylinder_to_cylinder
comments
String
Enters any relevant comments to describe the contact.
i_marker_name
An Existing Marker
Either the I marker or the I geometry name needs to be specified to indicate the geometry participating in the contact.
i_geometry_name
An Existing Geometry
Specifies the name of the geometry participating in the contact.
j_geometry_name
An Existing Geometry
Specifies the name of the other geometry participating in the contact.
i_flex
An Existing Flexible Body
Specifies the name of the first flexible body participating in the contact. This parameter should be used only with Adams Solver (C++).
j_flex
An Existing Flexible Body
Specifies the name of the other flexible body participating in the contact. This parameter can only exist if the I_flex parameter is specified and used with Adams Solver (C++).
i_edge
An Existing edge on Flexible Body
Specifies the name of the edge on the first flexible body participating in the contact. This parameter should be used only with Adams Solver C++.
j_edge
An Existing edge on Flexible Body
Specifies the name of the edge on the other flexible body participating in the contact. This parameter can only exist if the i_edge parameter is specified and used with Adams Solver C++.
i_edge_index
An Existing edge index
Specifies edge index of the first edge participating in the contact. This parameter can only exist if the i_edge parameter is specified and used with Adams Solver C++.
j_edge_index
An Existing edge index
Specifies the edge index of the other edge participating in the contact. This parameter can only exist if the j_edge parameter is specified and used with Adams Solver C++.
i_flip_normal
String
Boolean value, specifying whether the normal is to be flipped or not. Takes values, Yes or No.
j_flip_normal
String
Boolean value, specifying whether the normal is to be flipped or not. Takes values, Yes or No.
i_flip_geometry_name
Existing Contact_curve
Specifies the geometry name at which the contact should be flipped on the I body.
j_flip_geometry_name
Existing Contact_curve
Specifies the geometry name at which the contact should be flipped on the J body.
face_contact_bottom
True/False
Specific to cylinder-to-cylinder contacts where one of the cylinders is using its internal surface for contact (that is, i/j_flip_normal = yes). “Bottom” face is defined as the one on which the cylinder geometry’s reference marker is located. If set to “true” then this face will enforce contact.
face_contact_top
True/False
Specific to cylinder-to-cylinder contacts where one of the cylinders is using its internal surface for contact (that is, i/j_flip_normal = yes). “Top” face is defined as the one on which the cylinder geometry’s reference marker is NOT located. If set to “true” then this face will enforce contact.
geometry_routines
String
Takes a string value
stiffness
Real
Specifies a material stiffness that you can use to calculate the normal force for the impact model.
damping
Real
Used when you specify the IMPACT model for calculating normal forces. DAMPING defines the damping properties of the contacting material. You should set the damping coefficient to about one percent of the stiffness coefficient.
Range: DAMPING >0
dmax
Real
Used when you specify the IMPACT model for calculating normal forces.
Range: DMAX > 0
exponent
Real
Used when you specify the IMPACT model for calculating normal forces.
Range: EXPONENT >1
penalty
Real
Used when you specify a restitution model for calculating normal forces. PENALTY defines the local stiffness properties between the contacting material.
restitution_coefficient
Real
The coefficient of restitution models the energy loss during contact. This field is not available when I_flex and J_flex parameters are specified. Range: 0 < RESTITUTION_COEFFICIENT < 1
normal_function
Real
Specifies up to thirty user-defined constants to compute the contact normal force components in a user-defined subroutine
normal_routine
String
Specifies a library and a user-written subroutine in that library that calculates the contact normal force.
augmented_lagrangian_formulation
Boolean
Refines the normal force between two sets of rigid geometries that are in contact.
coulomb_friction
Real
Models friction effects at the contact locations using the Coulomb friction model to compute the frictional forces.
mu_static
Real
Specifies the coefficient of friction at a contact point when the slip velocity is smaller than the STICTION_TRANSITION_VELOCITY. Range: MU_STATIC > 0
mu_dynamic
Real
Specifies the coefficient of friction at a contact point when the slip velocity is larger than the FRICTION_TRANSITION_VELOCITY. Range:0 < MU_DYNAMIC < MU_STATIC
friction_transition_velocity
Real
Used in the COULOMB_FRICTION model for calculating frictional forces at the contact locations. Range:
FRICTION_TRANSITION_VELOCITY > STICTION_TRANSITION_VELOCITY > 0
friction_function
Real
Specifies up to thirty user-defined constants to compute the contact friction force components in a user-defined subroutine
friction_routine
String
Specifies a library and a user-written subroutine in that library that calculates the contact friction force.
no_friction
True
Will take Boolean values of true or false, based on whether friction is present or not.
stiction_transition_velocity
Real
Used in the COULOMB_FRICTION model for calculating frictional forces at the contact locations. Range: 0 < STICTION_TRANSITION_VELOCITY < FRICTION_TRANSITION_VELOCITY
stiction
Boolean
Models friction effects at the contact locations using the Stiction and Sliding friction model to compute the frictional forces. The coefficient of friction will be Mu_static at and around zero. A max relative displacement will be used to determine when the friction force transitions from stiction to sliding friction.{off, on}
max_stiction_deformation
Real
This argument can be defined even if stiction is missing or off; This argument can be missing even if stiction = on, a default of 0.01 should be assumed in that case.

Extended Definition:

1. For solids and curves, you can select more than one geometry as long as the geometry belongs to the same part.
2. For sphere-to-sphere and cylinder-to cylinder contacts, you can specify whether the contact should be inside or outside the sphere or cylinder.
3. In general, the higher the stiffness, the more rigid or hard are the bodies in contact. Also note that the higher the stiffness, the harder it is for an integrator to solve through the contact event.
4. Parameter dmax defines the penetration at which Adams Solver turns on full damping. Adams Solver uses a cubic STEP function to increase the damping coefficient from zero, at zero penetration, to full damping when the penetration is dmax. A reasonable value for this parameter is 0.01 mm. For more information, refer to the IMPACT function.
5. Adams Solver (FORTRAN) models normal force as a nonlinear spring-damper. If PEN is the instantaneous penetration between the contacting geometry, Adams Solver calculates the contribution of the material stiffness to the instantaneous normal forces as STIFFNESS * (PENALTY)**EXPONENT. For more information, see the IMPACT function. Exponent should normally be set to 1.5 or higher.
6. A large value of PENALTY ensures that the penetration, of one geometry into another, will be small. Large values, however, will cause numerical integration difficulties. A value of 1E6 is appropriate for systems modeled in Kg-mm-sec. For more information on how to specify this value, see Extended Definition. Range: PENALTY > 0
7. A value of zero for the restitution_coefficient specifies a perfectly plastic contact between the two colliding bodies. A value of one specifies a perfectly elastic contact. There is no energy loss. The coefficient of restitution is a function of the two materials that are coming into contact. For information on material types versus commonly used values of the coefficient of restitution, see the Material Contact Properties table.
8. The augmented_lagrangian_formulation parameter uses iterative refinement to ensure that penetration between the geometries is minimal. It also ensures that the normal force magnitude is relatively insensitive to the penalty or stiffness used to model the local material compliance effects. You can use this formulation only with the POISSON model for normal force.
9. The friction model in CONTACT models dynamic friction but not stiction. The argument values, on/off/dynamics_only, specify at run time whether the friction effects are to be included.
10. For information on material types versus commonly used values of the coefficient of static friction, see the Material Contact Properties table. Excessively large values of mu_static can cause integration difficulties.
11. For information on material types versus commonly used values of the coefficient of the dynamic coefficient of friction, see the Material Contact Properties table. Excessively large values of mu_dynamic can cause integration difficulties.
12. Adams Solver gradually transitions the coefficient of friction from mu_static to mu_dynamic as the slip velocity at the contact point increases. When the slip velocity is equal to the value specified for friction_transition_velocity, the effective coefficient of friction is set to mu_dynamic. For more details, see Extended Definition.
13. Specifying i_flex and j_flex parameters for Adams Solver (FORTRAN) will result in a warning message that the created contact is no longer compatible with the solver.
14. i_edge and j_edge are the matrices consisting of the nodes of the free edges identified by the edge index. You have to first, select a flexible body and then you will be asked to pick one of the free edges generated (more than one free edge can exists) on the flexible body.
15. edge_index is an optional parameter. If you do not specify, it will be calculated internally.
16. If contact_type "solid-to-solid" is specified and the geometry supplied is capable of analytical contact detection then Adams will automatically treat them analytically. See the Adams Solver CONTACT statement documentation for details on which types of geometry are treated analytically.
17. Solid-to-solid contact is limited to external contact surfaces. So, to take advantage of analytical contact detection for sphere or cylinder geometry and use an internal surface for contact one must specify type = sphere_to_sphere or cylinder_to_cylinder.
18. Stiction property can be ON only when contact type Solid-to-solid, penalty and restitution_coefficient is not set, i_geometry_name and j_geometry_name is not Sphere, Ellipsoid, Cylinder or Frustum or child of FE part. Stiction property is not supported for when Parasolid option is selected for Geometry Library.

Tips:

1. Small values for FRICTION_TRANSITION_VELOCITY cause difficulties for the integrator . You should specify this value as:
FRICTION_TRANSITION_VELOCITY > 5 * ERROR
where ERROR is the integration error used for the solution. Its default value is 1E-3.