Alain Le Bot - Portrait

Tribology and System Dynamics Laboratory - CNRS

Ecole Centrale de Lyon

36, avenue Guy de Collongue, 69134 Ecully, FRANCE

Phone: +33 4 72 18 62 75

Email: alain.le-bot@ec-lyon.fr

ra3D - Numerical Simulation Tool for Contact Mechanics

Getting Started

ra3D is a highly optimized numerical simulation software for contact mechanics. It performs calculations faster than standard finite element codes. The reference situation involves two solids sliding against each other in a horizontal plane at a given velocity V.

1.1 Purpose of the Code

The ra3D code models a reference situation where two solids slide against each other in a horizontal plane at a given velocity V:

  • Slider: The upper solid, which is mobile and subjected to gravity.
  • Track: The lower solid, which is fixed and has a rough upper surface.

As the slider moves, the contact forces tend to push it upward, while gravity opposes this effect. The slider can either follow the track profile (contact phases) or experience loss of contact (flight phases). Both solids are elastic, and the impacts between them induce elastic deformations of the track and the slider.

The ra3D code calculates:

  • The trajectory of the slider.
  • The contact forces.
  • The deformation state of the slider and track at any time.

1.2 Code Overview

The ra3D code consists of two main programs located in the ra3d/bin directory:

  • Solver (ra3d): A program written in C. It is executed with the command:
    ra3d data.txt
    where data.txt is the data file containing the mechanical properties of the solids, kinematic conditions, and a few parameters for the numerical schemes. This file also includes the names of two roughness profile files: up.pro and down.pro.
    The solver generates a results file, data.ra3, containing all deformations, velocities, and forces at each node of the roughness profiles.
    The content of this file is configurable using the --out option of the ra3d command. Type:
    ra3d --help
    to see the available options.
  • Post-processor (mra3d): A MATLAB script (mra3d.m) for visualizing the results. To use it, type mra3d in a MATLAB command window, then open a results file (data.ra3).
    Features of the post-processor include:
    • Displaying the two rough surfaces (up.pro and down.pro).
    • Visualizing the motion of both solids and their deformations.
    • Plotting vibrations at a node.
    • Listening to the sound resulting from these vibrations (friction noise).

1.3 Installation

To install the ra3D code:

  1. Unzip the ra3d-version.tar.gz file using the command:
    tar -xvf ra3d-version.tar.gz
  2. Navigate to the ra3d-version directory:
    cd ra3d-version
  3. Follow the instructions in the README file to complete the installation.

1.4 Example

A complete example is provided with the code, including:

  • A data file: data.txt.
  • Two roughness profile files: up.pro and down.pro.
  • A script to run the solver and visualize the results.

Physical Principles

The ra3D code is based on advanced physical models to describe the dynamic interactions between two solids in contact. This section presents the hypotheses, equations, and boundary conditions used.

2.1 Hypotheses

The main hypotheses of the model are:

  • Both solids (slider and track) are elastic and deformable.
  • Contact is maintained by gravity acting vertically.
  • The upper surface of the track is rough, as is the lower surface of the slider.
  • The slider moves at a constant velocity V in the horizontal plane.
  • Contact forces tend to push the slider upwards, while gravity opposes this effect.

2.2 Notations

Here are the main notations used in the code:

Symbol Unit Description
t s Time
x, y m Abscissa and ordinate of the position
V m/s Horizontal sliding velocity
Li m Length of plate i
Bi m Width of plate i
Hi m Thickness of plate i
mi kg/m2 Surface mass of plate i
Dx,i, Dy,i N.m Bending stiffness in x and y directions of plate i
Kz N/m Suspension stiffness in the z direction
Cz N.s/m Damping in suspension in the z direction

2.3 Problem Statement

The physical problem involves solving the equations of motion for two solids in contact, taking into account:

  • Contact forces between the two solids.
  • External forces (gravity, tension, etc.).
  • Elastic deformations of both solids.

2.4 Orthotropic Plate under Tension and on Elastic Foundation

The model accounts for orthotropic plates, i.e., plates whose mechanical properties vary in the x and y directions. An elastic foundation can also be modeled to simulate a flexible support.

2.5 Initial Conditions

Initial conditions include:

  • Initial position of the slider.
  • Initial velocities of both solids.
  • Initial deformations (if applicable).

2.6 Boundary Conditions

Boundary conditions can include:

  • Free, fixed, or clamped edges.
  • Periodicity conditions.
  • Symmetry conditions.

2.7 Contact Conditions

Contact conditions are modeled using a penalty scheme or a force-based approach. Contact can be modeled as frictionless or with friction, depending on the defined parameters.

2.8 Natural Modes

The natural modes of the plates are calculated to enable modal projection of the equations of motion. This allows the problem's complexity to be reduced by using a modal basis.

2.9 Energy Balance

An energy balance is performed to verify the conservation of the system's total energy (kinetic energy + potential energy + dissipated energy).

Numerical Schemes

The ra3D code uses advanced numerical schemes to solve the differential equations of motion. This section describes the discretization methods and time integration schemes used.

3.1 Notations

Here are the notations used for numerical schemes:

Symbol Description
i Solid index
n Time step index
p, q Node indices
k Mode index
Δt Time step
Δxi, Δyi Spatial steps in x and y
hi,p,q Altitude of profile i at node p, q
ui,p,q Deformation of plate i at the current time
vi,p,q Velocity of plate i at the current time
fi,p,q Contact pressure at the current time

3.2 Space and Time Discretization

Time is discretized with a constant step Δt. The time window [0, T] is subdivided into intervals of equal duration Δt:

tn = n * Δt,    n = 0, ..., Nt - 1

where Nt = floor(T / Δt) is the number of time steps.

The surface of solid i is discretized with a constant spatial step, possibly different in the x and y directions. These steps are denoted Δxi and Δyi. This results in a grid of each surface divided into rectangles, whose vertices form the nodes of the mesh.

For each solid, only part of its surface is meshed: the window. This corresponds to the portion of the surface likely to come into contact with the opposing solid. This window is a rectangle defined by:

wi,0 ≤ x ≤ wi,2,    wi,1 ≤ y ≤ wi,3

Inside this window, the abscissae and ordinates of the nodes are discretized:

xp = p * Δxi + wi,0,    p = 0, ..., Nx,i - 1
yq = q * Δyi + wi,1,    q = 0, ..., Ny,i - 1

3.3 Time Integration Schemes

A time integration scheme approximates the solution of the differential equations at times tn. The approximation of Ui,k(tn) is denoted Uni,k, that of Vi,k(tn) is denoted Vni,k, and that of Fi,k(tn) is denoted Fni,k.

The equation of motion is discretized as:

d/dt [Ui,k] = Vi,k
d/dt [Vi,k] = -ωi,k2 * Ui,k - 2 * ζi,k * ωi,k * Vi,k + Qi,k

where Qi,k is the total modal force per unit mass, ωi,k is the angular frequency of mode k, and ζi,k is the modal damping coefficient.

3.4 Contact Scheme

The contact scheme used in ra3D is based on a penalty approach or an augmented Lagrangian method to model the contact forces between the two solids. Contact forces are calculated based on the penetration between the nodes of the two surfaces.

3.5 Modal Projection

Modal projection reduces the problem size by using a basis of natural modes. The equations of motion are projected onto this basis, allowing a reduced system to be solved instead of the full system.

File Formats

The ra3D code uses three types of ASCII files:

  • Data File (.txt): Contains all the parameters needed for a simulation.
  • Profile Files (.pro): Define the roughness profiles of the surfaces.
  • Results File (.ra3): Contains the simulation results (deformations, velocities, forces).

4.1 Data File

The data file (e.g., data.txt) contains all the parameters required for an ra3D simulation. It starts with one or more comment lines (preceded by the # symbol), indicating, for example, the title, author, and date.

The general structure of the file is as follows:

# Comment line (e.g., title, author, date)

<KEYWORD1>
FIELD1=value1 FIELD2=value2 ...
</KEYWORD1>

<KEYWORD2>
FIELD1=value1 FIELD2=value2 ...
</KEYWORD2>

Sections can appear in any order and are separated by a blank line or a simple line break. Fields and their values are separated by the = sign in the form FIELD=value, where value can be a number or a word.

Four sections must be present in the data file:

  • UPSOLID: Properties of the upper solid (slider).
  • DOWNSOLID: Properties of the lower solid (track).
  • CONTACT: Contact parameters.
  • SIMULATION: Simulation parameters.

UPSOLID and DOWNSOLID Sections

These sections describe the material properties and dimensions of the upper and lower solids. Here is the list of available fields:

Field Description Default Value
DENSITY Material density (kg/m³) -
YOUNG Young's modulus of the material (Pa) -
POISSON Poisson's ratio -
THICKNESS Thickness of the solid (m) -
WIDTH Width of the solid (m) -
LENGTH Length of the solid (m) -
X-BENDING_STIFFNESS Bending stiffness in the longitudinal direction (N/m) E * h³ / 12 / (1 - ν²)
Y-BENDING_STIFFNESS Bending stiffness in the lateral direction (N/m) E * h³ / 12 / (1 - ν²)
FOUNDATION Stiffness per unit area of the spring bed (N/m³) 0
TENSION Pre-stress tension (N/m) 0
DAMPING Damping coefficient -

CONTACT Section

This section defines the contact parameters between the two solids:

  • GRAVITY: Acceleration due to gravity (m/s²).
  • VELOCITY: Sliding velocity (m/s).
  • TIME_STEP: Time step (s).
  • TOTAL_TIME: Total simulation time (s).
  • UP_PROFILE: Name of the profile file for the upper solid (e.g., up.pro).
  • DOWN_PROFILE: Name of the profile file for the lower solid (e.g., down.pro).

SIMULATION Section

This section contains the general simulation parameters:

  • OUTPUT_FILE: Name of the output file (e.g., data.ra3).
  • OUTPUT_FORMAT: Format of the results (e.g., full, reduced).
  • VERBOSE: Verbosity level (0 for silent, 1 for standard).

4.2 Profile File

Profile files (.pro) describe the roughness of the solid surfaces. Each file contains a matrix of values representing the altitude of each node in the mesh. Here is an example structure for an up.pro file:

# Comment (e.g., Slider Profile)
# Number of nodes in x and y
NX=100
NY=100
# Spatial step in x and y
DX=0.01
DY=0.01
# Node altitudes (in meters)
0.0 0.01 0.02 ...
0.01 0.02 0.03 ...
...

4.3 Results File

The results file (.ra3) contains the simulation results for each node and time step. It can include:

  • Deformations of the solids.
  • Node velocities.
  • Contact forces.
  • Contact pressures.

The content of the results file is configurable via the --out option of the ra3d command. For example, to get only the deformations:

ra3d --out deformations data.txt