*SetJointFriction() - asymmetric joint pair

Sets the friction properties for an asymmetric joint pair.

Syntax

*SetJointFriction(varname, , use_friction_l, mu_static_l, mu_dynamic_l, 
                                     use_static_l, transition_vel_l, max_deformation_l, 
                                     effect_l, preload_input_l, reaction_force_input_l, 
                                     bending_moment_input_l, torsional_moment_input_l,
                                     f_preload_l, reaction_arm_l, initial_overlap_l,
                                     overlap_delta_l, rot_constraint_l, t_preload_l, 
                                     pin_radius_l, friction_arm_l, bending_reaction_arm_l,
                                     ball_radius_l 

                                     , use_friction_r, mu_static_r, mu_dynamic_r, 
                                     use_static_r, transition_vel_r, max_deformation_r, 
                                     effect_r, preload_input_r, reaction_force_input_r,
                                     bending_moment_input_r, torsional_moment_input_r,
                                     f_preload_r, reaction_arm_r, initial_overlap_r,
                                     overlap_delta_r, rot_constraint_r, t_preload_r, 
                                     pin_radius_r, friction_arm_r, bending_reaction_arm_r,
                                     ball_radius_r)

Arguments

varname
The variable name of the joint.
Data type: varname
use_friction_l
Specifies the joint friction state. Valid values are: TRUE|FALSE.
Default: FALSE.
Data type: boolean
mu_static_l
The coefficient of friction when the slip velocity is less than transition_vel.
Default: 0.3
Data type: real
mu_dynamic_l
The coefficient of friction when the slip velocity is greater than transition_vel.
Default: 0.25
Data type: real
use_static_l
Specifies if the frictional forces are to be calculated during Static/Quasi-Static solution. Valid values are: ACTIVE_STATIC|INACTIVE_STATIC. See Comments below.
Default: ACTIVE_STATIC.
Data type: keyword
transition_vel_l
Specifies the velocity threshold for the transition from dynamic friction to static friction.
Default: 0.1
Data type: real
max_deformation_l
Specifies the maximum creep that can occur in a joint during the stiction regime.
Only for SolverMode ADAMS.
Default: 0.01
Data type: real
effect_l
Specifies the frictional effect included in the friction model. Valid values are: STICTION_AND_SLIDING| STICTION_ONLY| SLIDING_ONLY. See Comments below.
Default: STICTION_AND_SLIDING
Data type: keyword
preload_input_l
Specifies if force preload is an input to the friction model. Valid values are: PRELOAD|NO_PRELOAD.
Default: PRELOAD
Data type: keyword
reaction_force_input_l
Specifies if joint reaction force is an input to the friction model. Valid values are: REACTION_FORCE|NO_REACTION_FORCE.
Default: REACTION_FORCE
Data type: keyword
bending_moment_input_l
Specifies if bending moment is an input to the friction model. Valid values are: BENDING_MOMENT|NO_BENDING_MOMENT. See Comments below.
Default: BENDING_MOMENT
Data type: keyword
torsional_moment_input_l
Specifies if torsional moment is an input to the friction model. Valid values are: TORSIONAL_MOMENT|NO_TORSIONAL_MOMENT. See Comments below.
Default: TORSIONAL_MOMENT
Data type: keyword
f_preload_l
Specifies the joint's preload friction force. See Comments below.
Default: 0.0
Data type: real
reaction_arm_l
Specifies the moment arm of the reaction torque. See Comments below.
Default: 1.0
Data type: real
initial_overlap_l
Specifies the initial overlap of the sliding bodies. See Comments below.
Default: 1000.0
Data type: real
overlap_delta_l
Specifies the change in overlap in the sliding bodies connected by the joint. Valid values are: CONSTANT|INCREASE|DECREASE. See Comments below.
Default: CONSTANT
Data type: keyword
rot_constraint_l
Specifies the rotational constraint in the universal joint on which the friction acts. Valid values are: I_YOKE|J_YOKE. See Comments below.
Default: I_YOKE
Data type: keyword
t_preload_l
Specifies the joint's preload friction torque. See Comments below.
Default: 0.0
Data type: real
pin_radius_l
Specifies the radius of the pin. See Comments below.
Default: 1.0
Data type: real
friction_arm_l
Specifies the moment arm used to compute axial friction torque. See Comments below.
Default: 1.0
Data type: real
bending_reaction_arm_l
Specifies the moment arm used to compute the contribution of bending moment on friction torque. See Comments below.
Default: 1.0
Data type: real
ball_radius_l
Specifies the radius of the ball joint. See Comments below.
Default: 1.0
Data type: real

The parameters for the right side joint are appended with "_r" in the *SetJointFriction() statement above. These parameters hold the same meaning as their left side counterparts, but are applicable to the right side joint.

Example

Example 1

In the following example, the universal joint pair friction is set to TRUE and properties are assigned:
*BeginMDL( the_model, "Model" )
  *StandardInclude(FILE)
  *PointPair( p_0, "Pivot" )
  *BodyPair( b_pendu, "InputShaft", p_1, , , , b_pendu.cm )
  *UJointPair( j_0, "Pivot", b_pendu, b_0, p_0, SHAFT, POINT, p_5, SHAFT, POINT, p_6 )
  *PointPair( p_2, "Ground Shaft" )
  *PointPair( p_3, "Body shaft" )
  *PointPair( p_1, "Point 1" )
  *BodyPair( b_0, "OutputShaft", p_4, , , ,  )
  *PointPair( p_4, "Point 4" )
  *InlineJointPair( j_1, "OutputShaftInlJt", b_0, B_Ground, p_5, ORIGIN, POINT, p_0 )
  *PointPair( p_5, "Point 5" )
  *PointPair( p_6, "Point 6" )
  *RevJointPair( j_2, "InputShaftRevJt", b_pendu, B_Ground, p_6, POINT, p_0 )
  *Set( b_pendu.usecm, true )
  *Set( b_0.usecm, true )
  *SetOrientation( b_pendu.cm, LEFT, TWOAXES, ZX, POINT, p_0, DXDYDZ, 1.0, 0.0, 0.0 )
  *SetBodyInertia( b_pendu, LEFT, 1.0, 100000, 100000, 100000, 0.0, 0.0, 0.0 )
  *SetBodyInertia( b_0, LEFT, 1, 100000, 100000, 100000 )
  *SetPoint( p_0, LEFT, , -100 )
  *SetPoint( p_2, LEFT, 10, -100, 0.0 )
  *SetPoint( p_3, LEFT, -10, -100, -4 )
  *SetPoint( p_1, LEFT, -25, -100, -10 )
  *SetPoint( p_4, LEFT, 25, -100 )
  *SetPoint( p_5, LEFT, 50, -100, 0 )
  *SetPoint( p_6, LEFT, -50, -100, -20 )
  *SetJointFriction( j_0, , true, 0.35, 0.26, ACTIVE_STATIC, 0.11, 0.012, STICTION_AND_SLIDING, PRELOAD, REACTION_FORCE, BENDING_MOMENT, , , , , , 
J_YOKE, 1000, 10, 10, 100, 
                         , true, 0.36, 0.27, ACTIVE_STATIC, 0.1,  0.012, STICTION_AND_SLIDING, PRELOAD, REACTION_FORCE, BENDING_MOMENT, , , , , , 
I_YOKE, 1000, 10, 10, 100, )
*EndMDL()

Example 2

In the following example, the revolute joint pair friction properties are set:
*BeginMDL( the_model, "Model" )
  *StandardInclude(FILE)
  *PointPair( p_0, "Pivot" )
  *PointPair( p_1, "Point 1" )
  *BodyPair( b_pendu, "Pendulum", p_1, , , ,  )
  *RevJointPair( j_0, "Pivot", b_pendu, B_Ground, p_0, VECTOR, V_Global_Y )
  *SetBodyInertia( b_pendu, LEFT, 1.0, 100.0, 100.0, 100.0, 0.0, 0.0, 0.0 )
  *Set( b_pendu.usecm, true )
  *SetPoint( p_1,  LEFT, -100, -100.0, -75 )
  *SetPoint( p_0, LEFT, , -100 )
  *SetJointFriction( j_0, , true, 0.36, 0.28, INACTIVE_STATIC, 0.15, 0.01, 
SLIDING_ONLY, NO_PRELOAD, REACTION_FORCE, BENDING_MOMENT, , , , , , , 1000, 
10, 24, 60, 
                          , true, 0.36, 0.28, INACTIVE_STATIC, 0.15, 0.01, 
SLIDING_ONLY, NO_PRELOAD, REACTION_FORCE, BENDING_MOMENT, , , , , , , 2000, 
12, 25, 65, )
*EndMDL()

Context

*BeginMdl()

*DefineSystem()

*DefineAssembly()

*BeginContext()

Comments

This statement is used to set the friction properties of a joint in "Non-Compliant" mode. Five types of joints can be assigned frictional properties: Ball joint, Cylindrical joint, Revolute joint, Translational joint, and Universal joint.

The second field in the *SetJointFriction() is empty for an asymmetric joint pair. Inserting the keyword "LEFT" or "RIGHT" will make this joint symmetric with respect to left or right side respectively. In this case, the second set of data, if specified are ignored.
use_static
ACTIVE_STATIC
Frictional forces will also be calculated during a Static/Quasi-Static solution.
INACTIVE_STATIC
Frictional forces will be calculated only during a Dynamic solution.
effect
Specifies the frictional effects included in the friction model.
STICTION_AND_SLIDING
Both static and dynamic friction effects are included.
STICTION_ONLY
Only static friction effect is included.
SLIDING_ONLY
Only dynamic friction effect is included.
bending_moment_input
This field is applicable to revolute, translational, cylindrical, and universal joints.
torsional_moment_input
This field is applicable to translational joint only.
f_preload
Applicable for translational and cylindrical joints only.
This replicates the preload caused by interference in the mating parts (represented by bodies in MotionView, connected by the joint).
reaction_arm
Applicable for translational joint only.
Defines the effective moment arm of the joint reaction torque about the joint's axial axis. Contribution of torsional moment to frictional forces is evaluated using this arm.
initial_overlap
Applicable for translational and cylindrical joints only.
Defines the initial overlap of the sliding bodies connected by the joint in modeled condition. Contribution of bending moment to frictional forces is evaluated using this arm.
overlap_delta
Applicable for translational and cylindrical joints only.
Defines the change in the overlap. Frictional force in a sliding joint (translational or cylindrical) is characterized by the overlap in the joint, which can increase, decrease, or remain constant.
CONSTANT
Overlap remains constant.
INCREASE
Overlap increases as the I-Marker translates along the positive Z-axis of the J-Marker.
DECREASE
Overlap decreases in the positive direction of the J marker.
rot_constraint
Applicable for universal joint only.
Defines the rotational constraint on which the friction acts.
I_YOKE
I-Marker's rotational constraint.
J_YOKE
J-Marker's rotational constraint.
t_preload
Applicable for revolute, cylindrical, universal and ball joints only.
Defines the preload friction torque in the joint.
pin_radius
Applicable for revolute, cylindrical, and universal joints only.
Specifies the radius of the pin of the joint.
friction_arm
Applicable for revolute and universal joints only.
Specifies the moment arm used to compute axial friction torque in revolute and universal joints.
bending_reaction_arm
Applicable for revolute and universal joints only.
Specifies the moment arm used to compute the contribution of bending moment on friction torque.
ball_radius
Applicable for ball joint only.
Specifies the radius of the ball joint used for the evaluation of friction force and torque.