This component models a spring damper combination that can lift off. It can be connected between a sliding mass and the housing (model Fixed), to describe the contact of a sliding mass with the housing.
As long as s_rel > s_rel0, no force is exerted (s_rel = flange_b.s - flange_a.s). If s_rel ≤ s_rel0, the contact force is basically computed with a linear spring/damper characteristic. With parameter n≥1 (exponent of spring force), a nonlinear spring force can be modeled:
desiredContactForce = f_ref*|(s_rel - s_rel0)/s_ref|^n + d*der(s_rel)
Note, Hertzian contact is described by:
The above force law leads to the following difficulties:
In the literature there are several proposals to fix problem (2). Especially, often the following model is used (see, e.g., Lankarani, Nikravesh: Continuous Contact Force Models for Impact Analysis in Multibody Systems, Nonlinear Dynamics 5, pp. 193-207, 1994, pdf-download):
f = c*s_rel^n + (d*s_rel^n)*der(s_rel)
However, this and other models proposed in literature violate issue (1), i.e., unphysical pulling forces can occur (if d*der(s_rel) becomes large enough). Note, if the force law is of the form "f = f_c + f_d", then a necessary condition is that |f_d| ≤ |f_c|, otherwise (1) and (2) are violated. For this reason, the most simplest approach is used in the ElastoGap model to fix both problems by using this necessary condition in the force law directly. If s_rel0 = 0, the equations are:
if s_rel ≥ 0 then
f = 0; // contact force
else
f_c = -c*|s_rel|^n; // contact spring force (Hertzian contact force)
f_d2 = d*der(s_rel); // linear contact damper force
f_d = if f_d2 < f_c then f_c else
if f_d2 > -f_c then -f_c else f_d2; // bounded damper force
f = f_c + f_d; // contact force
end if;
Note, since |f_d| ≤ |f_c|, pulling forces cannot occur
and the contact force is always continuous, especially around the
start of the penetration at s_rel = s_rel0. On the contrary,
this leads to the contact force f = 0 even
if contact = true is still indicated around the
end of the penetration. This is because contact
indicates only the occurrence of geometry penetration.
In order to have consistent units for nonlinear springs, the
term c*|s_rel|^n is replaced by
f_ref*|s_rel/s_ref|^n, whereby s_ref is
a reference length for the spring and f_ref is
the spring force when s_rel = s_ref. The
default values s_ref = 1 and
f_ref = c*s_ref lead to the same results of the
two above-mentioned terms. Setting the advanced parameters
s_ref and f_ref for a nonlinear
spring directly gives a cleaner and straightforward
parametrization. For simplicity reasons, both s_ref
and f_ref are considered being positive.
In the next figure, a typical simulation with the ElastoGap model is shown (Examples.ElastoGap) where the different effects are visualized:
