Spatial Contact Force
Apply contact forces between a pair of connected bodies
Description
The Spatial Contact Force block models the contact between
a pair of bodies using the penalty method. This method allows the bodies to penetrate a small
amount to compute the contact forces. The block applies normal and frictional contact forces
between the connected base and follower bodies.
The normal contact force is computed using the force equation of the classical
spring-damper system. During contact, the normal contact force is proportional to its
corresponding penetration depth and velocity. The Transition Region
Width specifies the transitional region to the force equations. While the
penetration depth moves through the transition region, the block smoothly ramps up the force.
At the end of the transition region, the full stiffness and damping are applied. On the
rebound, both stiffness and damping forces are smoothly decreased back to zero. This smooth
transition eliminates discontinuities from the force equations and eliminates zero-crossing
events. The larger the Transition Region Width, the smoother the
transition trend of the contact force. In contrast, as the Transition Region
Width is reduced toward zero, the contact force tends to have a sharper
transition that behaves like a discontinuous problem.
To better detect contacts when the value of Transition Region Width
is small, the Spatial Contact Force block supports optional
zero-crossing detection. The zero-crossing events only occur when the separation distance
changes from positive or zero to negative and vice versa.
Note
The zero-crossing detection of the Spatial Contact Force
block is different with the original zero-crossing detection of Simulink® blocks, such as From File and Integrator, because the force equation of the Spatial Contact
Force is continuous. For more information of the zero-crossing detection
of Simulink blocks, see Zero-Crossing Detection.
Each body has a contact frame with its origin located at the contact point and its
z-axis aligned with the contact normal direction. When the surface is
smooth near the contact point, the contact normal is the outward surface normal at the contact
point. When the surface is not smooth, the contact normal is computed using other means, but
it always points outward from the body near the contact point. During continuous contact, the
contact frame moves around the body as the contact point moves.
The diagram shows the contact frame for the base body. Contact forces are applied to the
two solid bodies at the origin of the contact frame in conformance with Newton's Third
Law:
The normal force, fn
, which is aligned with
the z-axis of the contact frame. This force pushes the solid bodies
apart in order to reduce penetration.
The frictional force, ff
, which lies in the
contact plane. This force opposes the relative tangential velocities between the two
bodies near the area of penetration.
The Spatial Contact Force block supports a variety of
geometries and bodies. For example, it supports all the solid blocks in the Body Elements
library and the Infinite Plane
and Point blocks in
the Curves and Surfaces library.
Note
For File Solid and Revolved
Solid blocks, their physical properties, such as mass and inertia, are
based on the true geometry, but contact modeling is based on the convex hull geometry.
For an example, see the following figure.
Convex hulls are commonly used to represent the geometric boundary when the true geometry
presents algorithmic complexity. A convex hull is the smallest convex polyhedron that contains
all the vertexes of a true geometry. For a convex hull, the exterior angle
() between a pair of adjacent faces must be greater than or
equal to 180 degrees.
Ports
Input
expand all
B
— Base frame
frame
Input port associated with the base frame in the model.
F
— Follower frame
frame
Input port associated with the follower frame in the model.
Output
expand all
sep
— Separation distance
scalar
Separation distance between the two solid body elements.
Dependencies
To enable this port, select Sense Separation
Distance.
fn
— Normal force
scalar
Magnitude of the normal contact force between the two solid body elements.
Dependencies
To enable this port, select Sense Normal Force.
ffrm
— Frictional force magnitude
scalar
Magnitude of the frictional contact force between the two solid body
elements.
Dependencies
To enable this port, select Sense Frictional Force
Mag.
Parameters
expand all
Normal Force
Stiffness
— Resistance of the contact spring to geometric penetration
1e6 N/m
(default)
The spring stiffness is a constant value that represents the contact force of two
colliding solid bodies. The larger the value of the spring stiffness, the harder the
contact between the solid body elements.
Damping
— Resistance of the contact damper to motion while the geometries are penetrating
1e3 N/(m/s)
(default)
The damping coefficient is a constant value that represents the lost energy from
colliding solid bodies. The larger the value of the damping coefficient, the more energy
is lost when geometries collide and the faster the contact vibrations are dampened. A
value of zero can be used to model perfectly elastic collisions, which conserve energy.
Transition Region Width
— Region over which the spring-damper force raises to its full value
1e-4 m
(default)
Transition region width, expressed as depth of penetration. The smaller the region,
the sharper the onset of contact and the smaller the time-step required for the solver.
Reducing the transition region improves model accuracy, while expanding it improves
simulation speed.
Frictional Force
Method
— Frictional force law
Smooth Stick-Slip
(default) | None
Frictional force is the force that lies tangentially in the contact frame and
perpendicular to the normal force. Selecting Smooth
Stick-Slip
produces more realistic contact dynamics.
Smooth Stick-Slip
When Smooth Stick-Slip
is selected, the
frictional force is continuous with respect to the relative tangential velocity
near the penetration region. This graph shows how the friction force is
affected:
μstatic is the coefficient of static friction,
μdynamic is the coefficient of dynamic friction, and
vcrit is the critical velocity.
None
When None
is selected, no frictional force is
applied.
Coefficient of Static Friction
— Ratio of the magnitude of the frictional force to the magnitude of the normal force
0.5
(default)
Ratio of the magnitude of the frictional force to the magnitude of the normal force
when the tangential velocity is close to zero.
This value is determined by the material properties of the contacting solid bodies.
It is always nonnegative and is often less than one, although values greater than one
are possible for high-friction materials. In most cases, this value should be higher
than the Coefficient of Dynamic Friction.
Dependencies
To enable this parameter, set Method to Smooth
Stick-Slip
.
Coefficient of Dynamic Friction
— Ratio of the magnitude of the frictional force to the magnitude of the normal force
0.3
(default)
The ratio of the magnitude of the frictional force to the magnitude of the normal
force when the tangential velocity is large.
This value is determined by the material properties of the contacting solid bodies.
It is always nonnegative and is often less than one, although values greater than one
are possible for high-friction materials. In most cases, this value should be lower than
the Coefficient of Static Friction.
Dependencies
To enable this parameter, set Method to Smooth
Stick-Slip
.
Critical Velocity
— Velocity that determines blending between the static and dynamic coefficients of friction
1e-3 m/s
(default)
When the critical velocity is equal the magnitude of the tangential velocity, the
effective coefficient of friction is equal to the specified Coefficient of
Static Friction. As the magnitude of the tangential velocity increases
beyond this value, the effective coefficient of friction asymptotically approaches the
specified Coefficient of Dynamic Friction.
Dependencies
To enable this parameter, set Method to Smooth
Stick-Slip
.
Sensing
Separation Distance
— Distance between two solid bodies
cleared
(default) | checked
Select to measure the separation distance between two solid bodies. If the two solid
bodies are not penetrating, this is a nonnegative value equal to the minimum distance
between the two geometries. If the two solid bodies are penetrating, this is a negative
value equal to the penetration depth.
Normal Force
— Magnitude of the normal contact force between two connected solid bodies
cleared
(default) | checked
Select to measure the magnitude of the normal contact force between the two
connected solid bodies.
Frictional Force Magnitude
— Magnitude of the frictional contact force between two connected solid bodies
cleared
(default) | checked
Select to measure the magnitude of the frictional contact force between the two
connected solid bodies.
Zero-Crossings
Detect Contact Start and End
— Detect start and end of contacts as zero-crossing events
cleared
(default) | checked
Select to detect the start and end of each contact as zero-crossing events. The
zero-crossing events occur when the separation distance changes from positive or zero to
negative and vice versa.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.
Introduced in R2019b