*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.
- use_friction_l
- Specifies the joint friction state. Valid values are: TRUE|FALSE.
- mu_static_l
- The coefficient of friction when the slip velocity is less than transition_vel.
- mu_dynamic_l
- The coefficient of friction when the slip velocity is greater than transition_vel.
- 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.
- transition_vel_l
- Specifies the velocity threshold for the transition from dynamic friction to static friction.
- max_deformation_l
- Specifies the maximum creep that can occur in a joint during the stiction regime.
- effect_l
- Specifies the frictional effect included in the friction model. Valid values are: STICTION_AND_SLIDING| STICTION_ONLY| SLIDING_ONLY. See Comments below.
- preload_input_l
- Specifies if force preload is an input to the friction model. Valid values are: PRELOAD|NO_PRELOAD.
- reaction_force_input_l
- Specifies if joint reaction force is an input to the friction model. Valid values are: REACTION_FORCE|NO_REACTION_FORCE.
- 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.
- 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.
- f_preload_l
- Specifies the joint's preload friction force. See Comments below.
- reaction_arm_l
- Specifies the moment arm of the reaction torque. See Comments below.
- initial_overlap_l
- Specifies the initial overlap of the sliding bodies. See Comments below.
- 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.
- 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.
- t_preload_l
- Specifies the joint's preload friction torque. See Comments below.
- pin_radius_l
- Specifies the radius of the pin. See Comments below.
- friction_arm_l
- Specifies the moment arm used to compute axial friction torque. See Comments below.
- bending_reaction_arm_l
- Specifies the moment arm used to compute the contribution of bending moment on friction torque. See Comments below.
- ball_radius_l
- Specifies the radius of the ball joint. See Comments below.
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
*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
*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
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.