*SetJointFriction() - single joint
Sets the friction properties for a joint.
Syntax
*SetJointFriction(varname, use_friction, mu_static, mu_dynamic, use_static,
transition_vel, max_deformation, effect,
preload_input, reaction_force_input,
bending_moment_input, torsional_moment_input,
f_preload, reaction_arm, initial_overlap,
overlap_delta, rot_constraint, t_preload, pin_radius,
friction_arm, bending_reaction_arm, ball_radius)
Arguments
- varname
- The variable name of the joint.
- use_friction
- Specifies the joint friction state. \Valid values are: TRUE|FALSE.
- mu_static
- The coefficient of friction when the slip velocity is less than transition_vel.
- mu_dynamic
- The coefficient of friction when the slip velocity is greater than transition_vel.
- use_static
- Specifies if the frictional forces are to be calculated during Static/Quasi-Static solution. Valid values are: ACTIVE_STATIC|INACTIVE_STATIC. See Comments below.
- transition_vel
- Specifies the velocity threshold for the transition from dynamic friction to static friction.
- max_deformation
- Specifies the maximum creep that can occur in a joint during the stiction regime. Only for SolverMode ADAMS.
- effect
- Specifies the frictional effect included in the friction model. Valid values are: STICTION_AND_SLIDING| STICTION_ONLY| SLIDING_ONLY. See Comments below.
- preload_input
- Specifies if force preload is an input to the friction model. Valid values are: PRELOAD|NO_PRELOAD.
- reaction_force_input
- Specifies if joint reaction force is an input to the friction model. Valid values are: REACTION_FORCE|NO_REACTION_FORCE.
- bending_moment_input
- Specifies if bending moment is an input to the friction model. Valid values are: BENDING_MOMENT|NO_BENDING_MOMENT. See Comments below.
- torsional_moment_input
- Specifies if torsional moment is an input to the friction model. Valid values are: TORSIONAL_MOMENT|NO_TORSIONAL_MOMENT. See Comments below.
- f_preload
- Specifies the joint's preload friction force. See Comments below.
- reaction_arm
- Specifies the moment arm of the reaction torque. See Comments below.
- initial_overlap
- Specifies the initial overlap of the sliding bodies. See Comments below.
- overlap_delta
- Specifies the change in overlap in the sliding bodies connected by the joint. Valid values are: CONSTANT|INCREASE|DECREASE. See Comments below.
- rot_constraint
- Specifies the rotational constraint in the universal joint on which the friction acts. Valid values are: I_YOKE|J_YOKE . See Comments below.
- t_preload
- Specifies the joint's preload friction torque. See Comments below.
- pin_radius
- Specifies the radius of the pin. See Comments below.
- friction_arm
- Specifies the moment arm used to compute axial friction torque. See Comments below.
- bending_reaction_arm
- Specifies the moment arm used to compute the contribution of bending moment on friction torque. See Comments below.
- ball_radius
- Specifies the radius of the ball joint. See Comments below.
Example
Example 1
In the following example, the translational joint friction is ON with "Preload" and
"Torsional moment"
inputs.
*BeginMDL( the_model, "Model" )
*StandardInclude(FILE)
*Point( p_block, "Block" )
*Body( b_0, "Block", p_block, , , , )
*SetBodyInertia( b_0, 1.0, 1000.0, 1000.0, 100.0, 0.0, 0.0, 0.0 )
*Set( b_0.usecm, true )
*TransJoint( j_0, "Translation", b_0, B_Ground, p_block, VECTOR,
V_Global_X )
*SetJointFriction( j_0, true, 0.30, 0.25, ACTIVE_STATIC, 0.1, 0.01,
SLIDING_ONLY, PRELOAD, NO_REACTION_FORCE, NO_BENDING_MOMENT,
TORSIONAL_MOMENT, 1000, 10, 30, INCREASE, , , , , , )
*EndMDL()
Example 2
In the following example, the cylindrical joint friction is ON. Frictional effect is set to
static only by using the keyword
"STICTION_ONLY".
*BeginMDL( the_model, "Model" )
*StandardInclude(FILE)
*Point( p_0, "Pivot" )
*Point( p_1, "Point 1" )
*Body( b_pendu, "Pendulum", p_1, , , , )
*CylJoint( j_0, "Pivot", b_pendu, b_0, p_0, VECTOR, V_Global_Y )
*Body( b_0, "Swing", p_0, , , , )
*TransJoint( j_1, "SwingTrans", b_0, B_Ground, p_0, VECTOR, V_Global_Y )
*SetBodyInertia( b_pendu, 1.0, 100.0, 100.0, 100.0, 0.0, 0.0, 0.0 )
*Set( b_pendu.usecm, true )
*SetPoint( p_1, -100, 0.0, -75 )
*SetBodyInertia( b_0, 0.01, 100, 100, 100 )
*Set( b_0.usecm, true )
*SetJointFriction( j_0, true, 0.3, 0.2, ACTIVE_STATIC, 0.15, 0.01,
STICTION_ONLY, PRELOAD, REACTION_FORCE, BENDING_MOMENT, , 100.0, , 50.0,
CONSTANT, , 2000, 3, , , )
*EndMDL()
Example 3
In the following example, ball joint friction is activated. INACTIVE_STATIC keyword will
deactivate friction during a Static/Quasi-Static
solution.
*BeginMDL( the_model, "Model" )
*StandardInclude(FILE)
*System( sys_0, "Pendulum", def_sys_0 )
*DefineSystem( def_sys_0 )
*BallJoint( j_0, "Pivot", b_pendu, B_Ground, p_0 )
*Point( p_0, "Pivot" )
*Point( p_1, "Point 1" )
*SetPoint( p_1, -100, 0.0, -75 )
*Body( b_pendu, "Pendulum", p_1, , , , b_pendu.cm )
*SetBodyInertia( b_pendu, 1.0, 100.0, 100.0, 100.0, 0.0, 0.0, 0.0 )
*Set( b_pendu.usecm, true )
*EndDefine()
*BeginContext( sys_0 )
*SetJointFriction( j_0, TRUE, 0.30, 0.26, INACTIVE_STATIC, 0.15, , ,
PRELOAD, REACTION_FORCE, , , , , , , , 1000, , , , 10 )
*EndContext()
*EndMDL()
Context
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.
- 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.
- reaction_arm
- Applicable for translational joint only.
- initial_overlap
- Applicable for translational and cylindrical joints only.
- overlap_delta
- Applicable for translational and cylindrical joints only.
- rot_constraint
- Applicable for universal joint only.
- t_preload
- Applicable for revolute, cylindrical, universal and ball joints only.
- pin_radius
- Applicable for revolute, cylindrical and universal joints only.
- friction_arm
- Applicable for revolute and universal joints only.
- bending_reaction_arm
- Applicable for revolute and universal joints only.
- ball_radius
- Applicable for ball joint only.