*SetJointFriction() - symmetric joint pair
Sets the friction properties for an symmetric joint pair.
Syntax
*SetJointFriction(varname, sym, 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.
- sym
- Specifies the parent side. The other side will be made symmetric to the parent side. Valid values are: LEFT|RIGHT. No default setting. If unspecified, the properties will be treated as unsymmetric.
- use_friction
- Specifies 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 universal joint pair friction properties are made symmetric
with the LEFT side being the parent
side:
*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 )
*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, LEFT, true, 0.35, 0.26, ACTIVE_STATIC, 0.11, 0.012, , 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 made symmetric
with the RIGHT side being the parent
side:
*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, RIGHT, true, 0.35, 0.28, ACTIVE_STATIC, 0.16, ,
SLIDING_ONLY, PRELOAD, REACTION_FORCE, BENDING_MOMENT, , , , , , , 1000, 9, 25, 55)
*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.