User Guide For CONTACT, Rolling and Sliding Contact With Friction PDF
User Guide For CONTACT, Rolling and Sliding Contact With Friction PDF
User Guide For CONTACT, Rolling and Sliding Contact With Friction PDF
Date
January 15, 2019
Author(s)
Dr.ir. E.A.H. Vollebregt
c VORtech CMCC.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 2
Contents
1 Introduction 6
1.1 Prerequisites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2 Purpose of CONTACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 History of the program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Free and premium versions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.5 Structure of this report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6 Guidance to new users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
6 Examples 77
6.1 The Cattaneo shift problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
6.2 The 2D Carter/Fromm problem . . . . . . . . . . . . . . . . . . . . . . . . . . 80
6.3 The 2D Bentall-Johnson test-case . . . . . . . . . . . . . . . . . . . . . . . . . 81
6.4 Calculation of creep force curves . . . . . . . . . . . . . . . . . . . . . . . . . . 84
6.5 The Manchester wheel-rail benchmark . . . . . . . . . . . . . . . . . . . . . . 87
6.6 Conformal contact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.7 The use of the FASTSIM algorithm . . . . . . . . . . . . . . . . . . . . . . . . 92
6.8 Instationary problems: from Cattaneo to Carter . . . . . . . . . . . . . . . . . 94
6.9 The calculation of subsurface stresses . . . . . . . . . . . . . . . . . . . . . . . 96
6.10 Dissimilar materials: Spence compression . . . . . . . . . . . . . . . . . . . . . 98
6.11 Steady rolling of two viscoelastic cylinders . . . . . . . . . . . . . . . . . . . . 100
6.12 Transient rolling with velocity dependent friction . . . . . . . . . . . . . . . . 103
Bibliography 129
Chapter 1
Introduction
This report describes the usage of the computer program CONTACT for contact mechanical
simulations. CONTACT is an advanced simulation program for the detailed study of three-
dimensional frictional contact. For instance for investigating the wear of railway wheels and
rails.
This program implements the famous theories for rolling contact by Prof. J.J. Kalker of
Delft University of Technology. These were presented first in [13] and are described in full
detail in [16], for an extended introduction see [18] or [47]. Notable extensions by Vollebregt
concern the effects of third body layers [42] and falling friction [49] (together referred to
as “Extended CONTACT”), speedup by dedicated iterative solvers, e.g. [41, 58], and the
automated wheel/rail contact analysis.
1.1 Prerequisites
To understand this report and work with our program, a basic understanding of the de-
formation of solid objects is needed. This involves the concepts of stress and strain from
continuum mechanics. Further one should know about elastic, viscoelastic and plastic mate-
rial behaviours, and of corresponding material parameters such as Young’s modulus and the
yield strength. Introductory texts on these matters are provided on Wikipedia1 and in text
books such as [4] and [24].
In many cases, applications of CONTACT incorporate the motion of the contacting bodies.
Relevant background material on this is provided in text books on mechanics. A solid foun-
dation on statics and dynamics of rigid bodies is provided for instance in [8]. The dynamics of
deformable objects are surveyed among others in [5]. Reference texts on multi-body dynamics
are provided by [29, 30]. The former of these is more general and pays attention to flexible
bodies, the latter is targeted more on railway applications.
1
en.wikipedia.org/wiki/solid mechanics
VORtech CMCC
Technical Report TR09-03, version “v19.1” 7
• detailed study of one or a few relevant cases, using detailed inputs and outputs, using
the plotting routines provided,
• solving a large number of related cases, for instance for building up a table that can be
used in another program,
The latter two options are relevant for wear calculations and for Vehicle System Dynamics
(VSD) simulation codes. Add-ons to GENSYS, NUCARS, SIMPACK Rail [51] and Universal
Mechanism2 have been realized and are provided on a commercial basis.
2
www.gensys.se, www.aar.com/nucars, www.simpack.com, www.universalmechanism.com
VORtech CMCC
Technical Report TR09-03, version “v19.1” 8
• The automated contact geometry analysis for given wheel/rail profiles (module 1), and
• Chapter 2 presents an overview of the computational model, as far as needed for working
with the program. For further details and background information the reader is referred
to [16, 18] and [47].
• The operation of the program is described in Chapter 3. This concerns the interactive
and batch usage, terminology with respect to “modules” and “cases” (e.g. time steps),
and the control integers that steer the program’s execution.
• Chapter 4 describes the input and output quantities for wheel/rail contact analysis.
• Chapter 5 gives a detailed specification of the input and output quantities of the pro-
gram, and thereby also presents the input options that are available.
• The usage of the stand-alone program is demonstrated further through the examples in
Chapter 6. Chapter 7 describes the Matlab scripts for visualization of the results.
• The main problem is that there is little introductory material on contact mechanics as
a whole. The books by Johnson [10] and Kalker [16] are excellent reference works, but
present quite a challenge to get familiar with the material. A more gentle introduction
to contact mechanical phenomena is provided by Popov [27].
• Further, there is a large diversity of situations to which the program can be applied. This
is impeding the definition of a simple work-flow or the construction of simple plotting
facilities.
• Finally, there’s the old-fashioned structure of input-file, with the many “control digits”
and switches that are involved.
In our opinion the usage of the program is not so hard if one knows about contact mechanics
terminology. It’s easy to get familiar with the input-file itself. For this the following steps are
advised:
VORtech CMCC
Technical Report TR09-03, version “v19.1” 10
1. Quickly go over the contents of this user guide, particularly Chapters 3, 4 and 5.
2. Run the program for the examples that are provided and go through their description
in Chapter 6 of this guide.
3. Put guide cards at Sections 3.3 and A.2 of this guide; this reference information is
consulted frequently.
As stated above it is more difficult to get a good grasp of contact mechanics principles and
terminology. This is why we set up a course that is advertised on www.kalkersoftware.org.
With this course you also provide feedback to us and support the further development.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 11
Chapter 2
• with concentrated contact, i.e. where the resulting geometries are essentially flat, in and
near the contact zone, but not necessarily Hertzian,
• with dry (Coulomb) friction or boundary lubricated situations (third body layer, falling
friction, friction memory effects),
• solving shifts as well as rolling, transient as well as steady state problems, with creepages
and/or total forces prescribed,
• solving for the surface tractions first, but capable of computing the elastic field in the
interiors of the bodies as well.
Figure 2.1: Schematization of the wheel-rail rolling contact forces: acting mainly as a variable
spring in normal direction, Hertzian or non-Hertzian, and like a variable spring and dashpot
tangentially, that breaks loose if a large a force is required.
2.1). In normal direction, one body is pressed onto the other. It tries to push through the
other, and this is resisted strongly by the cohesive forces inside the other bodies’ material.
The force by which the bodies are pressed together causes (elastic) deformation to occur.
The bodies’ centers seem to approach each other, by which it may seem as if penetration of
the bodies occurs. If the force is released then the elastic deformation diminishes, and the
bodies’ centers are separating again. Consequently it is said that normal contact behaves
like a spring. The stiffness of this spring is variable, dependent not only on the material
and geometry but also on the contact load. There may be material damping as well, which
would give a small dashpot parallel to the spring. Whether this damping is important or not
depends on the materials used and the frequencies that are of concern.
Tangential contact is different in the sense that it allows for large displacements to occur
between the two surfaces, with friction being the main physical phenomenon. If a small
tangential force is applied to one body then it may deform slightly such that some tangential
displacement seems to occur. This is like an elastic spring, i.e. the displacement is undone
when the force is released. If the applied force is larger, then there may also be some micro-
slip between the surfaces in the contact interface. This leads to some energy loss, i.e. this
displacement is not undone upon releasing the force. This is indicated by the vertical arrow
in Figure 2.1, indicating the reference position against which the spring is pushing. Finaly,
if the external force is large, compared to the normal load that presses the bodies together,
then gross sliding occurs, amounting to further displacement of the vertical arrow.
Tangential contact behaves differently between sliding and rolling. In sliding circumstances,
the same material particles remain in contact during the overall motion. In this case, only
so much elastic deformation can build up, after which no more displacement can occur
(low/medium force) or gross sliding must set in (large force). During rolling, fresh material
enters the contact all the time, allowing for some overall displacement to go on continuously.
This introduces the so-called creep phenomenon, an apparent sliding velocity between the two
surfaces. This creeping can be schematised using the dashpot shown in Figure 2.1, in series
VORtech CMCC
Technical Report TR09-03, version “v19.1” 13
Fw
contact area
Figure 2.2: Illustration of the wheel-rail contact problem [49]. (a): overall geometry. (b):
wheel and rail geometries in so-called undeformed states. (c): wheel and rail geometries in
the deformed state and corresponding deformations and contact area. Note: graphs (b) and
(c) are stretched vertically.
time−evolution
V V
M ω t4
ω
ξ
V t0
ωR t3
t2 t1
Fr F
w exterior area slip area adhesion area exterior area
Figure 2.3: Left: illustration of the creepage ξ, i.e. the relative velocity difference (V +ωR)/V .
Right: particles that move through the contact area (from right to left) tend to adhere to the
opposite surface first, are strained more and more until local sliding (micro-slip) sets in.
as a function of the wheel and rail geometries and the approach δn (t). This is illustrated in
Figure 2.2 (b). At each time instance one obtains from the multibody simulation the positions
and so-called “undeformed” shapes of the contacting bodies, and is asked for the resulting
reaction forces in the contact patch.
The elastic deformations and resulting contact patch are illustrated in Figure 2.2 (c). The
normal pressure between the surfaces is compressive and vanishes outside the contact area.
Its integral over the contact area is the total force Fw = −Fr that is sought for. It pushes the
wheel surface upwards and the rail surface down. If the wheel and rail have identical elastic
parameters then their local deformations are equal and opposite functions of position x and
time t, and the maximum deformation is ±δn /2. Due to the strength of the material, the
deformations also extend outside the contact area, even though there is no pressure working
there.
A typical size for the contact between steel wheel and rails is 10×10 mm, and the correspond-
ing approach is 0.01 mm. The elastic deformations decrease with 1/r, with r the distance to
the contact area, and the stresses and strains decrease in proportion to 1/r2 . Therefore the
stresses and strains are negligible at distances of a few centimeters outside the contact patch.
This is the reason why the overall multi-body simulation and local contact problems may be
decoupled [16].
If the profiles of rail and wheel are smooth, quadratic surfaces then the normal pressure can be
solved via Hertz’ theory. In case of other shapes (e.g. varying curvatures, including roughness)
CONTACT’s non-Hertzian capabilities come into play. Next the tangential forces have to be
obtained as well. These cause creepage between wheel and rail, as illustrated in Figure 2.3,
left. When a tractive force (torque M ) is aplied on a railway wheel, a small difference arises
between the overall forward velocity V and circumferential velocity ωR (note: ω < 0 for a
wheel moving in positive x-direction). The relative difference is the (longitudinal) creepage
ξ = (V + ωR)/V . It is restricted by the friction force Fw acting on the wheel.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 15
time t’ time t
ω
V
R
z z
O’ x’ O x
Figure 2.4: Schematic example illustrating non-stationary rolling of a wheel with some irreg-
ularities on a rail.
This overall creeping motion of the wheel tries to drag the wheel surface particles over the
rail, i.e. it can be seen as an average amount of slip. This relative movement is resisted by
frictional shear stresses in the contact interface. If the circumferential speed of wheel particles
is larger than the forward velocity (ξ < 0, ωR < −V ), the net tangential force on the wheel is
pointing forward (Fw > 0) and accelerates the train. On the other hand, if the train is braking
(Fw < 0), then the circumferential velocity is lower than the forward velocity (ωR > −V ,
ξ > 0). Note that the situation is more complicated in reality, where lateral creepage η
between wheel and rail may occur. Also, rotation of the wheel about the normal direction
occurs (a cone rolling over a plane makes a circular trajectory), which is described by spin
creepage φ. These combined creepages lead to combined forces Fx , Fy and the spin moment
Mz .
Figure 2.3 (right) shows what happens to surface particles when they traverse through the
contact area. They are free of stress when entering the contact area at the right side, the
leading edge of the contact area. There they adhere to a particle of the opposing surface. Next
they are strained by the overall motion difference between the two bodies. This introduces
shear stresses, which increase until the local traction bound is exceeded and local slip sets in.
This process is in different stages for different parts of the contact area.
If the overall motion of the bodies is constant, then an overall steady state may be attained.
Here the state of each surface particle is varying in time, but the overall distribution can
be constant. This is formalised by using a coordinate system that is moving along with the
contact patch.
Figure 2.5: Initial contact points for left and right wheels at wheelset lateral displacement
yws = 6 mm, yaw ψws = 0◦ (Manchester contact benchmark, see Section 6.5).
picture the wheel rotates over an angle of 140◦ . At the same time it moves forward in positive
x-direction with velocity V . Under rolling conditions we have V ≈ −ωR, i.e. the creepage is
small, at most a few percent. On the other hand when V + ωR is rather large compared to
V , we have sliding or “rolling with sliding” circumstances.
The picture shows different coordinate systems for the different time instances. At time t0
the coordinate system O0 x0 y 0 z 0 is used, at time t the coordinate system is Oxyz. This is the
contact-fixed coordinate system. In this example the y- and z-directions stay the same, but
generally these may vary over time too. Particularly the z-axis is required to be normal to
the two bodies’ surfaces. An important aspect of this coordinate system is that particles of
the bodies’ surfaces move through the contact area with velocity −V . On the other hand,
the bodies themselves appear to be fixed in space.
An alternative approach is used in sliding or rolling with sliding circumstances. In such a
case there need not be a rolling velocity V . Then a world-fixed coordinate system is used. In
terms of Figure 2.4 this consists of using coordinate system O0 x0 y 0 z 0 for time t0 as well as for
time t. In this description the axle moves forward with velocity V , whereas particles in the
contact area more or less stay at the same coordinate.
When modeling two rollers in a machine the situation is a little different. In that case the
contact-fixed coordinate system is also a world-fixed one. The coordinate system to be used
for sliding problems should then be a moving one, defined such that the particles in contact
are almost stationary with respect to the coordinates used. This then defines “material-fixed
coordinates. A complete description of particles, coordinates and velocities is given in [16].
The planar contact approach used in CONTACT relies on a so-called “contact reference
point”. This serves as the origin for the local coordinate system, and as the “spin center” for
spin creepage [45]. The contact reference point can be set to the geometric point of contact
(initial contact position). Alternatives are to use the center of gravity of the interpenetration
area [51], or the pressure center of gravity [45].
The steps for solving a contact problem are then:
1. Locate a contact patch, for instance using the initial contact position, and define the
“contact reference”;
2. Determine the normal direction common to the contacting surfaces, and define the
tangent contact plane;
3. Determine the contact geometry (esp. the undeformed distance function) and kinematics
(“rigid slip velocity”) relative to the contact plane;
4. Solve the normal and tangential contact problems;
5. Convert results to the global coordinates.
Planar contact coordinates are designated as [x̄, s̄, n̄]T , or as [x, s, n]T or [x, y, z]T if there’s no
ambiguity on the interpretation.
All the steps are automated for wheel-rail contact analysis as discussed in Chapter 4. For
other applications, the user takes care of the necessary conversions and preparations (steps
1–3 and 5), and uses CONTACT for step 4, the pure contact problem.
1. the lateral radius of curvature Ry is small in the contact area, such that the normal
direction changes rapidly along the profile, and
2. the shapes of the two bodies are conforming, such that the contact is wide enough to
pick up this change in normal direction.
In Figure 2.6, the normal direction changes orientation by 41◦ over a distance of 7 mm, because
the radius of curvature goes down to less than 10 mm. This leads to conformal contact if the
flange root of the wheel has a radius Rwy > −10.2 or > −10.5 mm, depending on the total
load on the contact [46].
The conformal contact approach works similarly to the planar approach described above:
VORtech CMCC
Technical Report TR09-03, version “v19.1” 18
0
n1
s
−10
66deg 50
−20
R=10mm 40
30
−30 20
10
0
−40 −10 0 s 10
Figure 2.6: Measured worn profile with conformal contact situation at the rail gauge corner.
1. Determine a suitable “contact reference position”, to be used a.o. for presenting aggre-
gate outputs;
2. Determine the curved contact surface, and the corresponding normal and tangent di-
rections, varying along the contact surface;
3. Determine the contact geometry (esp. the undeformed distance function) and kinematics
(“rigid slip velocity”), relative to the curved contact surface;
4. Solve the normal and tangential contact problems, with elastic deformations computed
according to the conformal shapes;
This conformal contact approach is described elegantly using generalised curvilinear coordi-
nates [x̃, s̃, ñ]T , with ñ = 0 in the contact plane.
All the steps are automated for wheel-rail contact analysis as discussed in Chapter 4. For
other applications, the user takes care of the necessary conversions and preparations (steps
1–3 and 5), and uses CONTACT for step 4, the pure contact problem.
The quantities introduced above are tensors (σ, ) and vectors (x, u, p) in three-dimensional
space. We assume that the contact area C is in the plane Oxy,1 such that n(a) = [0, 0, (−1)a ]T ,
and concentrate on the surface points x = [x, y, 0]T . In the following we often deal with the
normal and tangential vector components separately. The normal coordinate direction is
1
For simplicity we do not consider conformal contact situations here. For information on this consult the
paper [50] that describes the extensions with respect to the half-space approach.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 20
indicated with subscript n and the tangential directions by t. The normal pressure (scalar
function) and tangential tractions (2-vectors) are denoted by
The normal and tangential components of the displacement difference are indicated similarly
by un and ut .
This relation depends on the constitutive equations that describe the material behaviour, as
well as on the geometries of the bodies.
In CONTACT the following assumptions are made [16]:
• the bodies are formed of linearly elastic materials, and are homogeneous,
• the contact area is essentially flat and small with respect to typical dimensions of the
bodies’ geometries,
• inertial effects (ρ ü) are small with respect to the contact stresses (∇ · σ) and may be
ignored.
These assumptions allow for using the so-called half-space approach. The actual response of
the bodies to the surface loading is approximated by that of the elastic half-space, which was
presented in analytical form by Boussinesq and Cerruti. With the half-space solution the
contact problem is brought into surface-mechanical form. In this form, no reference is made
to the stresses σ, strains , and displacements u in the bodies’ interiors.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 21
• The bodies cannot interpenetrate in the deformed state: the distance between their
surfaces is non-negative;
• The normal pressure is compressive, attraction between the surfaces is ignored;
• The exterior area is free of traction (the effect of auxiliary forces may be computed
beforehand and incorporated in the geometry, i.e. h);
• The frictional shear stress cannot be larger than a space-varying maximum, the traction
bound g;
• No slip occurs where the tangential traction falls below the traction bound;
• If there is slip then the tractions are on the traction bound and opposite to the slip
direction.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 22
These contact conditions can be seen as a complex set of boundary conditions for the solid
mechanics problems (2.1) for bodies a = 1, 2. The deformations in the two bodies’ interiors
cannot be solved independently but are connected, via their overall position and motion
(δn , h, wt ), the deformation (p, u, equation (2.5)) and the precise conditions used at the
mutual interface (equations (2.6)–(2.13)).
Here xI and xJ stand for the coordinates of rectangular elements I and J. AIiJj stands for
the influence coefficients. These are obtained by integrating (2.5) over a single element J
with respect to an observation point at xI , which can be done analytically [16]. Due to the
choice for rectangular elements, the influence coefficients AIiJj are identical for all pairs I, J
for which the relative positions are the same.
The slip st at the surface of the contacting bodies involves a time-derivative. It is discretised
using a “previous time instance” t0 , with δt = t − t0 . A related quantity is the traversed
distance per time step δq = V · δt, with V the rolling speed. δq is also called the “time step”
for brevity. The displacements at the previous time instance are denoted by u0 .
The shift (distance) St is the slip aggregated over a time step st · δq = V st · δt. It is discretised
using a particle fixed, Lagrangian approach. In this approach the shift is expressed as the sum
of rigid shift plus deformation shift, where the deformation shift is the change in deformation
of two contacting particles over a time step from t0 to t.
Here WIt is the rigid shift of the bodies, in rolling problems the creepage integrated over a
(1) (2)
time step δt. uIt is the current tangential deformation difference uIt − uIt of two contacting
particles at element I. And u0It is the deformation difference of the same particles one time
step earlier, at the position where they resided at time t0 .
2
Bilinear elements are provided also, with little benefit over a piecewise constant discretization [37, 55].
VORtech CMCC
Technical Report TR09-03, version “v19.1” 23
x, y locations in 3D space, typically of the form [x, y, 0]T for points in the contact
area C. Also used to identify particles of the bodies;
C, H, S contact area, adhesion area, slip area;
u(x) displacement difference u(1) (x) − u(2) (x), with body 1 the upper body with
z > 0;
u(a) (x) displacement vector of the particle of body a (1, 2) that is at location x in the
undeformed state;
(a)
ui (x) ith (scalar) component of the displacement vector u(a) (x);
i, j coordinate directions 1, 2, 3, with the first of these being normal to the contact
area (n-, z-direction), the second the longitudinal (rolling) direction (x), and
the third perpendicular to both (y-direction);
α tangential coordinate direction: 2, 3 or x, y;
p(x) surface traction (vector) acting on body 1 at position x;
0
A(x, x ) 3 × 3 matrix of influence functions;
Aij (x, x0 ) influence function, describing the displacement difference in i-direction at x
arising due to a unit load in j-direction at x0 ;
h(x) distance between the surfaces of the two bodies in normal direction in the
undeformed state at location x (positive: gap, negative: interpenetration);
e(x) distance between the two bodies in the deformed state;
u̇(x) material (particle fixed) time derivative of the displacement difference u(x);
st relative (tangential) slip velocity of two opposing particles of the bodies with
respect to each other;
g traction bound, maximum tangential traction (magnitude) that can be sus-
tained with the surfaces adhering together;
δx, δy the sizes in x- and y-directions of the rectangular discretisation elements;
xI location of the center of discretisation element I;
I, J 1D (i) or 2D ((ix,iy)) numbers of the discretisation elements (see equation
(5.15));
uI shorthand notation for u(xI ), displacement diff. at the center of element I;
uIn , uIt shorthand notations for un (xI ) and ut (xI ), (scalar) normal and (2-vector) tan-
gential displacement differences at center of element I;
uIα shorthand notation for uα (xI ), (scalar) displacement difference in direction α
(x or y) at center of element I;
t, t0 , δt time instances, time step;
V in rolling problems: the rolling speed, in shifts V = 1;
δq geometrical time step size: distance traversed per time step;
• a coordinate system with positive z (n) direction normal to the contact plane and point-
ing into the upper body, body 1. In rolling problems this is a contact-fixed coordinate
system, in sliding problems (shifts) material-fixed coordinates are used (Section 2.3);
• the potential contact region, a rectangular area in the plane z = 0 that encompasses
the true contact region, and its discretisation step sizes δx, δy or number of elements
mx, my (Figure 5.7);
• in rolling problems: the rolling velocity V , direction χ (“chi”) and “time step size”
δq = V δt. Note: recent modifications of the program more or less require that χ = 0◦
or 180◦ , i.e. rolling takes place in positive or negative x-direction;
• the material parameters G(a) , ν (a) for elastic materials for the two bodies a = 1, 2 and ad-
ditional parameters for viscoelastic materials that are included in the influence function
A(x, y);
• the undeformed distance h(x) between the surfaces, i.e. their separation in the direction
normal to the contact area, up to a constant value, the approach δn ;
• either the approach δn or the total normal force Fn ;
• the rigid slip wt : the relative movement of opposing particles in tangential directions
x, y in the undeformed state. These are characterized by creepages ξ (ksi) and η (eta)
in x- and y-directions respectively, and the spin creepage φ (phi) with respect to the
z-axis of the local coordinate system. Alternatively to the creepages total forces may
be prescribed. An extra term to this rigid slip may be provided as well;
• configuration parameters for the solution processes, such as the required solution accu-
racy, number of iterations required etc.
These quantities are easily recognized in the variables that are specified in the user input,
which are described in detail in Chapter 5.
Some of these inputs are hard to obtain, like an appropriate contact reference plane in
wheel/rail contact situations, and the corresponding undeformed distance and creepage situ-
ation. This is alleviated by the extensions of Chapter 4 for wheel/rail contact.
(a) If the two bodies have identical elastic properties then they are called “quasi-
identical ”. This results in decoupling of the normal and tangential problems. The
normal problem can be solved first and with that (and resulting traction bound g)
the tangential problem can be solved. This is a one-step outer iteration procedure
that is called “Johnson’s process”.
(b) On the other hand when the two bodies have different elastic properties, the tan-
gential tractions affect normal displacement differences and vice versa. In such
a case an outer iteration process called “Panagiotopoulos’ process” is used. This
consists of solving normal and tangential problems alternatingly until the update
between consecutive iterations is smaller than a tolerance.
(a) The traction bound g in (2.11) and (2.12) can be made dependent on the slip
velocity kst k. In that case an additional iteration loop is used. In each iteration, a
contact problem with a fixed traction bound g is solved. This yields a new estimate
for the slip velocity st , which is then used to compute a new traction bound g and
iterate.
3. The active set algorithms NORM and TANG [16]. Note: although these algorithms are
still maintained in the code, they are not active anymore. Today the element divisions
are determined by the iterative solvers described below at item 5.
(a) Kalker’s algorithm NORM was used for solving the normal contact problem. It
consisted of guessing which elements should be inside the contact area C (“active”
elements, active constraints e = 0), solving the corresponding equations, checking
where the guess was appropriate or not, and iterating until the correct element
division is found.
(b) Kalker’s algorithm TANG was used for solving the tangential contact problem. In
this case the active set algorithm determined the subdivision of the contact area
C into adhesion and slip areas H, S. Each iteration required solution of 2n linear
and nonlinear equations. In Kalker’s original approach the solution was done by
Newton linearization in combination with Gaussian elimination [16].
(a) If the total tangential forces Fx , Fy are prescribed, then the creepages ξ, η are to
be adjusted. This cannot be done by the iterative solvers described below, which
require that the rigid slip distribution is specified beforehand. This is solved by a
small iterative procedure that estimates the derivatives ∂Fx /∂ξ–∂Fy /∂η and uses
these to update the values of the creepages. This is called a Newton-Raphson
process.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 26
The 2 × 2 system for the tangential forces is complicated due to its inherent non-
linearities. Therefore the robustness of the approach is not 100%, particularly
when both creepages are unknown and when the tangential forces are close to the
maximum where full sliding occurs.
5. The iterative solvers NormCG, TangCG, ConvexGS, and SteadyGS [41, 58, 36, 39].
(a) Solving the normal problem requires finding normal pressures pIn in each element
satisfying equations like
X
eI = h∗I + AInJn pJn = 0, for I ∈ C (2.16)
J∈C
Here h∗ optionally contains a term of the tangential tractions, which are fixed while
solving the normal problem. A purpose-build fast solver is used for this problem
that is called NormCG. This is an extension of the Bound-Constrained Conjugate
Gradients method that is capable of dealing with constraints [40]. A preconditioner
is constructed using the Fast Fourier Transform (FFT) and a prescribed total force
is dealt with in the method via a deflation technique [41]. The underlying system
matrix is dense, but has constant diagonals. It is not explicitly formed, a matrix-
free implementation is used instead.
(b) The tangential problem with prescribed creepages is non-linear when there are ele-
ments in the slip area. The equations are solved using iterative solvers particularly
designed for this problem. In transient calculations this is the new TangCG solver
[58], based on BCCG and using FFTs, or the older and slower ConvexGS solver
[36]. For steady state problems the SteadyGS solver is used [39]. These approaches
have in common that they all incorporate the active set strategy, that enforces the
traction bounds in all elements. This means that the element division between slip
and adhesion areas is updated along the way. Finally the methods are implemented
in a matrix-free way, to avoid memory limitations and allowing large problems to
be solved.
The nesting of these algorithms is changed in the analysis of wheel/rail contact (Chapter 4),
adding a new outermost level 0 for wheelset position and velocity variables, and skipping the
Newton-Raphson loops at level 4.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 27
Chapter 3
The later two arguments are optional. They prescribe the mode of operation (<imode>) of
the program and the experiment name, which is denoted <experim> below. Note that this
command line is hidden for the end-user when using the CONTACT GUI (paragraph 3.1.2).
When you start the program, you will first be asked whether you want to perform the actual
run, or just want to check the input with no computation.
The program will use parallel computing (multi-threading) automatically when run on a multi-
processor/core PC. This may be influenced via the OMP_NUM_THREADS environment variable.
When set to 1 parallelisation is suppressed and only a single processor/core is used.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 28
A single case may be viewed as a single time instance. In this respect it is important to know
that CONTACT uses an elastostatic approach. The contacting bodies may be accelerating
or decelerating as a whole, yet the corresponding inertia terms are ignored from the stress
balance (ρ ü in equation (2.1)). By this approximation, the stresses inside the bodies are
locally in equilibrium at all times, and any stress waves inside the bodies will be neglected.
Within this elastostatic approach, frictionless compression problems need just a single time
instance. There is no memory of any sort in these problems. When a succession of loading
steps is computed using different cases, the outcome of each case is independent of the order
in which the cases are solved.
In frictional problems there is a dependency on time. This dependency arises through the
discretisation of the slip velocity (equation (2.15)) that occurs between opposing particles of
the two bodies in the contact zone. This time dependency may be dealt with in three different
ways:
1. Contact formation: it may be assumed that there were no surface tractions at all at the
previous time instance t0 = t − δt.
2. True sequence: the surface tractions of the previous time instance t0 may be defined
through the solution of the previous case that was solved.
3. Steady state (rolling): the surface tractions of the previous time instance t0 may be
required to be identical to the solution of the new case for time t, but acting on different
parts of the two bodies’ surfaces.
It may be clear that cases of the first and third types may be solved by themselves, whereas
the second way requires that another case has been solved before. A sequence of cases for
a transient calculation should therefore start with one case of contact formation or with a
steady state problem, before the actual transient cases are solved.
Even when two consecutive cases are independent of each other, the later one may re-use
information of the earlier one. For instance when you compute the frictionless compression of
two spheres by two normal problems. The later case may re-use the discretisation parameters
and influence coefficients that have been computed by the earlier case. Moreover, the solution
of the earlier case may be used as an initial estimate for the later case. In this way the
computation time may be reduced.
They are also grouped together in control words. The following list describes all possible
values, and is very useful when you edit the input-file by hand.
The primary control digits are P, T, N, A and O. The other digits are modified less frequently.
Do not be distracted by values that seem meaningless to you, they can be very useful when
you program your own modules.
3.3.1 Modules
The program CONTACT is built up using different “modules” (sub-programs) that use a
shared computational core, see Figure 3.1. The idea is that different usages of CONTACT
require different “driver routines”, where different formats for the input file are required. So
you first indicate to CONTACT which module you use for a case, and then specify the input
which is read by the appropriate input-routine.
The modules that are available today are:
Module 1 is targeted at wheel-rail contact analysis. It starts from a wheelset at a given track
location, uisng generic wheel and rail profiles, locates the contact points, solves the contact
patches, and then converts the results to the global coordinate frame. Module 3 activates the
basic driver routine for solving Hertzian and non-Hertzian cases. When there are no more
cases to compute this is signalled to the program by the artificial module number 0.
The following list is ordered the same as the letters in the control words. The first digits
concern the problem description, then follow the preprocessing actions for the computational
core and lastly the solution methods and output options are described.
The first control word “CPBTNFS” describes the main aspects of the problem: the modes
of operation regarding the configuration, time, the normal and tangential problems, and
regarding the subsurface stress calculation.
N1 - NORM : specifies whether the vertical wheelset position or vertical force is prescribed:
0 - vertical position Z WS prescribed;
1 - total vertical force FZ prescribed.
S - STRESS : determines the operation of the subprogram STRESS for calculating subsur-
face stresses per case:
0 - no subsurface stresses required for this case;
1 - compute the stresses in the points already stored in memory;
2 - read new control-digits for the subsurface calculation, compute stresses in the points
already stored in memory;
3 - read new subsurface points, and compute subsurface stresses for these points.
The B- and F-digits are not yet available in module 1. They are described in the input for
module 3 below.
The second control word “LDCMZE” is used to configure the different aspects of the contact
problem: materials, friction, discretization and geometry.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 33
Z1 - ZTRACK : concerns the track design geometry, profile(s) and optional rail deviations:
2 - read new rail deviations for current side of the track (dependent on C1 -digit);
3 - read new track dimensions, one profile for both sides of the track, and read rail
deviations for current side of the track;
4 - read new track dimensions, separate profiles for the two sides of the track, and read
new rail deviations for both sides of the track.
E1 - EWHEEL : concerns the wheelset geometry and profile(s), and position and velocity
data:
The third control word “GIAOWR” concerns the output of the program and the flow of the
calculations.
G - GAUSEI : used for fine-tuning of the iterative solvers, particularly for the tangential
problem.
0 - use the default solver (SteadyGS when T = 3, otherwise use TangCG) with default
ω’s, read max. iterations from input file;
1 - maintain the solver settings as used in the previous case;
2 - use ConvexGS at all times, read ω’s from input file;
3 - use SteadyGS when possible (T = 3), read ω’s from input file.
4 - use the default solver, read parameters for slip velocity iteration (page 25) from
input file.
0 - previous case does not provide a good initial estimate. Start from zero tractions
and fill element division with a rough guess, based on the undeformed distance;
VORtech CMCC
Technical Report TR09-03, version “v19.1” 35
1 - use previous solution, regularize tractions. The element division of the previous case
is used as initial estimate, and the tractions are adjusted to this state;
2 - use normal part of previous case only. The normal tractions are maintained, but all
elements start with zero tangential tractions, in the adhesion area;
3 - previous case gives a good initial estimate. Use its tractions and element division
(not touched).
Note: a separate A-digit is maintained to control the output of the subsurface stress
calculation, as described in Section 5.9.1.
O - OUTPUT, surface tractions : governs the extent of the output to the output-file
<experim>.out:
0 - no results are printed to the output-file (derived quantities are computed, and stored
in internal memory for use in other calculations);
1 - minimum output is printed, just the global results;
2 - the global input and output quantities are printed;
3 - a picture is shown of the contact area and its division into adhesion and slip areas;
4 - the detailed solution inside the contact area (tractions, slip, and other quantities of
interest) is printed as well, in addition to 2.
You may typically set O = 2, A = 0 to get the global results of all cases and then use
A = 1 for the cases that you want to investigate in detail with the Matlab plot-programs.
Note: a separate O-digit is maintained to control the output of the subsurface stress
calculation, as described in Section 5.9.1.
W - FLOW : governs the extent of the flow trace to the screen and the output-file:
0 - calculate the solution, then stay in the same module for the next case;
1 - calculate the solution, return to the main program after this case;
2 - perform preprocessing actions only (skip this case), then stay in the same module
for the next case;
3 - perform preprocessing actions only (skip this case), return to the main program
after this case.
B - BOUND : selects the approach to be used for the normal problem, the traction bound :
Note: options 2 to 4 are approximate by nature. They are primarily meant for the
FASTSIM approach, i.e. M = 2, 3 below.
In module 3, the D-, Z- and E-digits are used to describe the grid, geometry and rigid slip, like
in module 1, however, the meaning of these digits is different from the earlier interpretation.
The C3 -digit provides one additional option:
0 - maintain the potential contact area and discretisation of the previous case;
1 - form the discretisation from parameters in storage;
2 - read input parameters and form the discretisation correspondingly.
Z3 - RZNORM : concerns the right hand side of the normal problem, the undeformed
distance:
E3 - EXRHS : the extra term of the rigid slip, the right hand side of the tangential problem:
Chapter 4
This chapter describes the input and output quantities of CONTACT that are specific to
module 1 for wheel/rail contact processing. The additional inputs that are needed for generic
non-Hertzian contact (module 3) are described in Chapter 5.
Figure 4.1: Track viewed in world-fixed coordinates, illustrating rail distance d, rail width w,
gauge width G, and track inclination (elevation) angle φ (adapted from [30]).
VORtech CMCC
Technical Report TR09-03, version “v19.1” 39
Figure 4.2: Definition of the track coordinate system, at the center of the plane resting on the
(inclined) rails in initial (design) configuration.
Figure 4.3: Left: initial (design) placement of the right rail profile in the track system, with
positive cant angle, using gauge width and gauge measuring height. Right: actual (current)
configuration with rotation ∆φrr > 0 and displacements ∆zrr , ∆yrr > 0.
Gauge width computation The initial (design) placement of the rail profile in the track
system is computed automatically. This uses the gauge width between the inner faces of the
two rails (i.e. the grey stops in Figure 4.2). Figure 4.3 (left) shows the rail as it is seen in the
track system. This rail has an installation angle of −2.9◦ corresponding to a cant of 1 : 20.
The profile is specified with respect to the rail origin Orrail . It is first rotated for cant and
then shifted up to just touch the track plane and shifted left to touch the gauge stop. Note
that Orrail may be associated with the highest point in the uncanted rail, which need not be
the highest point on the rail after cant is applied.
Track deviations Track irregularities may be defined that displace the rails with respect
to their initial (design) positions and orientations, see Figure 4.3, right. The rails are ro-
tated about their origins Olrail , Orrail by roll angles ∆φlr and ∆φrr , and are shifted by
∆ylr , ∆zlr , ∆yrr , ∆zrr with respect to the track origin, which isn’t affected by the irregu-
larities. Note that the rails typically won’t be precisely touching the track plane anymore.
These rail irregularities may be static/permanent, but may be due to track flexibility too. In
such a case, the corresponding velocities vy,lr = ∆ẏlr , . . . may be specified also.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 40
Figure 4.4: Definition of track coordinates for the simulation of a roller rig: aligned with the
rollers’ axle, at a distance rnom,r above the rollers’ center of mass.
Roller rig configurations For the simulation of roller rigs, it is assumed that the roller
axle is fixed in a frame, unable to move except for rotation about its axle. Track coordinates
are used largely similarly as above for wheelset on track configurations, with slight differences
as indicated in Figure 4.4:
• The track plane is aligned with the rollers’ axle, at the nominal roller radius rnom,r above
the rollers’ center of mass;
• The reference points (0, 0) of the rail profiles are placed in the track plane, without
shifting to make the profiles touching the track plane. Non-zero z-values in the profile
are thus interpreted as variations of the rolling radius with respect to rnom,r .
The cant angle is difficult to interpret in this configuration, and should best be set to zero.
Figure 4.4 concerns the initial (design) configuration. In the actual (current) configuration,
the rail profiles may be rotated and displaced by rail deviations. This feature may also be
used to describe the motion of the roller rig as a whole, relative to the frame in which it is
contained.
Wheelset geometry Wheel profiles are specified relative to profile reference points Olwheel ,
Orwheel . In initial (design) configuration, these are placed at [0, ±(yf bdist /2 − yf bpos ), rnom,w ]T
with respect to the wheelset center (Figure 4.5). Here yf bdist is the flange-back distance, and
yf bpos is the position of the flange back with respect to the profile reference.
Flexible wheel profile displacements Flexible wheelset deviations may be defined that
displace the wheel profiles with respect to their design positions and orientations. Increments
may be specified for all six position and orientation variables to support axle and wheel
bending and torsion. The corresponding velocities may be specified as well.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 41
Figure 4.5: Illustration of wheelset geometry parameters, wheelset (CM) position, and orien-
tation with respect to the track system.
Single wheel-rail configuration Using the mechanisms as outlined above, it’s possible to
compute single wheel/rail configurations also.
• The gauge width computation of Figures 4.2 and 4.3 is disabled using a negative value
for the gauge measuring height;
• Next, the track center is associated with the rail profile reference using zero gauge width;
• Finally, the “wheelset CM” (Figure 4.5) is placed directly above the wheel profile marker,
using yf bdist = −2yf bpos .
Using right-sided profiles In the input, all profiles must be specified for the right side of
the wheelset and track. For instance, the flange back should be found at y < 0 with respect
to the profile reference. Optional mirroring is provided for cases where left side profiles are
given.
Each “case” in CONTACT concerns one side of the wheelset. This side is selected via the
CONFIG control digit (C1 , page 31). Inside the program, calculations for the left side are
VORtech CMCC
Technical Report TR09-03, version “v19.1” 42
solved using an equivalent right side configuration. This shows up in the detailed outputs,
especially the contact grid, that is given for this mirrored situation.
The rail profiles may be provided in SIMPACK prr-format or Miniprof ban-format, with the
format taken from the file extension, or as a 2-column table with (yi , zi )-values if another file
extension is used. SIMPACK profiles are processed according to the options that are specified
in the file: mirroring, reordering, scaling, etc. Miniprof profiles are subject to some automatic
corrections, but may need manual preparation as well.
In the computation of wheelsets on tracks (configurations C1 = 0, 1), rails (profiles) are rotated
by an installation angle which is +CANT for a left and −CANT for a right rail. After this the
rail position is derived using the gauge width and gauge measuring height parameters. This
gauge computation can be disabled by setting gheight ≤ 0. The rail origin is then placed
simply at [0, ±gwidth /2, 0]T . In a configuration using one wheel on one rail, this may be used
with gheight = −1, gwidth = 0.
GAUGWD [mm] Distance gwidth between the inner faces of the two rails.
GAUGHT [mm] Height gheight below the track plane at which the gauge width is
measured. The gauge computation is disabled when gheight ≤ 0.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 43
CANT [rad] Rotation angle from track vertical (ztrack ) to rail vertical (zrail ),
positive for inclination towards the track center.
Zero cant is used in the computations for roller rigs (C1 = 2, 3). Furthermore, the gauge
computation is used there for the lateral positioning of the profile only. In radial direction,
the profile origin zr = 0 is placed at the nominal radius rnom,r from the roller axle.
NOMRAD [mm] Nominal radius rnom,r of the rollers, i.e. the radius at which the
profile heights zr are zero.
Rail irregularities provide offsets with respect to the ideal (design) geometry. Track coordi-
nates are used, such that ∆y > 0 is towards the track center for a left rail, but to the field
side when the right rail is considered.
DYRAIL [mm] Offset ∆yrail of the rail profile reference from the design to the
actual position in track coordinates.
DZRAIL [mm] Offset ∆zrail of the rail profile reference with respect to the
design position in track coordinates.
DROLLR [rad] Rotation ∆φrail of the rail profile, from design to actual orien-
tation, in track coordinates, positive using the right-hand rule.
VYRAIL [mm/s] Velocity vyrail of the rail origin with respect to the design position
in track coordinates.
VZRAIL [mm/s] Velocity vzrail of the rail origin with respect to the design position
in track coordinates.
VROLLR [rad/s] Angular velocity vφrail of the rail origin with respect to the design
orientation in track coordinates, positive using the right-hand
rule.
FBDIST [mm] Lateral distance yf bdist between the inner faces (flange backs) of
the two wheels of the wheelset.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 44
FBPOS [mm] Lateral position yf bpos of the flange back with respect to the
wheel profile origin Ow . (In the configuration of Figure 4.5,
yf bpos could be −70 mm.)
NOMRAD [mm] Nominal radius rnom,w of the wheel, i.e. the distance of the wheel
profile reference point to the wheelset axle.
Wheel profiles should be defined for a right wheel, with the points ordered from the outside
towards the flange, with decreasing ywheel coordinate values. Mirroring may be enabled to
convert into the required format.
Wheel profiles may be provided in SIMPACK prw-format or Miniprof whl-format, with the
actual format taken from the file extension, or as a 2-column table with (yi , zi )-values if
another file extension is used. SIMPACK profiles are processed according to the options that
are specified are specified in the file: mirroring, reordering, clipping, etc. Miniprof profiles are
subject to some automatic corrections regarding the ordering of the points and the positive
z-direction, but may need further manual preparation as well.
The contact geometry is governed by the position of the wheel with respect to the rail. This
is computed using the position of the wheelset center of mass, and the wheelset roll, yaw and
pitch angles.
S WS [mm] Wheelset position sws along the track center line, used mainly
for output purposes. Note: s = s1 refers here to the (longitudi-
nal) rolling direction.
Y WS [mm] Lateral position yws of the wheelset center of mass in terms of
track coordinates.
Z WS [mm] Vertical position zws of the wheelset center of mass in terms of
track coordinates.
ROLL [rad] Wheelset roll angle φws with respect to the track plane.
YAW [rad] Wheelset yaw angle ψws with respect to the track center line
xtrack .
PITCH [rad] Wheelset pitch angle θws , i.e. rotation about the wheelset axle.
This is currently not used. It becomes of relevance when out-
of-round wheels need to be described.
In the computation of roller rigs, the variable sws is replaced by xws , defined as follows:
The orientation of roll, yaw and pitch angles is defined using the right hand rule. For instance,
the configuration of Figure 4.5 shows a positive roll angle φws , defined as the rotation about
the xtrack -axis from the positive ztrack - to positive zwset -axis. Likewise, the wheelset will tend
to the right in the rear view of Figure 4.5 if a positive yaw angle is given. This shows up in
the results of the Manchester benchmark example (Figure 6.7), where the contact patches on
left and right wheels shifted to positive and negative x-values, respectively.
The creepages for the contact problem are obtained from the wheelset velocity. These are
computed from the rates of change of the position parameters.
VS WS [mm/s] Wheelset forward velocity vs1 = vx along the track center line.
VY WS [mm/s] Wheelset lateral velocity vy = ẏws with respect to track
coordinates.
VZ WS [mm/s] Wheelset vertical velocity vz = żws in terms of track coordinates.
VROLL [rad/s] Wheelset rate of roll φ̇ws .
VYAW [rad/s] Wheelset yaw rate ψ̇ws .
VPITCH [rad/s] Wheelset angular velocity ωws = θ̇ws .
In the computation of roller rigs, the forward velocity vx is assumed to be negligible, and is
replaced by the angular velocity of the rollers:
According to the right hand rule, the pitch velocity ωws is negative for forward rolling, whereas
ωrol is positive.
Flexible wheelset deviations provide offsets from the initial (design) geometry to the actual
(current) configuration. Wheelset coordinates are used, such that ∆y > 0 is towards the
center of mass for a left wheel, but to the field side when the right wheel is considered.
DXWHL .. [mm] Displacements ∆xwhl , ∆ywhl , ∆zwhl of the wheel profile refer-
DZWHL ence point from the design to the actual position in wheelset
coordinates.
DROLLW, [rad] Rotations ∆φwhl , ∆ψwhl , ∆θwhl of the wheel profile origin with
DYAWW, respect to the design orientation in wheelset coordinates, posi-
DPITCHW tive using the right-hand rule.
VXWHL .. [mm/s] Velocities ∆vxwhl , ∆vywhl , ∆vzwhl of the wheel profile origin with
VZWHL respect to the design position in wheelset coordinates.
VROLLW, [rad/s] Angular velocities ∆vφwhl , ∆vψwhl , ∆vθwhl of the wheel profile origin
VYAWW, with respect to the design orientation in wheelset coordinates,
VPITCHW positive using the right-hand rule.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 46
The program automatically sets c = 1 in the computation of steady rolling. For transient
rolling, the value 1 is also preferred [37, 56].
After the values for the wheel/rail pair as a whole, data are displayed for all the contact
patches that have been detected and solved. This concerns the contact reference point, the
creepages and penetration, and the forces and moment of each separate patch.
The contact reference position is the origin of the local coordinates used for solving the contact
problem [45]. It is determined by a heuristic rule to be centered within the contact patch in
a weighted sense. This may be different from the initial contact point where the undeformed
distance is minimum.
The contact reference position is presented in terms of the track-, rail- and wheel coordinates.
XCP TR,.. [mm] Position of the contact reference point in track coordinates.
XCP R,.. [mm] Position of the contact reference point on the rail profile.
XCP W,.. [mm] Position of the contact reference point with respect to the wheel
profile.
S R, S W [mm] s (s2 ) position of the contact reference point with respect to the
profile origin measured along the curved rail or wheel surface.
DELTTR [rad] Contact angle: rotation from the track z-axis to the contact n-
axis. Typically positive for left wheel/rail pairs and negative at
right wheel/rail pairs.
For left wheel/rail pairs, the positions within the profiles ( R, W) are given for the mirrored
right wheel/rail combination, with positive y-coordinates at the field side and negative values
towards the track center.
The creepages, approach, total forces and moments that are presented next are the same as
the global outputs of module 3 (Section 5.7). Note that FY and MZ of module 3 are renamed
here to FS and MN, to emphasize that the values are defined using the contact local coordinates.
For left wheel/rail pairs, the creepages, forces and moments are treated differently between the
stand-alone program and the CONTACT library version. The stand-alone program presents
the values using the right-handed coordinate convention, by which lateral and spin creepages
VORtech CMCC
Technical Report TR09-03, version “v19.1” 48
η and φ will typically have opposite signs between left and right wheels. The CONTACT
library, on the other hand, presents the results with the signs reversed as if the mirrored right
wheel/rail combination has been computed.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 49
Chapter 5
“Basic contact” means that the user takes care of locating the potential region where contact
occurs, defining local coordinates with z (n) pointing into the upper body, a = 1, and defining
the contact problem using this coordinate system. The inputs needed are then:
• The undeformed distance (§5.4) and relative motion between the surfaces (§5.5).
The modulus of rigidity is also known as the (elastic) shear modulus. It is related to the
modulus of elasticity (Young’s modulus) E by
(a) E (a)
G = (5.1)
2(1 + ν (a) )
From these values the program computes the following combined quantities:
1/Cv Er
1/Cg
σ σ σ σ
ηv Em ηm
Figure 5.1: Mechanical analog networks of the Standard Linear Solid (SLS) model of viscoelas-
tic materials, featuring the equivalent Kelvin-Voigt (left) and Maxwell forms (right).
This employs the initial Young’s modulus Eg , the final Young’s modulus Er < Eg and the
stress relaxation time τE .
Two mechanical analog network models that are equivalent and that are closely linked to
these two standard relaxation tests, are the Kelvin-Voigt and Maxwell forms of the SLS,
see Figure 5.1. The element parameters are the spring stiffnesses and compliances E =
1/C [N/mm2 ] and the damper viscosity η [N s/mm2 ]. All material parameters, including the
Poisson’s ratio ν, are assumed to be constant over time.
Apart from the elastic parameters GG(ia) and POISS(ia) per body, the extra input quantities
in the program for viscoelastic materials are
(a) (a)
FG(ia) [−] Ratio of Kelvin-Voigt spring compliance constants Cg /Cv of
(a) (a)
body ia, Cg /Cv ≥ 0.
(a) (a)
TC(ia) [s] Creep relaxation time τC of body ia, τC ≥ 0.
The relations between the input quantities and the different model parameters are summarized
in Table 5.1. From these relations it follows that
Eg − Er Eg Gg
fg = ↔ Er = , and consequently Gr = . (5.5)
Er 1 + fg 1 + fg
Note that when viscoelastic material behaviour is used, the calculation of subsurface stresses
is still based on the elastic half-space approach. This means that the true surface stresses due
to viscoelastic rolling contact are not propagated entirely correct into the subsurface.
Inputs to CONTACT
Model parameters GG FG TC
Maxwell form Er + Em Em Er + Em
ηm
Er , Em = Eg − Er , ηm 2(1 + ν) Er Er Em
Kelvin-Voigt form 1 1 Cv
Cv ηv
Cg , Cv = Cr − C g , ηv Cg 2(1 + ν) Cg
Creep relaxation test 1 1 Cr − Cg
τC
Cg , Cr , τ C Cg 2(1 + ν) Cg
Stress relaxation test Eg Eg − Er Eg
τE
E g , E r , τE 2(1 + ν) Er Er
Table 5.1: Relations of the viscoelastic input quantities to the model parameters for a number
of different descriptions of viscoelastic relaxation.
surface particles are assumed to be moving independently of each other, with response ut
linear in the surface traction pt . This may be viewed as if the bodies consisted of a set of
independent springs with (combined) flexibility parameter L.
In Hertzian problems (Sections 5.3.1–5.3.3), three different flexibilities L0ξ , L0η and L0φ may be
used for longitudinal, lateral and spin creepage respectively. These flexibilities are computed
automatically according to Kalker’s FASTSIM when M = 3.
The modifications proposed in [34] are based on a variable flexibility, increasing with the ratio
of the slip area to the area of adhesion:
L 1 − αinf
Leff = , with k = k0 αinf + . (5.6)
k 1 + βε
This increases the flexibility when k < 1. The input parameters are as follows:
The ratio of the slip to adhesion areas is described by the parameter ε that’s computed in
the program on the basis of prescribed creepages. It’s effect is switched off by using αinf = 1.
The original Fastsim algorithm is then recovered by using slope reduction factor k0 = 1.
The simplified theory is not realistic for computing the normal problem. For this the full half-
space approach is used (option B = 0). In Hertzian problems, elliptical or parabolical traction
VORtech CMCC
Technical Report TR09-03, version “v19.1” 53
(relative) movement
(a) (a)
Figure 5.2: Illustration of tractions pt acting on bodies a = 1..3 and displacements ut in
the bodies as a result of (gross) relative movement.
(3)
Note the sign convention used for ut , which makes the total displacement difference
(1) (2) (3)
ut = ut − ut + ut . (5.8)
Deformation Ut [mm]
0
−1
−2
z
y −3
z x
−4
y −6 −4 −2 0 2 4 6
x S−coordinate [mm]
Figure 5.3: Left/middle: finite element meshes used for numerical calculation of influence
coefficients. Right: tangential response of the rail to a localized normal load for different radii
of curvature, illustrating deviations from the half-space approach [50].
GG3 [N/mm2 ] Shear elastic modulus of the interface layer, G(3) > 0.
LAYTHK [mm] Thickness h(3) of the interface layer.
(3)
TAUCRT [N/mm2 ] Critical shear stress τc above which plasticity effects occur in
the interface layer.
GGPLST [N/mm2 ] Shear plastic modulus k (3) of the interface layer.
Note: the plastic regime is not implemented yet, currently TAUCRT and GGPLST are ignored.
• A quarter-space that’s loaded near the corner, will have larger elastic deformations than
an elastic half-space with the same load (Figure 5.3, middle/right).
These differences between convex and concave bodies introduce a coupling between normal
and tangential contact problems.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 55
Figure 5.4: Idea of Blanco’s IF correction approach: the influence of loads exerted at J on
the displacements at I depends on the angle variation αJ − αI between the two points.
The influence functions of the two bodies may be calculated separately, using finite element
methods, for instance, and provided to CONTACT in tabular form, using an auxiliary file.
This option is activated by selecting C3 = 9 (page 37). An additional line of input is then
required:
CFNAME [−] Filename for the input-file with numerically computed influence
coefficients. The structure of this file is documented separately.
A quick way to estimate these influence functions was presented by Blanco-Lorenzo et al.
[2]. This uses the surface inclination α to make a first order correction. This is illustrated
in Figure 5.4 for pressures pn exerted at J, and their influence on elastic displacements at I.
This option is provided in CONTACT for prismatic bodies, where the bodies are conformal
in y − z directions only. It is activated with (experimental) C3 = 4.
The main input is the lateral surface inclination, using a table {(yi , αi )}, i = 1 · · · n with linear
interpolation.
Surface inclinations may be given relative to an arbitrary reference, e.g. using a global direction
(ytr ), or a convienient (planar) local direction (s̄). Positive rotation is defined using the right-
hand rule as shown in Figure 5.4.
Two methods are provided that each come in four variants.
1. The full method uses these surface inclinations as given, including all detail, which
increases the computational work.
The variants concern the detailed formula used for the IF correction.
Numerically calculated influence coefficients can be combined with linearly elastic materials
(M = 0, Section 5.1.1) and with interfacial layer (M = 4, Section 5.1.4). These material models
will be used as “best guess” when subsurface stresses are requested.
Other friction laws, particularly concerning slip-velocity dependent friction, have been imple-
mented too. These are illustrated in Figure 5.5. Results are presented in the examples in
Sections 6.4 and 6.12.
When L = 2, a linear decrease of the friction coefficient is used, until a certain minimum is
reached:
Here sa (x, t) is the magnitude of the absolute slip velocity (≥ 0) at position x.2 µlin1 , µlin2 , sh1
and sh2 are the coefficients of the friction law. Two terms are provided for flexibility, and
allow two different time-scales to be incorporated. µlin1 and µlin2 are the maximum sizes of
the linear terms (at sa = 0, µstat = µkin + µlin1 + µlin2 ). Setting one of these to zero disables
a term. sh1 and sh2 are the slip velocities at which the initial contributions are halved.
2
In the calculation of shifts (T = 1) the absolute slip velocity sa is computed as Sa /δt, with Sa the slipped
distance [mm] and δt = 1 [s].
VORtech CMCC
Technical Report TR09-03, version “v19.1” 57
0.32
0.3
0.28
0.2
0.18
0.16
0 2 4 6 8 10 12 14
Absolute slip velocity s [m/s]
a
Figure 5.5: Dependence of friction coefficient µ on absolute slip velocity sa for the friction
laws of equations (5.10)–(5.12).
FKIN [−] Limit value µkin > 0 for the coefficient of friction for large slip
velocities, used when L = 2 − 4.
SABSH1 [mm/s] Absolute slip velocity sh1 > 0 for which the size of a term is
halved compared to sa = 0. Used when L = 2 − 4.
SABSH2 [mm/s] Absolute slip velocity sh2 > 0 for which the size of a term is
halved compared to sa = 0. Used when L = 2 − 4.
FLIN1 [−] Coefficient µlin1 of (5.10), used when L = 2.
FLIN2 [−] Coefficient µlin2 of (5.10), used when L = 2.
µs (sa ) = µkin + µexp1 exp(− log(2) · sa /sh1 ) + µexp2 exp(− log(2) · sa /sh2 ) (5.12)
VORtech CMCC
Technical Report TR09-03, version “v19.1” 58
0.31
0.3
0.29
0.28
0.26
0.25
0.24
dc=0
dc=0.001
0.23 dc=0.002
dc=0.005
0.22
−4 −3 −2 −1 0 1 2 3 4
X−coordinate [mm]
Figure 5.6: Typical effect of friction memory (equation (5.14)) on the friction coefficient µ:
gradual instead of abrupt change of µ(x, t).
The factor log(2) makes that sh1 and sh2 are again the absolute slip velocities in which the
size of the terms is halved compared to sa = 0.
This form implies that the transient behavior consists of an exponential decay towards the
steady state value µs . dc is the characteristic sliding distance over which the adaptation
VORtech CMCC
Technical Report TR09-03, version “v19.1” 59
δx
(xh,yh)
npot
iy=my (xcm,ycm)
δy
iy*mx
y→
Figure 5.7: The potential contact area, its discretisation, and the numbering of the elements.
occurs (typically in the order of µm). Its effect is illustrated in Figure 5.6, showing the actual
friction coefficient µ(x, t) for a steady rolling cylinder. The coefficient s0 is a small velocity
(O(mm/s)) that allows the friction coefficient to change in the adhesion area (where sa = 0),
if it comes from a different value than the static coefficient µstat = µs (0).
MEMDST [mm] Characteristic distance dc for the friction memory effect (≥ 0).
An instantaneous friction law is obtained by setting dc = 0.
MEM S0 [mm/s] Minimum velocity s0 for the friction memory effect (≥ 0).
In cases where L = 1, the friction law and coefficients of the previous case are maintained.
The elements are numbered using two-dimensional indices (ix, iy) ∈ {1 · · · mx} × {1 · · · my},
as well as with a one-dimensional index
1. The solver SteadyGS for the steady state rolling problem requires one “exterior” element
at the trailing edge of the contact area. If there is an interior element in the first grid
column (ix = 1), SteadyGS will not be used, the slower and less robust ConvexGS will
be used instead.
2. To properly estimate the displacement difference ut at the leading edge requires two
“exterior” elements there too (last two grid columns, mx − 1 and mx). In grid rows
where these elements are not available, the so called leading edge correction will be
switched off.
It is recommended to use two additional grid rows and columns around the actual contact
area at all sides.
The location and discretisation of the potential contact area can be specified in a number of
ways.
The curvatures are related to the effective radii of curvature of the two bodies by
1 1 1 1
A1 = (1)
+ (2)
, B1 = (1)
+ (2)
. (5.17)
2Rx,eff 2Rx,eff 2Ry 2Ry
In wheel-rail contact, the effective rolling radius for the wheel is Rx,eff = Rw (y)/ cos(δ)
[46]. That is, the contact angle δ makes the surface look flatter in rolling direction. This is
illustrated in Figure 5.8 using constant wheel radius Rw . (In practice, Rw varies along the
profile. This is a second order effect, because the actual values of Rw are much bigger than
shown in the figure.)
The Hertzian solution may be described in the input in different combinations:
VORtech CMCC
Technical Report TR09-03, version “v19.1” 61
Figure 5.8: Left: vertical sections of a wheel in global Oxyz-coordinates, circles of almost the
same radius Rw (y). Right: rotated to contact local Oxsn-coordinates, all circles touching at
n = 0. The effective radius becomes Rx,eff = Rw (y)/ cos(δ) [46].
Other variables used in the Hertzian problem are the material constants (Section 5.1) and
either the approach PEN or the normal force FN, see Section 5.5.
The pressure distribution may be computed from the geometry (B = 0), or can be prescribed
beforehand.
p 3Fn
elliptical, B = 2 : pn (x, y) = pmax 1 − (x/a)2 − (y/b)2 , pmax = , (5.18)
2πab
2Fn
parabolical, B = 3 : pn (x, y) = pmax 1 − (x/a)2 − (y/b)2 , pmax =
. (5.19)
πab
The potential contact area is taken as the rectangle [−AA · s, AA · s] × [−BB · s, BB · s] with
s = SCALE.
SCALE [−] Scale parameter for the potential contact area.
Choose SCALE = 1.1 for a potential contact area that is 10% larger than the actual Hertzian
contact area, or SCALE = MX/(MX − 4) to add two unused rows and columns around the actual
contact ellipse.
In non-quasiidentity, the true contact can fall outside the Hertzian ellipse. Therefore a larger
potential contact area should be used. This is achieved by setting SCALE > 1 in those cases.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 62
Figure 5.9: Definitions for the double half-elliptical contact region of the SDEC approach.
• IPOTCN = −4: rectangular contact specified by curvature A1 and half width BB;
• IPOTCN = −5: rectangular contact with half length AA and half width BB.
The pressure distribution is then prescribed using options B = 2 or 3, using Hertzian formulas
in each strip y = const:
p 2Fn
elliptical, B = 2 : pn (x, y) = pmax 1 − (x/a)2 , pmax = , L = 2b, (5.20)
πaL
3Fn
parabolical, B = 3 : pn (x, y) = pmax 1 − (x/a)2 , pmax =
. (5.21)
4aL
The dimensions regarding the two half ellipses are illustrated in Figure 5.9. Note that the
origin of the contact coordinates is chosen differently than in [25], as discussed in [45].
The pressure distribution is then prescribed using option B = 4, using a Hertzian-like formula
in each strip y = const:
bpos + bneg bpos − bneg
b= , ψ= , y0 = −bψ, (5.22)
2 2bs
(y − y0 )2
y − y0 > 0 : xl,pos = a 1 − , (5.23)
b2 (1 + ψ)2
s
(y − y0 )2
y − y0 < 0 : xl,neg = a 1 − , (5.24)
b2 (1 − ψ)2
3 Fn pmax
q
pmax = , pn (x, y) = x2l (y) − x2 . (5.25)
2 πab a
The precise form of the undeformed distance is then constructed from the pressure profile.
Other variables used in the SDEC approach are the material constants (Section 5.1), the
normal force FN, see Section 5.5, and the SCALE parameter of the Hertzian approach (Section
5.3.1).
XC1, YC1 [mm] Coordinates of the center of element (1, 1) of the potential con-
tact area.
XCM, YCM [mm] Coordinates of the center of element (mx, my) of the potential
contact area.
Option IBASE = 2 is intended for non-Hertzian rolling of a body of revolution. The axle of
the body is parallel to the y-axis at x-coordinate xm . The effective radius of curvature in
x-direction is Rm . The profile “p(y)” in y-direction is arbitrary. It is specified at a regular
spacing, which may be different from the grid sizes used in the potential contact area. Linear
inter- or extrapolation is used to get the profile at other y-coordinates. The formula used for
the undeformed distance is
(x − xm )2
h(x, y) = p(y) + (5.27)
2 Rm
Note that the specification of the profile here has nothing to do with the choice of the potential
contact area. More specifically: the number of heights NN is independent of the number of
rows MY. The profile will be determined by interpolation between the successive heights.
Note further that the effective rolling radius can be different from the vertical height of the
axle above the plane. The undeformed distance is measured in normal direction. For a wheel
with radius R and a contact angle δ, the effective radius of curvature is R/cos δ, see Section
5.3.1 (Figure 5.8) and [16, eq. (1.61b)].
The formula used with IBASE = 3 is the following.
This implies that b7 and b8 are radii of curvature ([mm−1 ]), b1 and b4 are vertical distances
([mm]), b3 and b6 are horizontal positions where the sines are zero ([mm]), and b2 and b5 are
frequencies ([rad/mm]).
When IBASE = 9, the values h(xI ) are specified for all elements I.
Refer to (5.15) and (5.16) for the numbering and coordinates of the elements.
The specification of the undeformed distance may be completed by the application of a so-
called planform. Elements that lie outside the planform will get a very large undeformed
distance so that they cannot enter the contact area.
• IPLAN = 1: Unrestricted planform, all elements of the potential contact area may enter
the actual contact area.
• IPLAN = 2: Quadratic planform. Elements are excluded from the contact area when
a quadratic function pl(x, y) is ≥ 0. The function pl is specified by six parameters
analogously to h(x, y) in (5.26).
The parameters are specified in the order in which they occur in this formula.
PEN [mm] Approach δn of the two bodies. Constant offset to the pro-
file specification h(x, y): the total undeformed distance is
h(x, y) − δn . If the minimum of h(x, y) is 0, δn is the maxi-
mum penetration of the undeformed surfaces.
FN [N ] Total normal force in the contact area.
EXRHS(I,:) [mm] Extra term in the rigid shift of the elements, specified explicitly
by the x- and y-components for each element (order: x, y for
element 1, x, y for element 2, ..., e.g. using one line per element.)
The true time step size δt is unknown to the program. It is set to 1 s, and the corresponding
variables are set to CHI = 0◦ , DQ = 1 mm and VELOC = 1 mm/s. This way, a shift of 3 mm
corresponds to an absolute slip velocity of 3 mm/s and a relative slip velocity of 3.
CHI [rad] Rolling direction χ. This may be given in degrees using the
notation 180d, which is converted to [rad] and displayed as such
in the output-file. The value should be near 0 or π (180◦ ), i.e.
rolling in positive or negative x-direction. It is not used in shifts.
DQ [mm] Rolling distance traversed per timestep, i.e. δq = V · δt. This
should preferrably be of the order of the grid size DX [56].
VORtech CMCC
Technical Report TR09-03, version “v19.1” 67
VELOC [mm/s] The rolling velocity V . This affects viscoelastic material be-
haviour (M = 1), velocity dependent friction laws (L = 2 − 4),
and the frictional power dissipation FRIC.
CKSI, CETA [−] Creepages in x- and y-directions respectively, rigid slip velocities
relative to the rolling speed V .
CPHI [rad/mm] Spin creepage, angular velocity of the two bodies around the
z-axis relative to the rolling speed V .
When E = 9 an additional term is added which is particularly relevant for conformal contact
situations:
EXRHS(I,:) [−] Extra term in the rigid slip of the elements, specified explicitly
by the x- and y-components for each element (e.g. using one line
of input per element.)
The additional terms (sn, cs) · δq/6 compensate for the rolling distance traversed in a time
step, along rolling direction CHI.
The total forces in x- and y-directions are defined as follows.
These can be both output (F = 0, 1) and input (F = 1, 2) of the program. Note that a problem
with creepages prescribed is easier to solve than a problem with total forces prescribed. An
additional (Newton-Raphson) iteration process is used when total forces are prescribed, to
determine the appropriate values for the creepages. This process is not fully reliable when
the total forces are close to the maximum values that can be attained (full sliding solution).
When one of the iteration constants MAXOUT, MAXIN or MAXNR is reached, it is assumed that
the process does not converge for the problem at hand. This results in an error stop, because
the next case cannot always be computed properly. Reaching MAXGS in the iterative solvers
does not immediately result in an error stop. When the error has been reduced during the
process we continue, if it grows the program is stopped.
kpk − pk−1 krms < EPS · kpk krms (k: iteration counter). (5.32)
Suitable modifications are made for the case that pk ≡ 0. Note that this criterion does not
guarantee small errors in the final results. Errors of other iteration procedures (Panagiotopou-
los, Newton-Raphson) are compounded. The criterions that are used there can be found in
the flow trace (see description of the W-digit in Section 3.3).
Two warnings that are related to the iteration accuracy EPS are the following:
NORM: WARNING. There are **** elements with small deformed distance and
**** elements with small pressure.
TANG: WARNING. There are **** elements with small slip and **** elements
with tractions close to the traction bound.
These warnings indicate that the element divisions between C and E (NORM, interior and
VORtech CMCC
Technical Report TR09-03, version “v19.1” 69
exterior elements) and between H and S (TANG, adhesion and slip areas) may be affected
by inaccuracies. Particularly the former one should not be ignored. It indicates that
• elements in the contact area with normal pressure pn < might actually belong to the
exterior, and
• exterior elements with small deformed distance might better be interior elements.
The estimates of the element divisions become more reliable if the iteration process is contin-
ued and the approximation error is reduced, i.e. when a smaller tolerance EPS is used. Similar
considerations hold for the latter warning regarding the slip and adhesion areas. In that case
the accuracy assessment is on the pessimistic side; the results are usually more reliable than
the warning suggests.
OMEGAH [−] Relaxation parameter ωh for ConvexGS and SteadyGS for ele-
ments in the adhesion area.
OMEGAS [−] Relaxation parameter ωs for ConvexGS and SteadyGS for ele-
ments in the slip area.
INISLP [−] Flag for initial estimate for slip velocity. Used in slip velocity
dependent friction laws (L = 2 − 4), else INISLP = 0 can be
used.
OMGSLP [−] Relaxation parameter ωslp for the slip velocity. Used in the
iteration procedure for slip velocity dependent friction laws (L =
2 − 4), ignored otherwise.
Relaxation is an internal feature of the Gauss-Seidel based solvers ConvexGS and SteadyGS,
see [36] and [37]. The program contains suitable default values for these parameters that are
used in the default case when G = 0. Fine-tuning is possible by setting the G-digit to 2 or 3.
Our experience is that TangCG should be used for shifts and transient rolling (T = 1, 2) and
SteadyGS for steady state rolling (T = 3). This is the default choice when G = 0. Deviation
from the defaults is needed only in specific circumstances.
When using velocity-dependent friction, there may exist multiple valid solutions to a case
[6, 49]. The initial estimate for the slip-velocity then determines which one of the possible
solutions is found. Three different strategies are provided. When INISLP < 0, the slip velocity
is approximated from below, such that the “low-slip” solution is found. When INISLP > 0,
the slip velocity is approximated from above and the “high-slip” solution is obtained. Finally
the choice INISLP = 0 is in between and uses the slip velocity of the previous case as initial
estimate.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 70
Note that sIα is the relative slip velocity, hence the multiplication with V . Note: the elastic
energy is not computed when B = 2 or 3 is used, since the normal displacements uIn are then
not available. A zero is displayed in the output instead.
Note: the frictional power computed by CONTACT suffers from a substantial discretisation
error. In certain cases the following macroscopic quantity may be used as an alternative:
FRIC = V · 10−3 · (CKSI · Fx + CETA · Fy + CPHI · Mz ) , (5.35)
with Fx , Fy here being the total tangential forces in [N ]. This alternative is valid only in
steady state rolling, when the two bodies are elastically similar (quasi-identical, K = 0 in
equation (5.2)), and when the creepages are constant throughout the contact patch (E3 = 0).
This is illustrated for instance in [23].
The sensitivities are calculated when the Newton-Raphson loop is used for presribed total
forces. This is currently only the case when F = 1 or F = 2. When a sensitivity has not been
computed, a zero is displayed in the output.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 71
The sensitivities of FX to CETA and of FY to CKSI and CETA are likewise defined.
In this case the true velocity V and time step δt are unknown to the program. The shift
distance SIt in the step is used instead of the velocity:
XX
FRIC = δx δy pIα SIα . (5.36)
α I
Os - OUTPUT, subsurface stress : governs the extent of the output to the output-file
<experim>.out:
0 - no results are printed to the output-file (values are computed, and stored in internal
memory for use in other calculations);
1 - minimum output is printed, just the maximum values of primary stress invariants;
2 - the maximum values are printed for additional invariants, e.g. the principal stresses;
3 - not used;
4 - the detailed results for the sub-surface (deformations, stresses) are printed as well,
in addition to 2.
These control digits are read from the input-file when S = 2 or S = 3. The same value is used
for all blocks of subsurface points.
ISUBS − Integer flag. Input option for the coordinate specification for a
block.
• ISUBS = 1: at the centers of all discretization elements of the potential contact area,
using constant spacing DZ in vertical direction.
• ISUBS = 5: at the centers of all discretization elements of the potential contact area, at
explicitly specified Z-positions.
The components σij usually aren’t the most interesting quantities for the stress state in a
point x. It is often more relevant to consider additional values that are derived from the
tensor σ. The first one is the mean (hydrostatic) stress σhyd , one-third of the first stress
invariant I1 :
1
I1 = trace(σ) = σxx + σyy + σzz , σhyd = I1 . (5.38)
3
This describes the change of volume of the material by the stresses acting at x.
Subtracting the volumetric stress tensor from σ yields the stress deviator tensor s, that
describes the distortion of the material:
s = σ − σhyd I, with I the 3 × 3 identity. (5.39)
The second invariant J2 of this tensor is used to compute the equivalent (tensile) stress σvm
in the von Mises criterion.
SIGVM(k) [N/mm2 ] The “equivalent (tensile) stress” or “von Mises stress” σvm of
the von Mises criterion.
Using these, the von Mises criterion for the onset of plastic yield may be expressed as
√
J2 ≥ k 2 → σvm ≥ 3 k, (5.41)
with k the yield strength of the material in simple shear, or as
σvm ≥ σyield , (5.42)
with σyield the yield strength in simple tension.
Finally CONTACT provides the principal stresses and the maximum shear stress used in the
Tresca failure criterion.
SIGJ(k,j) [N/mm2 ] Principal stresses σj , j = 1–3 at subsurface point k. These are
the eigenvalues of the stress tensor, ordered such that σ1 ≥ σ2 ≥
σ3 .
SIGTR(k) [N/mm2 ] Maximum shear stress σtresca = σ1 − σ3 .
Chapter 6
Examples
In this chapter we present a number of examples for the program. These examples correspond
to input- and reference-output files that are provided with the program in the examples
directory.
This gives Fn = 9.1954 N and for the maximum pressure pn,max = 3Fn /2πab = 4.3905 N/mm2 .
In the example these data are entered via AA and BB, it is possible to use A1 and B1 just as
well. The contact area is discretised with 15 × 15 elements, two additional elements are used
on all sides by setting SCALE = 19/15 = 1.267.
3 MODULE
200100 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
022020 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , RZNORM, EXRHS
000331 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
VORtech CMCC
Technical Report TR09-03, version “v19.1” 78
When CONTACT is run, information on the Hertz solution is printed to the output-file
cattaneo.out:
3 MODULE
201120 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
022020 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , RZNORM, EXRHS
101441 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
9.1954 -0.8750 0.000 0.000 FN, FX, FY, CPHI
0.400 0.400 FSTAT, FKIN
0.420 0.420 200. 200. POISS 1,2, GG 1,2
1 IPOTCN
19 19 -1.26667 -1.26667 .13333 .13333 MX,MY,XL,YL,DX,DY
1 1 IBASE, IPLAN
% QUADRATIC UNDEFORMED DISTANCE
0.0100 0.000 0.0100 0.000 0.000 0.000 B(I), I=1, 6
% UNRESTRICTED PLANFORM
• the P-digit, which describes that the sphere was free from tangential tractions initially;
VORtech CMCC
Technical Report TR09-03, version “v19.1” 79
Figure 6.1: Results for the Cattaneo shift problem. Distribution of tangential traction px along
the center-line y = 0.
• the N- and F-digits, that state that total forces are being prescribed.
This Cattaneo solution is not altogether correct; there is a traction component py orthogonal
to x-axis that is ignored.
After you’ve run CONTACT for this problem, you find the shift in the output-file:
FN FX FY MZ ELAST.EN. FRIC.WORK
9.195 -3.218 0.000 0.000 8.525E-05 -2.750E-06
VORtech CMCC
Technical Report TR09-03, version “v19.1” 80
The results may be inspected further with the Matlab package, see Figure 6.1. The commands
for producing this figure are (see Section 7.2):
This shows the negative of the tangential tractions, −px , along the centerline through the con-
tact area y = 0. The dashed line is the traction bound µstat pn , with maximum µstat pn,max =
1.756 N/mm2 .
3 MODULE
203100 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
022020 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , RZNORM, EXRHS
001441 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
999 100 30 1 1e-5 MAXGS , MAXIN , MAXNR , MAXOUT, EPS
35780. -0.00024 0.000 0.000 FN, CKSI, CETA, CPHI
0.300 0.300 FSTAT, FKIN
0.000 0.040 30000. CHI, DQ, VELOC
0.280 0.280 82000. 82000. POISS 1,2, GG 1,2
3 IPOTCN
55 1 -1.0500 0.000 0.0400 200.0 MX,MY,XC1,YC1,DX,DY
1 1 IBASE, IPLAN
% QUADRATIC UNDEFORMED DISTANCE
0.001 0.0 0.0 0.0 0.0 0.0 B1,B2,B3,B4,B5,B6
% UNRESTRICTED PLANFORM
Note that the grid is specified in a different way than in the previous example (IPOTCN = 3),
and that a time step size δq = δx is used. The resulting traction distribution is shown in
Figure 6.2.
This gives G = 35 924, ν = 0.3034, K = 0.100, which in turn gives Fn = 16.20 N/mm.
The first scenario concerns “free rolling”. One roller is driven by an external torque such
that it rotates at a constant speed. The other is rolling freely, with negligible friction in its
bearings. It is accelerated or decelerated by the contact force, until it approaches a steady
state with Fx = 0. In a case with equal materials this would give the same circumferential
velocities for both rollers, leading to creepage ξ = 0. With dissimilar materials the situation
is different.
(a) (a)
Normal pressures pn cause tangential displacements ux , uy to occur in both bodies, a = 1, 2.
(a)
These displacements are bigger for the aluminum than for the steel roller. The sign of ux
is such that particles are drawn towards the center of the contact area. This means that the
particles of the aluminum roller traverse a smaller distance when passing through the contact
area: the particles of the steel roller move by ≈ 2a and those of the aluminum roller by
≈ 2a − 2u. This introduces a non-zero creepage at free rolling.
The different tangential displacements in the two bodies imply a tendency of the surfaces to
slip with respect to each other. If rolling is to the left (counter-clockwise rotation for the upper
roller), the upper surface tends to the left with respect to the lower one. This tendency is
resisted by tangential tractions px > 0 (in 2D scenarios, py ≡ 0). Note that normal pressures
invoke tangential tractions. Vice versa, tangential tractions affect the pressures pn as well.
Finally, free rolling is obtained by introducing a creepage ξ > 0, that balances the upper
surface’s tendency to the left. This is investigated using four cases:
3 MODULE
VORtech CMCC
Technical Report TR09-03, version “v19.1” 83
• This first case uses a prescribed creepage, F = 0, ξ = 0.00052, instead of specfying the
force Fx = 0. This is because the Newton-Raphson procedure has great difficulty with
scenarios where full sliding occurs at practically all creepages. This first case is used
with minimal output. Then the second case uses its results as initial estimate, by setting
I = 1. With this improved initial estimate the Newton-Raphson process works well.
• In the first two cases we use MAXOUT = 1 even though there’s material dissimilarity. This
means that Johnson’s process is used instead of the Panagiotopoulos process, whereby
the influence of tangential tractions on normal pressures is ignored. This is safe in this
case because the influence is negligible.
• Rolling is to the left, χ = 180◦ , such that particles enter the contact area at x = −0.1
and leave at x = 0.1 mm. This honours the convention used by Bentall and Johnson
such that the pictures are compared more easily.
The theoretical result by Bentall and Johnson says that the creepage at free rolling is
κa 2K
ξ = 0.457 , with κ = 2β = = 0.2877. (6.7)
R 1−ν
Here β is Dundur’s constant [10, p.110] and K is Kalker’s difference parameter. The formula
gives ξ = 0.0005259 whereas CONTACT gives ξ = 0.0005260 at µ = 0.0001. At µ = 0.05
the creepage reduced to 0.000429, whereas at µ = 10.0 it reduced further to ξ = 0.000359.
Note that the sign of the creepage depends on the convention used for the rolling direction
and on numbering of the rollers (through the signs of κ and K). This is summarized as that
the softer roller tends to roll at higher angular velocity than the stiffer one.
The maximum pressure increases from 103.14 to 103.81 N/mm2 (+0.65%) due to the influence
of px on pn . This doesn’t show up in the contact area that consists of 200 elements in all four
cases. A case with a larger influence is shown later in Section 6.10.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 84
(2)
Figure 6.3: Traction q(x) = px on the bottom roller in the Bentall-Johnson test-case for two
scenarios of tractive rolling, cf. [1, Fig.9]. Left: Fx = 0.75 on upper roller, right: Fx = −0.75.
In both cases µ = 0.05.
Two more cases in the input-file concern tractive rolling at relative tangential forces Fx = 0.75
and −0.75. In the first of these the aluminum roller (1) is braked by the contact force exerted
by the steel roller (2), in the latter case the aluminum roller is accelerated. The results of these
cases are shown in Figure 6.3. These results show excellent agreement with the corresponding
results presented in [1, Fig.9].
3 MODULE
203100 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
022020 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , RZNORM, EXRHS
000341 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
VORtech CMCC
Technical Report TR09-03, version “v19.1” 85
Figure 6.4: Measured and computed creep forces for the Siemens locomotive Eurosprinter
127001 for pure longitudinal creepage.
• The wheel radius is R = 625 mm, such that the curvature in rolling direction is A =
0.0008 mm−1 .
• The Hertzian input option IPOTCN = −2 is used for prescribing A and a/b. The value
a/b = 0.5 is typical for a wheelset at central position on the rails.
• For this locomotive the vertical load is 106.7 kN per wheel, and the velocity used in the
experiments is V = 10 m/s.
• The first creep force curve concerns Kalker’s original model with Coulomb dry friction:
L = 0, µstat = µkin = 0.33.
The following 29 cases re-use most of the inputs by proper setting of the control digits (L, D,
C, Z and G):
3 MODULE
203100 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
VORtech CMCC
Technical Report TR09-03, version “v19.1” 86
In the 31st case the calculation of a second creep force curve is started. This curve concerns
extensions of CONTACT for incorporating the “reduced initial slope” and “falling friction”
effects, see Figure 6.4 (left). These effects are incorporated via the interfacial layer of material
model M = 4 (Section 5.1.4) and the velocity dependent friction of L = 4 (Section 5.2). The
corresponding inputs are:
Next, cases 61 to 90 employ the original Fastsim algorithm with parabolic traction bound
(M = 3, B = 3). Finally cases 91 to 120 use “modified Fastsim” with parameters k0 =
0.54, αinf = 0.02, β = 0.64 as specified in [34]. The friction parameters are derived with the
help of equation (5.13) with µstat = 0.36, A = 0.38, B = 0.7.
After the simulation, the traction forces Fx are presented in the output-file tractcurv.out:
FN FX FY MZ ELAST.EN. FRIC.POWER
1.067E+05 -248.6 0.000 0.000 3.265 -9.007E-05
FN/G FX/FSTAT/FN FY/FSTAT/FN APPROACH
1.301 -7.060E-03 0.000 7.651E-02
They are imported into Matlab using the script parse out3.m and plotted with the following
commands:
Figure 6.5: Illustration of the simple wheelset model used in Manchester benchmark simulation
Case A [31].
Note that the conventions used in CONTACT make that a positive creepage ξ comes with a
negative force Fx . For a coordinate system with z pointing upwards, the upper body 1 is the
wheel. A positive creepage ξ then means that particles of the wheel move slower through the
contact area than the particles of the rail. Adhering together of the particles then requires
(1) (2) (1)
negative displacements ux (and positive ux ), which again requires negative tractions px
acting on the wheel surface. Since creep force curves are typically plotted with positive force
for positive creep we use -fx in the Matlab plot-command.
1 MODULE
0203100 C-P-B-T-N-F-S CONFIG, PVTIME, BOUND, TANG, NORM, FORCE, STRESS
122033 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , ZTRACK, EWHEEL
101221 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
0.280 0.280 82000. 82000. POISS 1,2, GG 1,2
0.200 0.200 1.000 1.000 DX, DS, DQREL, SAFETY
1435.0 14.0 0.000 GAUGWD, GAUGHT, CANT
’MBench UIC60 v3.prr’ 0 RFNAME, MIRRORY
0.0 0.0 0.000 0.0 0.0 0.000 DY, DZ, ROLL, VY, VZ, VROLL
1360.0 -70.0 460.0 FBDIST, FBPOS, NOMRAD
’MBench S1002 v3.prw’ 0 WFNAME, MIRRORY
0.0 6.0 10000. -0.0006340 0.0144 0.0 S, Y, FZ, ROLL, YAW, PITCH
2000. 0.0 0.0 0.0 0.0 -4.329592 VS,VY,VZ, VROLL,VYAW,VPITCH
One interesting point regarding this input is the absense of cant. This is included in the
profile itself, following the original benchmark specification, that describes the rail in the
canted position.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 89
Figure 6.6: Results for Manchester benchmark example: contact locations at left and right
wheels, as function of the lateral wheelset displacement.
One interesting result for this example concerns the contact locations that are found at the
different wheelset positions. These are shown in Figure 6.6, for the left and right rails in the
top and bottom graphs respectively. The coordinates used on the horizontal axis are with
respect to the rail origin, chosen as the highest point in the canted rail profile. Note that
the track center is on the left for both rails, that is, left-handed coordinates are used for the
left rail. Note further that two contact patches are found on the right rail if the wheelset
is displaced to yws = 5 mm. The results are generally in line with those presented in [32],
showing that the yaw angle has little effect on the lateral contact position.
The results are illustrated further in Figure 6.7, for a lateral displacement of 6 mm, displaying
the contact patches at the rail surface. These pictures are created as follows:
l13 = loadcase(’mbench_case_a22_left’,13);
prr = read_profile(’Mbench_UIC60_v3.prr’);
opt = plot3d; opt.rw_surfc = ’prr’;
plot3d(l13, opt, prr);
set(gca,’ydir’,’reverse’)
Figure 6.7: Results for Manchester benchmark example: wheelset with lateral displacement
yws = 6 mm, yawed at ψws = 14.4 mrad.
undeformed distance The computation of the undeformed distance between wheel and
rail is changed [50]. Approximating a circular arc by a quadratic function is no longer
appropriate, and the changing normal direction is taken into account.
varying spin creepage The rigid slip originating from spin cannot be represented by w =
[φy, −φx]T anymore (equation (5.31)), but must take the varying normal direction into
account [20].
influence coefficients The response of the true bodies to surface loads deviates from the
response of the elastic half-space. The true response can be computed using FEM
and introduced via numerically computed influence coefficients ([50], see Section 5.1.5,
Figure 5.3).
We consider a vehicle during steady curving. The wheelset is positioned such that the
VORtech CMCC
Technical Report TR09-03, version “v19.1” 91
outer wheel makes contact to the rail at the rail gauge corner at a position where the
contact angle is about 45◦ (position s = 0 in Figure 2.6). This defines the spin creepage
φ = −0.001537 rad/mm for a planar contact analysis. The longitudinal and lateral creepages
ξ and η can take any values in principle, depending on the angle of attack (yaw angle ψ)
and the rolling radius difference between left and right wheels of the wheelset. These depend
among others on the radius of curvature and the steering ability of the vehicle. The values
that are selected are ψ = −14 mrad (η = −0.99 %) and ξ = −0.4 %.
The curvature of the contact patch is defined through the transverse radius Ryr = 10.0 mm
for the rail profile. A strongly conformal situation is constructed using radius of curvature
Ryw = −10.2 mm for the wheel, which may occur in the flange root of a worn wheel with S1002
profile. A typical value of Fn = 100 kN is used for the wheel normal load. The corresponding
approach δn = 0.09089 mm is derived using the Hertzian theory, and is then held fixed in the
different cases such that the total force becomes variable again.
This single scenario is modeled in five different cases in input-file conformal.inp.
1. In the first case, a Hertzian approximation is used and all effects of conformality are
ignored. The profile is entered via the quadratic function (5.26), with the coefficients
computed using (5.17).
2. In the second case, the true undeformed distance is computed in Matlab and entered
into CONTACT via option IBASE = 9. The approach δn is used already in Matlab such
that δn = 0 is entered in the input-file.
The third, fourth and fifth cases re-use the grid and undeformed distance of the second
case, by setting D = 0 and Z3 = 0.
3. In the third case, numerically computed influence coefficients are used. This is entered
via C3 = 9 and CFNAME = 0 inflcf r10 mx51.txt0 . The file is prepared in advance, using
finite element calculcations for meshes such as the ones displayed in Figure 5.3 [50].
There is a close correspondence between the CONTACT grid and the input-file: these
must both use the same grid spacings δx, δy and also the number of elements must be
the same.
4. In the fourth case, the effect of conformality on the creepages is properly taken into
account. The rigid slip is evaluated in Matlab for all points of the potential contact
area and printed to a file, and is incorporated in the CONTACT input-file via option
E3 = 9. Since the full rigid slip is computed in Matlab we set CKSI = CETA = CPHI = 0.
Further we use the half-space elasticity again, setting C3 = 2 instead of C3 = 9.
5. Finally, the fifth case incorporates all three effects simultaneously. The proper un-
deformed distance that was introduced in case 2, the numerically computed influence
coefficients of case 3, and the varying creepages of the fourth case. Since the rigid slip
is the same as in the previous case it can be reused, using E3 = 1, instead of repeating
all the values again.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 92
Figure 6.8: Comparison of results for different approximations to a conformal contact problem.
Left: results for case 1, Hertzian approach, and case 5, full conformal approach. Right: con-
tribution of planar → varying creepage (case 3 → 5) and of halfspace → numerical influence
functions (4 → 5).
The results are illustrated in Figure 6.8. It can be seen that the undeformed distance cal-
culation has a considerable effect on the size and width of the contact patch. The Hertzian
approach overestimates the width and contact area by 10–15% and underestimates the pres-
sures and tangential traction correspondingly. Varying creepage and numerical influence
coefficients have less pronounced effects on the total forces, but do change the distribution of
stresses over the contact patch.
The pictures of Figure 6.8 are created using opt.field=’ptabs+vec’. In order to get two
plots in one figure we use Matlab’s subplot command and set opt.addplot=1. The colors
for magnitude of tangential tractions are controlled using opt.zrange=[0 320] and [0 130]
respectively. In the figure on the right we used opt.veccolor=’m’ and opt.vecscale=0.005
([mm] per [N/mm2 ]).
Note that the colors in Figure 6.8, right, indicate the difference in magnitude, kpi k − kpj k,
rather than the magnitude of the difference, kpi − pj k. The blue color for “planar creepage”
thus indicates that the traction magnitude did not change much in this scenario, whereas
the arrows indicate a significant change of direction. This says that the pressure distribution
remained nearly the same between cases 3 → 5, and underwent bigger changes between cases
4 → 5.
1. The first case uses the original CONTACT algorithm, by selecting B = 0 and M = 0.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 93
2. The second case uses the FASTSIM algorithm in the recommended way, i.e. with
parabolic traction bound. This is achieved by setting B = 3 and M = 3.
3. The third case uses the FASTSIM algorithm together with an elliptical traction bound:
B = 0 or 2, M = 3.
3 MODULE
233100 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
122320 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , RZNORM, EXRHS
100341 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
82000. 0.000 -0.000625 0.000625 FN, CKSI, CETA, CPHI
0.000 0.400 30000. CHI, DQ, VELOC
0.280 0.280 82000. 82000. POISS 1,2, GG 1,2
1.000 1.000 1.000 K0_MF,ALFAMF,BETAMF
-3 IPOTCN
44 44 8.000 4.000 1.100 MX,MY,AA,BB,SCALE
Figure 6.9 illustrates the tangential tractions that are obtained. It can be seen that the
parabolical traction bound gives results that compare better to those of the half-space ap-
proach. The total forces compare quite well in this case: Fy = −0.61 for CONTACT, and
−0.64 and −0.59 for FASTSIM with parabolic and elliptical traction bound respectively.
Note that these results are affected by the discretisation that is used, and that no general
conclusions can be drawn on basis of a single case. For more information on the accuracy
of the FASTSIM approach (and USETAB, Polach’s method) when compared to CONTACT
see [47]. For a comparison of parabolical and elliptical traction bounds and one versus three
flexibilities see [52].
The pictures are created with the Matlab program plot3d (Section 7.2), in which the following
settings are used:
The blue to yellow colors are obtained using the colormap ’parula’. This is the default in
Matlab version R2014b and higher. In older versions of Matlab, the colormap ’jet’ is used
as the default instead.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 94
Figure 6.9: Tangential tractions in a steady state rolling problem with large spin. Top: results
for the CONTACT (half-space) algorithm on a 40×40 grid. Bottom: results for the FASTSIM
algorithm with parabolical (B=3, left) and elliptical traction bound (B=2, right), computed on
200 × 200 grids.
1 1 IBASE, IPLAN
VORtech CMCC
Technical Report TR09-03, version “v19.1” 95
Figure 6.10: Left: tangential tractions px at centerline y = 0 for the transient rolling problem
“from Cattaneo to Carter” after “3 units” of time. Right: corresponding element division.
The next 57 cases solve the same problem using the world-fixed coordinate system of option
T = 1. In this case the quadratic undeformed distance must be shifted to the right over a
distance of δq in each step:
1 1 IBASE, IPLAN
0.002963 0.000 0.002963 -0.0059260 0.000 0.0029630 B(I), I=1, 6
A larger grid is used (90 × 33 instead of 33 × 33 elements) in order to accomodate for all time
steps with a single grid. And in the output the value CKSI is multiplied by DQ = 0.25 mm.
The easiest way to create the corresponding input-file is via a small Matlab script that writes
out the problem data per case.
The two approaches give practically the same results. This is shown by the red (T = 2) and
blue lines (T = 1) in Figure 6.10 (left). To create this figure is a bit intricate. Loading and
plotting the data for the first sequence is similar as before (explained further in Section 7.2):
Adding the data for the second sequence requires a specific Matlab command:
The reason for this is that this problem “s3” for the shift uses a different (larger) grid than
problem “r3” (rolling). Using these specific indices for arrays x and px we shift the data 12
grid distances to the left.
A nice feature of the element division in Figure 6.10 (right) is that the exterior area is not
shown coloured in the picture. This is achieved using the Matlab commands:
% subsurface points:
2 1 MATFIL, OUTPUT
% first block of subsurface points:
9 ISUBS
1 1 15 NX, NY, NZ
% points x:
0.0
% points y:
0.0
% points z:
0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
1.0 1.25 1.667 2.5 5.0
When this case is computed, the surface tractions are solved first and subsurface stresses
are evaluated immediately thereafter. Some aggregate results are printed to the output-file,
whereas the main detailed results are put in a table for Matlab. This latter output is stored
VORtech CMCC
Technical Report TR09-03, version “v19.1” 97
Figure 6.11: Subsurface stresses in the half-space (z ≥ 0), due to unit loadings on a square
with unit sides in normal and tangential directions.
in the file subsurf.0001.subs; the first part of the name is the experiment-name used, and
the middle part “.0001” is the case-number. The extension .subs is used for files containing
subsurface results. This is prepared in such a way that it can be imported in Matlab at once.
The second case in the example has the S-digit set to 1. As such it re-uses the subsurface
points defined in the first case of the input-file.
The contact problem in this example concerns the experiment described by Kalker in [16,
paragraph 5.2.2.4]. It concerns the subsurface field resulting from a unit load in a square
element with size 1 × 1 mm. The first case concerns a load in normal direction, the second
case concerns a normal plus tangential load. The subsurface stresses resulting from this
experiment are displayed in Figure 6.11. Note that Kalker’s σii is 3σhyd .
The Matlab commands used for producing this figure are (see Section 7.3):
% load results for cases 1 and 2, each using two blocks ’a’ and ’b’
[s1a, s1b] = loadstrs(’subsurf’, 1);
[s2a, s2b] = loadstrs(’subsurf’, 2);
dif = diffstrs(s2a, s1a);
plot(s1a.z, -squeeze(s1a.sighyd(1,1,:)), ’-o’);
plot(s1a.z, squeeze(s1a.sigvm(1,1,:)), ’-*’)
plot(dif.z, squeeze(dif.sigvm(1,1,:)), ’r--*’)
Here “diffstrs” is used to obtain the stresses due to the tangential traction alone. For more
information type “help diffstrs” at the Matlab command prompt.
The second block of points in the subsurface input specifies a 3D grid of points. This allow
VORtech CMCC
Technical Report TR09-03, version “v19.1” 98
Figure 6.12: Normal displacements uz at y = 0 inside body 1 (z ≥ 0), due to unit loads pn = 1
and px = 1 on a square with unit sides.
plots to be made such as shown in Figure 6.12. This plot is created with the Matlab commands:
The file matlab subsurf.m shows how the same cases are computed using the CONTACT
library version (Section 8.4).
Figure 6.13: Spence compression. Left: element divisions and direction of tangential tractions.
Right: tangential tractions as function of radial position r.
The problem was solved semi-analytically by Spence [33]. It was used as a test-problem a.o.
by Kalker [16, paragraph 5.3.1] and Willner [57]. Solutions for the example are shown in
Figure 6.13.
The example uses a sphere radius R(1) = 121.5 mm, modulus of rigidity G(1) = 0.5 N/mm2 ,
Poisson’s ratio ν (1) = 0 and coefficient of friction µstat = 0.2986. The combined material
parameters (Section 5.1.1) are G = 1, ν = 0 and K = 0.5, which is the maximal difference
that can be obtained. With these parameters, the radius of the adhesion area is half that of
the radius of the contact area [33].
To understand the results of Figure 6.13 we consider the half-space solution by Boussinesq
[3]. This solution states that a localized compressive normal load P acting on body (1)
(1)
invokes tangential displacements ut . At the surface z = 0, these tangential displacements
are directed inwards, towards the location where P is applied.
In the examples of the previous sections we used identical elastic constants for bodies (1) and
(2). In those cases the tangential displacements were identical for the two bodies, thus not
creating any displacement difference ut (cf. equation (2.3)). In the current example body (2)
is rigid, u(2) = 0, and consequently a normal load P does invoke a tangential displacement
difference between opposing surface particles of bodies (1) and (2). This displacement differ-
(1)
ence is counteracted by frictional surface tractions pt acting on body (1), directed radially
outwards w.r.t. where the load P is applied.
(1)
Finally, the tangential tractions also invoke normal displacements un . These add to the
profile of the sphere, such that the the normal pressure distribution is also modified. This is
shown by the traction bound in Figure 6.13 (right). At the center r = 0, the normal pressure
is 1.31 times higher than for the Hertzian pressure distribution, whereas the pressures are
reduced at the outer side of the contact area.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 100
X−displacement [mm]
traction px, 7 steps 0
Ux (4 steps)
traction px, 4 steps Ux (1 step)
4 traction px, 1 step −5
−10
2
−15
0
−20
0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5
−4 −5
x 10 x 10
6 15
difference 7 steps − 69 steps Difference (7−69 steps)
difference 4 steps − 69 steps Difference (4−69 steps)
4
10
Error dU [mm]
Error dPx [−]
x
5
0
0
−2
−4 −5
0 0.5 1 1.5 2 2.5 3 3.5 0 0.5 1 1.5 2 2.5 3 3.5
X−axis [mm] X−axis [mm]
Figure 6.14: Spence compression using too few stages in applying the load. Left: tangential
tractions, right: tangential surface displacements as function of radial position r.
(combined radius R = 50 mm) and consist of polymer PA6, a viscoelastic material that
is characterized by a standard linear solid model with an initial Young’s modulus Eg =
3200 MP a, Poisson’s ratio ν = 0.4 , spring ratio FG = f = 1 (final Young’s modulus Er =
1600 MP a) and creep relaxation time TC = τC varying between three different test-cases. The
corresponding initial modulus of rigidity that is input to CONTACT is (cf. last row of Table
5.1)
GG = Gg = Eg /2(1 + ν) = 1143 MP a. (6.9)
The cylinders are pressed together with a normal force per unit length of Fn = 600 N/mm,
and the coefficient of friction is µ = 0.3. The relative traction force is taken as Fx /µFn = −0.6.
In case of very slow relaxation (relaxation time τC → ∞), the viscoelastic effect is largely
unnoticed. The viscoelastic problem reduces to an elastic problem with initial modulus of
rigidity G∞ = Gg . At the other extreme, τC ↓ 0, the material responds almost instantaneously,
elastically with G0 = Gr = Er /2(1 + ν) (cf. equations (5.3) and (5.4)). The corresponding
shear modulus is obtained from Gr = Gg /(1 + f ), which gives Gr = Gg /2 = 571.5 MP a. In
Figure 5.1 (left), this is interpreted as that the two springs have equal strength, such that the
total stiffness is halved.
According to the 2D Hertz solution (e.g. equation (6.4)), the half-width of the contact area
ah and the maximum normal pressure p0 are given as
1/2 1/2
4RFn (1 − ν) Fn G
ah = , p0 = . (6.10)
πG πR (1 − ν)
For Gg = G∞ (stiff, glassy) and Gr = G0 (soft, rubbery), equations (6.10) give ah = 4.48 mm,
p0 = 85.3 MP a and ah = 6.33 mm, p0 = 60.3 MP a, respectively.
The example input file visc cylindr.inp contains four viscoelastic cases with varying τC
(0, 0.009, 0.045 and 2.0 s), and two elastic cases with varying G (517.5 and 1143 N/mm2 ).
The viscoelastic cases are defined conform the following input:
3 MODULE
203120 P-B-T-N-F-S PVTIME, BOUND , TANG , NORM , FORCE , STRESS
022120 L-D-C-M-Z-E FRCLAW, DISCNS, INFLCF, MATER , RZNORM, EXRHS
001341 G-I-A-O-W-R GAUSEI, IESTIM, MATFIL, OUTPUT, FLOW , RETURN
100 100 30 1 1e-5 MAXGS , MAXIN , MAXNR , MAXOUT, EPS
600000. -0.600 0.000 0.000 FN, FX, FY, CPHI
0.300 0.300 FSTAT, FKIN
0.000 0.160 1000. CHI, DQ, VELOC
0.400 0.400 1143. 1143. POISS 1,2, GG 1,2
1.0 1.0 0.009 0.009 FG 1,2, TC 1,2
3 IPOTCN
99 1 -7.920 0.000 0.160 1000.0 MX,MY,XC1,YC1,DX,DY
1 1 IBASE, IPLAN
% QUADRATIC UNDEFORMED DISTANCE
VORtech CMCC
Technical Report TR09-03, version “v19.1” 102
Figure 6.15: Results for the rolling contact of two viscoelastic cylinders. Distribution of normal
and tangential traction µstat pn (x) and px (x) for different relaxation distances Vτ . The axes
are normalized with ah = 6.34 mm and p0 = 60.3 MP a.
The results for the test-cases are shown in Figure 6.15. The lowest pressures and shear
tractions are found if the viscoelastic effects take place immediately, relaxation distance VτC =
0. This is the softest material behaviour, resulting in the widest contact area with semi-width
ah = 6.34 mm, which is also obtained in the elastic case using G = G0 . For increasing τC the
contact area shrinks, first at the trailing edge and later also at the leading edge of the contact
area. The tractions increase correspondingly, until ultimately the traction profile equals that
of the elastic case with G = G∞ . For intermediate values of τC , an asymmetric traction profile
is found, which is a typical feature of viscoelastic contact. At the inlet additional pressure
is needed in order to overcome the creep relaxation and avoid interpenetration of the two
surfaces. At the outlet, it takes a while for the material to relax back to its original form such
that less pressure is needed there.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 103
Figure 6.16: Results obtained with slip-velocity dependent friction law L = 4. Left: demonstra-
tion of multiple solutions to the same case, depending on initial estimate to the slip. Right:
traction distribution after 49 time steps, with peculiar peaks travelling from right to left through
the contact area.
The last one of these is used by setting L = 4, and corresponds to equation (5.12).
There appear to be multiple solutions to the discrete system. This is demonstrated by calcu-
VORtech CMCC
Technical Report TR09-03, version “v19.1” 104
• “case 1”: solve for a steady state solution (p = p(x), u = u(x), ∂u/∂t = 0) for one
creepage ξ;
• “case 2”: starting from the steady state for creepage ξ, perform a single time step for a
˜ with initial estimate s0 = 0;
slightly perturbed creepage ξ,
• “case 3”: starting from the steady state for creepage ξ, perform a single time step for a
˜ with initial estimate s0 = V sgn(ξ);
slightly perturbed creepage ξ,
The “true” creepage in case 1 is set at ξ = −0.1%. The perturbation in cases 2 and 3 consists
of decreasing the creepage to ξ˜ = −0.09999%.
Figure 6.16 (left) shows the results of this experiment, using grid step size δx = 0.1 mm and
rolling velocity V = 45 m/s. These results show that two different solutions are possible
for exactly the same contact problem. If s is approximated from below (“case 2”), several
elements are moved to the adhesion area. If s is approximated from above (“case 3”), a much
higher slip is found. And if the creepage is not perturbed then a third solution is possible:
the steady state solution that is in between the two extremes.
Note that Figure 6.16 shows the absolute slip sa , in units of km/s, in order to scale the values
to the same range as those of p/G. The largest slip in the steady solution is approximately
−0.13 m/s (−0.3%).
The qualitative behaviour of the numerical results is illustrated further in Figure 6.16 (right).
This concerns the computed traction distribution after calculation of 49 time steps (4.9 mm
rolling distance). In each time step the initial estimate s0 = −V (high slip) is used.
The result for the first time step is already shown in Figure 6.16 (left). In the second time
step the slip velocity drops, most elements are transferred to the adhesion area, and the two
peaks in the traction distribution move one grid space to the left. In the next few steps the
slip velocity and slip area increase gradually and the peaks travel further to the left. After a
while a critical configuration is reached, the slip velocity jumps to a high value, a new peak
is found at the leading edge of the contact area, and the process starts to repeat itself.
The background of these peculiar peaks is analysed in [49]. They are explained by a disconti-
nuity in time of the elastic displacements field. Traction builds up until a certain maximum
is attained, after which the elastic field jumps to a new state in “zero time”. This behaviour
is attributed to the use of a quasi-static approach (ignoring inertia effects) and to the friction
law employed, particularly to the use of the instantaneous slip velocity sa . The peaks can
be suppressed by introducing friction memory with a memory length dc of several µm. The
peaks are thus real as far as the numerical model is concerned, but whether they occur in
reality is still unknown.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 105
Chapter 7
Matlab plot-programs
Several Matlab scripts are provided for visualisation of the output of the CONTACT program:
The scripts are meant for basic inspection tasks only; for more sophisticated and stylish
pictures you can refine our scripts or use Matlab’s command interface.
An additional script is provided for the overall output quantities:
4. The basic data from the output-file <experim>.out (creepages, total forces and over-
all output quantities) can be loaded into Matlab with the scripts parse out1 and
parse out3, for modules 1 and 3 respectively;
No specific programs are provided for further processing and visualization of these overall
results. You can type help parse out3 at the Matlab command prompt for information
about this script, see Section 6.4 for an example of its use.
7.1 Prerequisites
Usage of the plot programs requires a license to the (commercial) Matlab package. As an
alternative you may work with GNU Octave, a free software that is quite similar to Mat-
lab. Another alternative might be Gnuplot, but this requires a larger development effort for
creating new plotting scripts.
The Matlab search path must be adjusted such that our plotting programs can be found.
This is done in Matlab with the addpath command, e.g.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 106
This command may be put in a file “startup.m” in your working directory, in your personal
overall startup-file (“My Documents\MATLAB\startup.m”) or in a system-wide configuration-
file (“<MATLAB>\toolbox\local\pathdef.m”).
You can check whether the path is set correctly by typing help contact_v19.1\matlab.
This should show the following output:
loadcase - load the results for one case for a given experiment name.
diffcase - compute the difference of results for two cases
loadstrs - load the results for a subsurface stress calculation.
diffstrs - compute the difference of results for two cases w.r.t.
subsurface stress calculations.
>> s=loadcase(’mbench_a22_left’,13)
s =
meta: [1x1 struct]
mx: 51
my: 41
xl: -5.1000
yl: -4.3000
dx: 0.2000
dy: 0.2000
chi: 0
dq: 0.2000
x_offset: []
y_offset: []
x: [1x51 double]
y: [1x41 double]
t_digit: 3
mater: [1x1 struct]
fric: [1x1 struct]
veloc: 2000
eldiv: [41x51 double]
h: [41x51 double]
mu: [41x51 double]
pn: [41x51 double]
px: [41x51 double]
py: [41x51 double]
un: [41x51 double]
ux: [41x51 double]
uy: [41x51 double]
srel: [41x51 double]
shft: [41x51 double]
trcbnd: [41x51 double]
With this command the results for the thirteenth case of the Manchester benchmark example
are loaded (Section 6.5). The result is a structure of which the different components can
easily be recognized. The members fric and mater are structs themselves, that contain the
data for the friction law and material parameters respectively.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 108
For wheel/rail contact using module 1, a single case may result in multiple contact patches.
In such cases, mat-files are created for each contact patch separately, with letters ’a’, ’b’,
etc. appended to the case number.
• By default, loadcase will load all the patches and return these in separate structures
s1a, s1b, etc, when called like
This will try to load output for three patches for the first case of experiment mbench -
case 1a. The output structs will be empty if no corresponding mat-file is found.
• It is also possible to retrieve output for a single patch only, by specifying the patch
number:
The second argument “1” is the case number, the third argument “3” indicates the
requested patch number.
Note that colormap ’parula’ was introduced in Matlab version R2014b. In older versions of
Matlab, the colormap ’jet’ is used as the default.
The main option is the field of the solution structure to be plotted. Possible values are (see
“help plot3d”):
• ’eldiv’, ’eldiv spy’, ’eldiv contour’: different ways of presenting the element
division. See Figure 6.10 (right);
• ’pn’, ’px’, ’py’: the normal and tangential tractions acting on body (1), i.e. the rail
in module 1;
• ’un’, ’ux’, ’uy’: the displacement differences in normal and tangential directions;
• in shifts (T ≤ 1):
• in rolling (T ≥ 2):
Option rw surfc governs how the contact surface is plotted: using ’none’ for the typical flat
view, ’prr’ or ’both’ for using rail coordinates, or ’prw’ for using the wheel surface view,
see Figure 6.7 for an example. The latter options require that rail and/or wheel profiles or
filenames are provided, e.g.
exterval The value to be plotted at points of the exterior area. Particularly useful for
plotting fields ’eldiv’, ’h’ and ’ptabs+vec’, using opt.exterval=NaN.
view The view direction, e.g. [30 30] (rotation about z-axis and elevation above the
plane, in degrees). You may use [ 0 90] to get a 2D color plot or ’rail’ for
view [90 -90].
ixrange The selection of the elements [1,mx] in x-direction to be displayed in the plot.
iyrange The selection of the elements [1,my] in y-direction to be displayed in the plot.
vecscale Manual scaling factor for vectors on vector-plots. Length of the vector in mm
that will be used for a stress of 1 N/mm2 ;
veccolor Color specification for vectors on vector plots. Default: ’b’ for field ’ptvec’,
’k’ for ’ptabs+vec’.
addeldiv Add contour lines around adhesion area and contact area, cf. ’eldiv contour’
(only in 2D plots).
eldivcol Set colors of lines around adhesion area and contact area for ’eldiv contour’
and ’addeldiv’. Default: dark blue and dark red.
addplot Typically plot3d clears the figure before creating a new plot. Sometimes it is
convenient to turn this off and add to an existing plot.
colormap This changes the colormap for 3D plots. Special values are ’none’ and ’black’,
which create a black-and-white mesh plot instead of a coloured surface.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 111
>> opt=plot2d
opt =
orie: 2
pxory: ’x’
xslc: 0
yslc: 0
negpn: 1
facpt: 1
xlim: []
ylim: []
plim: []
pn_linestyle: ’--’
pt_linestyle: ’-o’
orie plot columns of the potential contact area (1, x =const) or rows (2, y =const,
default);
xslc x-coordinate(s) for a column-wise plot (orie = 1). Can be an array of values
for plotting multiple slices at once. Note: the grid column(s) closest to xslc
is/are used. Default: 0.0;
facpt multiplication factor for negating px/py: 1 for plotting the tangential trac-
tions themselves, -1 for plotting their negative -px or -py;
VORtech CMCC
Technical Report TR09-03, version “v19.1” 112
xlim x-range for a row-wise plot (orie = 2). Default: [xl-dx, xh+dx];
ylim y-range for a column-wise plot (orie = 1). Default: [yl-dy, yh+dy];
plim vertical range of the plot. The default depends on negpn. For negpn = 1 it
is the range [0,pmax] extended a little on both sides;
The use of this script is illustrated in the Cattaneo and Carter2D examples: Sections 6.1 and
6.2, Figures 6.1 and 6.2.
Two complications are that there can be multiple grids of points in a single subsurface stress
calculation, and that each grid can be three-dimensional. The former is handled by multiple
output-arguments for function loadstrs:
The latter means that the output arrays such as ux, uy, etc. are three-dimensional. These can-
not be plotted directly, you select the appropriate slices by providing indices (e.g. ux(1,1,:))
and restructure the size of the array using the squeeze command.
>> opt=plotstrs
opt =
field: ’uz’
dir: ’y’
xslc: 0
yslc: 0
zslc: 0
addplot: 0
typplot: ’contourf’
cntrlvl: ’auto’
scale: ’linear’
colormap: ’parula’
The quantities that can be plotted are entered in the field option:
• ’ux’, ’uy’, ’uz’: elastic displacements in the upper (z > 0) or lower body (z < 0);
• ’sighyd’ or ’hydro’: the mean hydrostatic stress σhyd , see equation (5.38);
• ’sigvm’ or ’mises’: the von Mises stress σvm (equation (5.40)).
• In case the full stress tensor is exported (A = 2):
– ’sigxx’, ’sigxy’, ’sigxz’, ’sigyy’, ’sigyz’, ’sigzz’: the components σij of
the stress tensor SIGMA at the subsurface points, see equation (5.37);
– ’sigma1’, ’sigma2’, ’sigma3’: the principal stresses σ1 , σ2 , σ3 (page 76);
– ’sigtr’ or ’tresca’: the maximum shear stress σ1 − σ3 of the Tresca criterion
(equation (5.43)).
Note that the subsurface stresses are computed for three-dimensional structured grids, called
“blocks” in the CONTACT input. The corresponding options are:
dir sets the orientation of the 2D slice to be viewed: ’y’ for a slice parallel to the
Oxz-plane (default), ’x’ for a slice parallel to Oyz and ’z’ for a slice with
constant depth z, parallel to the Oxy plane;
VORtech CMCC
Technical Report TR09-03, version “v19.1” 114
typplot make a color plot (’surf’), contour line plot (’contour’) or filled contour plot
(’contourf’);
scale use a linear (’linear’) or logarithmic (’log’) scale for the colors on the plot;
colormap this changes the colormap used, e.g. ’parula’, ’jet’, ’hot’.
A filled contour plot is shown in the subsurface stress example in Figure 6.12 of Section 6.9.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 115
Chapter 8
The computational part of CONTACT can be interfaced with other programs and steered
from there. This works through the so-called CONTACT library as illustrated schematically
in Figure 8.1. The library is a dll (Windows) or so-file (Linux) that provides a well-defined
interface. This interface can be accessed from Matlab as well.
solved independently, using its own internal data and possibly its own previous state. Two
consecutive cases for the same contact problem are governed by the same rules as consecutive
cases in the input file. For instance the grid can be changed between steady state cases but
must stay the same in transient scenarios.
CONTACT’s unit convention The primary unit convention is the same as the one used
throughout this document:
• Body 1 is the upper body, z > 0, and body 2 the lower one, z < 0.
• Stresses and forces are acting on body 1, and relative displacements and velocities are
those of body 1 relative to body 2.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 117
• Lengths are in mm and areas in mm2 . Forces in N and stresses in N/mm2 . Angles are
in rad in the calculations, but may be printed in ◦ for easier interpretation. Time is in
s and velocities are in mm/s.
SI unit convention The main alternative is to use SI units everywhere. This uses the same
choices as CONTACT for identifying the bodies and defining the signs of stresses, velocities,
displacements and velocities.
• Lengths are in m and areas in m2 . Forces in N and stresses in N/m2 . All angles are in
rad. Times are in s and velocities in m/s.
SIMPACK’s unit convention The SIMPACK program uses SI units but uses a different
way of designating the two bodies.
• Body 1 is the rail body, and body 2 is the wheel. These are respectively the upper and
lower bodies, with the positive z-axis pointing into the rail.
• Stresses and forces are acting on body 2, the wheel. Relative displacements and veloc-
ities are those of the rail compared to the wheel.
The unit convention is changed using subroutine cntc setflags by setting flag CNTC if -
units to the appropriate value. This is typically done at the start of the calculation, for all
contact problems/result elements that are used.
Wheel and rail profiles must be given in mm regardless of the unit convention that’s used.
More information for C programmers is provided in the file contact addon.h. For Fortran
programmers the interfaces are specified in contact addon.ifc.
8.3.1 Preparations
cntc_initlibrary - load library into matlab (Matlab)
cntc_initializefirst - open out-file, initialize data-structures
cntc_initialize - further initializations per result element
cntc_setfileunits - configure logical file units (Fortran)
cntc_setglobalflags - configuration of general settings
cntc initlibrary The first step in Matlab is to load the library, which is done with cntc -
initlibrary. This returns a struct CNTC with so-called “magic numbers” that are used in
the interface.
cntc initializefirst When using the library from Fortran/C, it is needed to properly ini-
tialize its data-structures, license, file I/O etc. This is done by subroutine cntc initialize-
first. This routine will be called by cntc initialize if it isn’t called explicitly. In Matlab,
this routine is called by cntc initlibrary.
cntc initialize Additional initializations per result element are done by subroutine cntc -
initialize, for instance setting the module that’s used. The routine invokes the over-
all initalizations of cntc initializefirst in the very first call, if needed. The call to
cntc initialize will be made automatically when needed by other routines of the inter-
face. However, in that case the error code and some configuration options are lost.
cntc setfileunits CONTACT is programmed in Fortran, such that it uses “logical file units”
for file I/O. By default CONTACT uses logical units in the range 11–20. If the encompassing
program is programmed in Fortran too this may lead to clashes in the logical units used. In
that case the unit numbers usable may be configured using cntc setfileunits. This is not
needed when using the library from Matlab or C.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 119
Subroutine cntc setfileunits may be called only once and may only be called before
cntc initializefirst. This is because cntc initializefirst may open files after which
the logical unit numbers cannot be changed anymore.
2. the calculations per contact problem may use parallel computation as well – using
internal parallelization in CONTACT.
The first type requires that the user’s (Fortran/C) program is adapted and parallelized, using
OpenMP or explicit threading. A few restrictions should be kept in mind:
• The initializations, setting of global flags and finalizations may not be called from par-
allel regions.
• Different threads should never work on the same contact problem (ire, icp) at the
same time.
The maximum number of threads that can be used simultaneously may be restricted by the
license that’s used. This can be inquired using
The second type, internal parallelization, is governed by the flag CNTC if openmp. The param-
eter value provided is the number of threads to use per contact problem. This can be set to −1
to request as many threads as possible, as instructed by the environment OMP NUM THREADS
and the available cpu cores in the machine.
Internal parallelization doesn’t gain much speedup in CONTACT unless certain conditions
are met. It is disabled by default, setting the number of threads per contact problem to 1 in
cntc initializefirst. This strategy is also disabled when multi-threading of the first type
is detected.
cntc setflags Subroutine cntc setflags allows for the detailed configuration of the con-
tact problem, such as the unit convention used and the setting of control digits. Configuration
VORtech CMCC
Technical Report TR09-03, version “v19.1” 121
flags have been given “magic numbers” that are obtained from cntc initlibrary (Matlab)
or caddon flags.inc (Fortran/C). For instance CONTACT’s O-digit is configured using flag
1984, which is the value of parameter CNTC ic output (Fortran/C) or CNTC.ic output (Mat-
lab):
When using just a single contact problem (ire = icp = 1), this may be abbreviated as:
A distinction is made between flags that can be set independently per contact problem versus
flags that are the same for all contact problems. The latter ones are configured through
cntc setglobalflags (paragraph 8.3.1). Subroutine cntc setflags will call cntc setglo-
balflags for these flags when necessary.
cntc setmetadata The meta-data provided here are for output-purposes only, i.e. they
don’t affect the calculation. The data provided here are stored in the mat-file for use during
postprocessing.
cntc setsolverflags This subroutine configures the control digit G for the iterative solvers,
together with the corresponding input parameters as described in Section 5.6. Additionally,
this routine allows configuration of the accuracy with which sensitivities are computed.
cntc setinterfaciallayer This subroutine configures the slope reduction parameters of the
modified Fastsim algorithm (M = 2 or 3, Section 5.1.3) and the interfacial layer of M = 4
(Section 5.1.4). This routine can further be used to switch back to M = 0.
cntc settangentialforces The total tangential forces FX and FY may be specified instead
of the creepages CKSI and CETA. This requires that the F-digit is set to 1 or 2 using cntc set-
flags. The force values entered here are the total forces divided by the static maximum
FSTAT · FN.
If a rail or wheel profile could not be found or could not be processed correctly, the error code
-32 will be issued (CNTC err profil of caddon flags.inc).
For the configuration of the track geometry consult Section 4.2, for the wheelset geometry
refer to Section 4.3.
After the preparations are complete, the actual calculation is started by calling cntc calcu-
late. This will solve the contact problem (module 3) or contact problems (module 1) and
store the results in CONTACT’s internal memory. Outputs may be written to the out-file
and one or more mat-files will be created if so configured in the control digits.
cntc getglobalforces This routine returns the total forces and moments in overall horizon-
tal/vertical coordinate directions. The first six values are defined with respect to the track
system, the latter six with respect to wheelset coordinates. The total forces can be retrieved
for each contact patch separately (icp > 0), acting at the contact reference location. The
forces can also be summed over the contact patches (icp = −1). The location of the total
forces is indefinite in this case, and zero moments will be returned. The forces are defined on
the output-body, by which the sign depends on the unit convention used (Section 8.2).
cntc getcontactlocation This routine provides the location of the contact reference point
of a contact patch icp in terms of the different coordinate systems. Up to 14 output values can
be provided, if permitted by the length of the array provided (1–4: [xyz]cp tr, deltcp tr, 5–
9: [xyzs]cp r, deltcp r, 10–14: [xyzs]cp w, deltcp w), see page 47 for further information.
cntc getpotcontact The potential contact area is set automatically by CONTACT in mod-
ule 1 or when using a Hertzian option. The parameters may then be retrieved according to
the format of ipotcn = 3 (Section 5.3), using mx, my, xc1, yc1, dx and dy. The coordinates
of the element centers are then easily formed as
cntc getcontactforces This routine delivers the total forces and moments on a single con-
tact patch icp > 0. The forces and moments are defined along the contact local normal and
tangential directions. For a left wheel/rail pair, the values are provided with reversed signs
as if the mirrored right wheel/rail combination has been computed (Section 4.6). The signs
further depend on the unit convention selected (Section 8.2), acting on the output-body.
The forces and moments are aggregated at the contact reference position of the patch. Note
that the tangential forces provided are the true forces (N ) instead of the relative values to
the static maximum value.
cntc getcreepages The values of CKSI, CETA, CPHI are returned. In rolling problems these
are the creepages (Section 5.5.2), in shifts (T = 1) they are shift distances (Section 5.5.1).
CKSI and CETA are computed by the program when using F = 1 or 2. CPHI is the value that
was input before.
When computing a left wheel/rail pair in module 1, the values are provided with signs reversed
as if the mirrored right wheel/rail combination has been computed (Section 4.6).
cntc getcontactpatchareas The area of contact, adhesion and slip areas is computed by
counting the number or elements in each state and multiplying by δx · δy.
cntc
p 2 getmaximumtraction This subroutine determines the maximum tangential traction
2
px + py over all elements of the contact area.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 125
cntc getsensitivities Sensitivities are computed when the S2-digit “SENS” is set to 2 or
3. This uses small perturbations of the “input variables”, i.e. the approach δ and creepages
ξ, η, φ. The resulting equations are solved with maximally mxsens iterations up to a relative
tolerance epsens. Then the sensitivities of the “outputs” (Fn , Fx , Fy , Mz ) are computed using
a finite difference approach. This results in a sensitivity matrix sens of nout rows with nin
columns. In Fortran/C this is presented as a 1D array where the columns are presented
consecutively.
These subroutines provide access to the detailed results for all elements of the contact area.
In the interface for Fortran/C the values are provided as one-dimensional arrays of npot=mx*my
elements. For instance the displacement differences US are provided in three arrays un(npot),
ux(npot) and uy(npot).
In the Matlab-interface, these arrays are reshaped to two-dimensional arrays of size (my,mx).
The value for the discretization element at column ix in grid row iy is thus obtained as
un(iy,ix). The whole array is easily plotted in Matlab using
This uses xcornr and ycornr as obtained with cntc getpotcontact (Section 8.3.7).
cntc getelementdivision Provides array IGS. For each element a code 0, 1 or 2 is provided,
indicating that the element is in the exterior, adhesion or slip area respectively.
cntc gettractions Provides array PS, via its columns PN, PX and PY. Tractions are defined
on the output-body as per the unit convention used (Section 8.2).
cntc getmicroslip Provides array S, via its columns SX and SY. The micro-slip is defined
as the relative velocity (T = 1: shift distance) of the output-body relative to the other body.
cntc getdisplacements Provides array US, via its columns UN, UX and UY. The displacement
differences are defined as the elastic displacements for the output-body minus that of the other
body.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 126
8.3.9 Finalization
Finally three subroutines are provided for cleaning up after a calculation. Especially cntc -
closelibrary cleans up all data-structures, closes open files and unloads the library from
memory.
subs addblock Each contact problem (result element) can hold up to 10 blocks, numbered
consecutively from 1 to nblk. These must be added in increasing order: 1, 2, . . .. Existing
blocks are discarded when re-using a block number iblk ≤ nblk. That is, defining “block 1”
anew will clear the whole list and set new values for iblk = 1. Likewise, defining “block 3”
anew will keep the existing blocks 1–2 and discard all blocks thereafter.
In module 1, blocks may be defined for each contact patch separately (icp > 0), or for the
wheel/rail contact problem as a whole (icp = −1). The two methods may be combined, with
blocks defined for some contact patches (e.g. icp = 2) and for the wheel/rail problem as a
whole. The latter option then serves as a fall-back for contact patches where no specific block
data are given.
Blocks are defined via ISUBS = 1–9 as described in Section 5.9.2. The xyz-coordinates given
are interpreted as xsn-coordinates, using the contact local reference system.
subs calculate A separate calculation routine is provided to activate the subsurface stress
calculation. This routine requires that cntc calculate has been used first, to solve the
contact problem.
• An “off-line” way of working is to solve the surface problem first (cntc calculate),
then define (addblock) and compute the blocks (subs calculate) on the basis of the
surface results, or even re-define (iterate) the subsurface problem, for instance to zoom
in on a region where the largest values are found.
subs getblocksize Linked to the size of the potential contact area, the size of the blocks
may be unknown in advance. This size can then be inquired with subs getblocksize, to get
the proper array-size for the subsurface results.
subs getresults For each block of points, a table is computed with all the relevant output
variables. The relevant columns of this table may be retrieved using subs getresults. The
columns are defined as follows:
• columns 7–9: hydrostatic, von Mises and Tresca-stresses σhyd , σvm , σtr ;
The cases are computed in the same order as in the input-file tractcurv.inp, and are even
independent of each other. Therefore it suffices to use just one “contact problem” icp=1 on
one “result element” iwhe=1. It would be equally valid to use two “contact problems” for
the cases with/without interfacial layer, on the same result element or using different result
elements.
The main body of the script just loops over all the creep combinations to be computed.
Storing the results in an array fx list, these can be plotted directly against the inputs cksi.
The results are the same as shown in Figure 6.4.
Bibliography
[1] R.H. Bentall and K.L. Johnson. Slip in the rolling contact of two dissimilar elastic rollers.
Int.J. of Mechanical Sciences, 9:380–404, 1967.
[2] J. Blanco-Lorenzo, J. Santamaria, E.G. Vadillo, and N. Correa. On the influence of
conformity on wheel-rail rolling contact mechanics. Tribology International, 103:647–
667, 2016.
[3] J. Boussinesq. Application des Potentiels à l’Étude de l’Équilibre et du Movement des
Solides Élastiques. Gauthier-Villars, Paris, 1885.
[4] A.F. Bower. Applied Mechanics of Solids. CRC Press, Taylor and Francis Group, Boca
Raton, 2010. See www.solidmechanics.org.
[5] R.R. Craig Jr. and A.J. Kurdila. Fundamentals of structural dynamics, 2nd edition. John
Wiley & Sons, Hoboken, New Jersey, 2006.
[6] B.E. Croft, E.A.H. Vollebregt, and D.J. Thompson. An investigation of velocity-
dependent friction in wheel-rail rolling contact. In M. Uchida, T. Maeda, and K. Goto,
editors, Proceedings of the 10th International Workshop on Railway Noise, Nagahama,
Japan, 2010.
[7] B. Engel, H.P. Beck, and J. Alders. Verschleißreduzierende Rad-schlupfregelung mit
hoher Kraftschlussausnutzung. Elektrische Bahnen, 96:201–209, 1998.
[8] R.C. Hibbeler. Engineering Mechanics - Statics and Dynamics, 13th Edition. Pearson
Prentice Hall, Upper Saddle River, New Jersey, 2012.
[9] K. Hou, J. Kalousek, and E. Magel. Rheological model of solid layer in rolling contact.
Wear, 211:134–140, 1997.
[10] K.L. Johnson. Contact Mechanics. Cambridge University Press, Cambridge (UK), 1985.
[11] J.J. Kalker. On the rolling contact of two elastic bodies in the presence of dry friction.
PhD thesis, Delft University of Technology, 1967.
[12] J.J. Kalker. Simplified theory of rolling contact. Delft Progress Report Series C1, 1:1–10,
1973.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 130
[13] J.J. Kalker. The computation of three-dimensional rolling contact with dry friction. Int.
Journ. for Numerical Methods in Engineering, 14:1293–1307, 1979.
[14] J.J. Kalker. A fast algorithm for the simplified theory of rolling contact. Vehicle System
Dynamics, 11:1–13, 1982.
[15] J.J. Kalker. Numerical calculation of the elastic field in a half-space. Comm. of
Appl.Num.Meth., 2:401–410, 1986. Reprinted as Appendix C in [16].
[16] J.J. Kalker. Three-Dimensional Elastic Bodies in Rolling Contact, volume 2 of Solid
Mechanics and its Applications. Kluwer Academic Publishers, Dordrecht, Netherlands,
1990.
[17] J.J. Kalker. Book of tables for the Hertzian creep-force law. In I. Zobory, editor, Proceed-
ings of the 2nd Mini Conference on Contact mechanics and Wear of Wheel/Rail systems,
pages 11–20, Budapest, Hungary, 1996.
[18] J.J. Kalker. Rolling contact phenomena - linear elasticity. In B. Jacobson and J.J. Kalker,
editors, Rolling Contact Phenomena, volume 411 of CISM Courses and Lectures, pages
1–85. Springer-Verlag, Wien New York, 2000.
[19] J.J. Kalker, F.M. Dekking, and E.A.H. Vollebregt. Simulation of rough, elastic contacts.
Journal of Applied Mechanics, 64(2):361–368, 1997.
[20] Zili Li. Wheel-rail rolling contact and its application to wear simulation. PhD thesis,
Delft University of Technology, 2002.
[21] A.E.H. Love. Stress produced in a semi-infinite solid by pressure on part of the boundary.
Philosophical Transactions of the Royal Society of London, A228:377–420, 1929.
[22] M. Malvezzi, E. Meli, S. Falomi, and A. Rindi. Determination of wheel-rail contact points
with semi-analytic methods. Multibody System Dynamics, 20:327–358, 2008.
[23] R. Munisamy, D.A. Hills, and D. Nowell. Brief note on the tractive rolling of dissimilar
elastic cylinders. Int. Journ. of Mechanical Sciences, 33(3):225–228, 1991.
[24] P.M. Naghdi. P.M. Naghdi’s Notes on Continuum Mechanics. University of California,
Department of Mechanical Engineering, Berkeley, 2001.
[25] J. Piotrowski, B.B. Liu, and S. Bruni. The Kalker book of tables for non-Hertzian
contact of wheel and rail. Vehicle System Dynamics, 55:875–901, 2017. DOI:
10.1080/00423114.2017.1291980.
[26] O. Polach. Creep forces in simulations of traction vehicles running on adhesion limit.
Wear, 258:992–1000, 2005.
[27] V.L. Popov. Contact Mechanics and Friction. Physical Principles and Applications.
Springer-Verlag, Berlin, 2010.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 131
[29] A.A. Shabana. Dynamics of Multibody Systems – Fourth Edition. Cambridge University
Press, New York, 2013.
[30] A.A. Shabana, K.E. Zaazaa, and H. Sugiyama. Railroad Vehicle Dynamics: A Compu-
tational Approach. CRC Press, Boca Raton, 2008.
[31] P. Shackleton and S.D. Iwnicki. Wheel-rail contact benchmark, version 3.0. Rail Tech-
nology Unit, Manchester Metropolitan University, 2006.
[32] P. Shackleton and S.D. Iwnicki. Comparison of wheel-rail contact codes for railway
vehicle simulation: an introduction to the Manchester Contact Benchmark and initial
results. Vehicle System Dynamics, 46(1-2):129–149, 2008.
[33] D.A. Spence. The Hertz problem with finite friction. Journal of Elasticity, 5:297–319,
1975.
[34] M. Spiryagin, O. Polach, and C. Cole. Creep force modelling for rail traction vehicles
based on the Fastsim algorithm. Vehicle System Dynamics, 51:1765–1783, 2013.
[35] A.S.K.S. Tjoeng and J.J. Kalker. User’s manual for the program DUVOROL in Algol
60 & Fortran for the computation of three-dimensional rolling contact with dry friction.
Technical report, Delft University of Technology, Delft, June 1980.
[36] E.A.H. Vollebregt. A Gauss-Seidel type solver for special convex programs, with ap-
plication to frictional contact mechanics. J. of Optimization Theory and Applications,
87(1):47–67, 1995.
[37] E.A.H. Vollebregt. Refinement of Kalker’s rolling contact model. In A. Bracciali, edi-
tor, Proceedings of the 8th International Conference on Contact Mechanics and Wear of
Rail/Wheel Systems, pages 149–156, Firenze, Italy, 2009.
[38] E.A.H. Vollebregt. User guide for CONTACT, J.J. Kalker’s variational contact model.
Technical Report TR09-03, v9.1, VORtech, 2009.
[39] E.A.H. Vollebregt. Improving the speed and accuracy of the frictional rolling contact
model “CONTACT”. In B.H.V. Topping, J.M. Adam, F.J. Pallarés, R. Bru, and M.L.
Romero, editors, Proceedings of the 10th International Conference on Computational
Structures Technology, Stirlingshire, United Kingdom, 2010. Civil-Comp Press.
[40] E.A.H. Vollebregt. The Bound-Constrained Conjugate Gradients method for non-
negative matrices. J. of Optimization Theory and Applications, 162(3):931–953, 2014.
DOI: 10.1007/s10957-013-0499-x.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 132
[41] E.A.H. Vollebregt. A new solver for the elastic normal contact problem using conjugate
gradients, deflation, and an FFT-based preconditioner. J. of Computational Physics,
257, Part A:333–351, 2014.
[42] E.A.H. Vollebregt. Numerical modeling of measured railway creep versus creep-force
curves with CONTACT. Wear, 314:87–95, 2014.
[43] E.A.H. Vollebregt. New insights in non-steady rolling contact. In M. Rosenberger, editor,
Proceedings of the 24th International Symposium on Dynamics of Vehicles on Roads and
Tracks, Graz, Austria, 2015. IAVSD.
[45] E.A.H. Vollebregt. Comments on “the Kalker book of tables for non-Hertzian contact of
wheel and rail”. Vehicle System Dynamics, 2018. DOI: 10.1080/00423114.2017.1421767.
[46] E.A.H. Vollebregt. Conformal contact: Corrections and new results. Vehicle System
Dynamics, 56(10):1622–1632, 2018. DOI: 10.1080/00423114.2018.1424917.
[47] E.A.H. Vollebregt, S.D. Iwnicki, G. Xie, and P. Shackleton. Assessing the accuracy
of different simplified frictional rolling contact algorithms. Vehicle System Dynamics,
50(1):1–17, 2012. DOI: 10.1080/00423114.2011.552618.
[48] E.A.H. Vollebregt, J.J. Kalker, and G.Q. Wang. CONTACT’93 users manual. Technical
report, Delft University of Technology, 1993.
[49] E.A.H. Vollebregt and H.M. Schuttelaars. Quasi-static analysis of 2-dimensional rolling
contact with slip-velocity dependent friction. J. of Sound and Vibration, 331(9):2141–
2155, 2012. DOI: 10.1016/j.jsv.2012.01.011.
[50] E.A.H. Vollebregt and A. Segal. Solving conformal wheel-rail rolling contact problems.
Vehicle System Dynamics, 52(suppl. 1):455–468, 2014.
[52] E.A.H. Vollebregt and P. Wilders. FASTSIM2: a second order accurate frictional rolling
contact algorithm. Comput.Mech., 47(1):105–116, 2010. DOI: 10.1007/s00466-010-0536-
7.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 133
[53] G. Wang and J.J. Kalker. Three-dimensional rolling contact of two viscoelastic bodies. In
A. Curnier, editor, Contact Mechanics. Proceedings; International Symposium, October
7 - 9, 1992, Ecole Polytechnique Fédérale de Lausanne, pages 477–490, Lausanne, 1992.
Presses Polytechniques et Universitaires Romandes.
[54] G. Wang and K. Knothe. Stress analysis for rolling contact between two viscoelastic
cylinders. Journal of Applied Mechanics; Transactions ASME, 60:310–317, 1993.
[55] C.D. van der Wekken and E.A.H. Vollebregt. Numerical calculation of the elastic field
in a half-space using bilinear elements. Mathematics and Mechanics of Solids, 2019.
submitted.
[56] C.D. van der Wekken, E.A.H. Vollebregt, and C. Vuik. Occurrence and removal of wiggles
in transient rolling contact simulation. In J. Ambrósio, W. Schielen, and J. Pombo, edi-
tors, Proceedings of EuroMech colloquim 578 on Rolling Contact Mechanics for Multibody
System Dynamics, pages 1–11, Lisbon, Portugal, 2017. IDMEC.
[57] K. Willner. Fully coupled frictional contact using elastic halfspace theory. ASME Journal
of Tribology, 130:031405–1/8, 2008.
[58] J. Zhao, E.A.H. Vollebregt, and C.W. Oosterlee. A fast nonlinear conjugate gradient
based method for 3D concentrated frictional contact problems. J. of Computational
Physics, 288:86–100, 2015.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 134
Appendix A
<experim>.inp : input file for surface tractions (A.2) and also for calculation of subsurface
stresses (A.3);
<experim>.out : output file;
<experim>.<ncase>.mat : tractions file, for communication with Matlab (A.4);
<experim>.<ncase>.subs : subsurface stresses file, for communication with Matlab (A.5).
• modifying control digits can imply that other variables will be read or not. T=1 (shift)
has no extra input, T=3 (rolling) requires CHI, DQ and VELOC.
General rules for the input file and its specification are as follows:
• string values (filenames) are enclosed in single quotes and may not contain quotes in
the string: ’My Documents\CONTACT\examples’;
• comments are indicated by a percent sign “%”. They can start anywhere in a line and
end at the end-of-line;
• there can be any number of blanks between the variables, as long as they fit on the line.
• all empty lines and lines containing comments only are skipped;
• for a group of variables, such as “CHI DQ VELOC”, the values must be presented in the
same order as in the specification, separated by comma’s and/or blanks;
• groups of values and arrays of values (e.g. “B(k)”) may be entered using multiple lines;
• when a group or array of values is read, all remaining text on the final input-line is
ignored . This may be used to add comments without the %-sign;
• if you change the meaning of the input (e.g. IPOTCN = −1 → IPOTCN = −3), you should
adjust the comments as well (MX,MY,A1,B1,SCALE → MX,MY,AA,BB,SCALE), in order
not to confuse yourself.
• This also applies for the N-digit (PEN or FN for N = 0 or 1) and the F-digit (CKSI, CETA
for F = 0, FX, CETA for F = 1 or FX, FY for F = 2): make sure that the comment stays
up to date.
• some blocks are optional. They are enclosed in []. They are preceded by a condition
in the specification;
• some blocks can be repeated. They are enclosed in [] and are preceded by a stop-
condition.
Globally, the file consists of a series of module calls with their input. Module 0 (STOP) has
no input. The input of the other modules are subdivided in a number of cases. We confine
ourselves to the input for one case of wheel/rail contact using module 1 and one case of basic
contact with module 3.
if INFLCF>=2:
if INFLCF=4: [ IF METH VARIANT ]
POISS 1, 2 GG 1, 2
if MATER =4: [ GG3 LAYTHK TAUCRT GGPLST ]
if Z=1,3,4:
if CONFIG=0,1: [ GAUGWD GAUGHT CANT ]
if CONFIG=2,3: [ GAUGWD GAUGHT NOMRADR ]
if Z=3,4: [ ’RFNAME1’ MIRRORY1 ]
VORtech CMCC
Technical Report TR09-03, version “v19.1” 137
if CONFIG=0,1:
if E>=1, N=0: [ S WS Y WS Z WS ROLL YAW PITCH ]
if E>=1, N=1: [ S WS Y WS FZ ROLL YAW PITCH ]
if E>=2, F=0: [ VS WS VY WS VZ WS VROLL VYAW VPITCH ]
if CONFIG=2,3:
if E>=1, N=0: [ X WS Y WS Z WS ROLL YAW PITCH ]
if E>=1, N=1: [ X WS Y WS FZ ROLL YAW PITCH ]
if E>=2, F=0: [ RPITCH VY WS VZ WS VROLL VYAW VPITCH ]
This input is illustrated in the mbench a22 left example in the examples directory.
if C>=2:
if T>1: [ CHI DQ VELOC ]
if C=4: [ IF METH VARIANT NN
Y(I), ALPHA(I), I=1,NN ]
if C=9: [ ’CFNAME’ ]
POISS 1, 2 GG 1, 2
if M=1: [ FG 1, 2 VT 1, 2 ]
if M=2: [ FLX K0 MF ALFAMF BETAMF ]
VORtech CMCC
Technical Report TR09-03, version “v19.1” 139
if D=2: IPOTCN
if IPOTCN=-1: [ MX MY A1 B1 SCALE ]
if IPOTCN=-2: [ MX MY A1 AOB SCALE ]
if IPOTCN=-3: [ MX MY AA BB SCALE ]
if IPOTCN=-4: [ MX MY A1 BB SCALE ]
if IPOTCN=-5: [ MX MY AA BB SCALE ]
if IPOTCN=-6: [ MX MY AA BNEG BPOS SCALE ]
if IPOTCN= 1: [ MX MY XL YL DX DY ]
if IPOTCN= 2: [ MX MY XL YL XH YH ]
if IPOTCN= 3: [ MX MY XC1 YC1 DX DY ]
if IPOTCN= 4: [ MX MY XC1 YC1 XCM YCM ]
This input is illustrated further in the file template.inp in the examples directory.
VORtech CMCC
Technical Report TR09-03, version “v19.1” 140
Next follow one or more blocks of NX · NY · NZ points. The presence of more blocks is signalled
by the integer digit ISUBS. In a way this is comparable to the MODULE number: calculations
continue until ISUBS = 0. The input of one block consists of the following lines (see section
5.9.2):
if S=3: [
ISUBS
if ISUBS=1 or 5: no input for IX,IY - all elements selected
if ISUBS=2 or 6: [ IXL IXINC IXH
IYL IYINC IYH ]
if ISUBS=3 or 7: [ NX NY
IX(i), i=1,..,NX
IY(j), j=1,..,NY ]
if ISUBS=1,2,3: [ NZ ZL DZ ]
if ISUBS=5,6,7: [ NZ
Z(iz), iz=1,..,NZ ]
if ISUBS=9: [ NX NY NZ
X(i), i=1,..,NX
Y(j), j=1,..,NY
Z(k), k=1,..,NZ ]
if ISUBS=0: last block complete, no more input
]
are needed for the pictures. Matlab knows only matrices so that the file must consist of lines
that all have an equal number of columns (11):
Note: in the computation of shifts (T = 1) instead of rolling (T ≥ 2), the shift distance Shft
is stored instead of Srel.
Refer to Sections 5.8 and 5.9 for the description of these output quantities.