Rough Contact Problem Solution with TriboSolver

surface roughness


Note: if you have any comments or questions, please contact us via email: [email protected]. Any bug/improvements reports are appreciated.

Contact between two rough surfaces is the fundamental problem in contact mechanics and tribology. These contacts occur in bearings, gears, engines, wheels and rails, in microelectromechanical systems, in robotic systems, electrical systems, etc. These machines and components may fail and the speed of failure, as well as the main failure mode are determined by the conditions in the contact, such as contact pressure, real contact area, subsurface stresses. Thus, knowing the contact conditions in a rough contact problem is  necessary for design, optimization but also maintenance and component life prediction.

Solution of rough contact problem can be done using a Boundary Element Method (BEM) which is based on the half-space theory approximation. This approximation allows speeding up the calculations significantly, while making the solution sufficiently accurate. In a recently published Contact Mechanics Challenge results, it was shown that BEM based approach (along with a computationally demanding Green’s Functions approach) is the most accurate way to calculate contact pressure for rough surfaces.

TriboSolver is a cloud based tool that allows solving various tribological problems efficiently, but also conveniently. Since its a web tool, there is no need to download and install anything, nor a special hardware needed to run the simulations. The simulations can be set up and run from any device, including a smartphone, since the simulations are performed in the cloud and do not require any computational power from the user. The results can be also analyzed from any device.  TriboSolver uses BEM to solve the contact problem and output the results.  As a solution one gets the contact pressure, real contact area, surface displacements and other properties (including subsurface stresses).

Half-Space Approximation

Currently BEM based approach is the most efficient way of characterizing contact situation between rough surfaces since other methods, like Finite Element Methods, are way more computationally intense. This makes solution of many practical problems not feasible. The core for BEM approach is the analytical solution of classical elasticity theory equations for a contact problem for a semi-infinite elastic half-space.  For such a half-space, the elastic deflection is given in a form of an integral (as discussed in more detailed manner here):


(1)    \begin{eqnarray*} h_e(x,y) = \frac{2\pi}{E'} \int\int \frac{p(x',y')}{\sqrt{(x-x')^2+(y-y')^2}}dx'dy' \\ \end{eqnarray*}

Here  h_e is the elastic deflection,  1/{E'}= {1 - {\nu_1}^2}/{E_1} + {{\nu_2}^2}/{E_2} is the reduced elastic modulus,  {\nu_1}, {E_1},{\nu_2}, {E_2} are the Poisson’s ratio and Young’s modulus of the bodies,  p(x,y) is the contact pressure. This equation is used in most of tribological problems involving rough surfaces, including EHL problems, but also in contact analysis, friction and wear simulation.

The system of equations to be solved in this case looks as follows:

(2)    \begin{eqnarray*} \begin{cases} h_e(x,y) = z(x,y) - \delta,  \forall (x,y) \in A_c \\ p(x,y)>0, \forall (x,y) \in A_c \\ F_N = \int \int p(x,y) dx dy \\ \end{cases} \end{eqnarray*}


Here,  z(x,y) is the combined surface roughness of the surfaces,  \delta is the rigid body approach and  A_c, F_N are the contact area and applied normal load correspondingly. Once the system is solved, one gets the contact pressure and the real contact area. This system of equations can be extended to consider the plastic behavior of the materials as well as to have friction on the surface and coatings. The system of equations also changes if the specified input is rigid body displacement, instead of load. In TriboSolver, several of these solution algorithms are combined to make the calculations and the analysis easy for the user.

Calculation Example

In this section an example contact problem is solved using TriboSolver and step-by-step instructions are given, accompanied by the explanations. To perform the simulations, at first the inputs are given via the user interface of the tool. The inputs are entered step-by-step, also depending on the choices made during the process itself.

Step 1. Register and login

TriboSolver is located here. On this page, there is a left sidebar that is used to control the navigation during the simulation setup or analysis and the right side, which contains the inputs and the possible choices (see the figure below). The first step is to create an account and login. This can be done here: By creating an account a space will be assigned in the cloud to store the results. Once logged in, the user is directed to ‘Simulation’ page.

TriboSolver Home Page

Step 2. Simulation Page

On the ‘Simulation’ page the type of simulation is chosen. For the current case, ‘Dry Contact Simulation’ must be chosen. This allows solving the contact problem for rough surfaces. Once finished, click the Next button.

Simulation page

Step 3. Contact Model

On the ‘Contact Model’ page, it is necessary to choose the model that is going to be used for the solution. In general, there are several available models, but Boundary Element Method is the most suited for the problem in hand. The Greenwood&Williamson or Deterministic G&W are very approximate approaches and have additional limitations as compared to Boundary Element Method.

Contact Model

If the Boundary Element Method model is chosen, its also possible to calculate subsurface stresses. If its only of interest to calculate the subsurface stress for body 1, then its necessary to select the corresponding option. This will save the computational time, since the subsurface stress calculation is the most time consuming. Space will also be saved.

On this page one could also choose to consider coatings. If necessary, check the corresponding checkbox.

Click Next.

Step 4. Material Properties

On this page its necessary to specify the material properties of the bodies in contact. For the contact analysis Elasticity Modulus, Poisson’s ration and Hardness are needed. In this example, the properties as for common bearing steel are specified (206GPa elasticity modulus, 0.3 Poisson’s ratio and 7GPa hardness). In case if a coating was selected, the properties of coating materials also need to be specified, along with thicknesses.

Material Properties

Click Next.

Step 5. Friction Model

Friction on the surfaces of the contacting bodies may affect pressure distribution and consequently all other results. For common materials like steel, friction start to be a considerable effect when coefficient of friction is over 0.3. In this example a frictionless contact is assumed. Click Next.

Friction Model

Step 6. Contact Conditions

On this page its necessary to specify contact conditions. Typically, load is specified. Another input here is the Boundary Conditions (BC). Depending on the macroscopic geometry of the problem, different BC should be used. In case of a flat on flat contact, Periodic BC should be turned on. This will ensure that there is no boundary effect in the simulation. In case of Line Contact geometry (cylindrical), the Periodic BC should also be turned on. In this case, the Periodic BC will be applied only on the axis along the radius of the cylinder. This will ensure no edge effects in the solution. In case of Point Contact geometry, Periodic BC should be turned off. For our example, the Periodic BC is turned off.

Contact Conditions

Click Next.

Step 7. Numerical Grid

BEM is a numerical method and as in any numerical method, the physical space is discretized into small areas. The difference in this case with Finite Elements is that its only necessary to discretize the surface (boundary) and not the whole volume, unless you would like to calculate subsurface stresses (but even in this case BEM is much faster due to available analytical solutions in the integral form). On this page its necessary to specify the physical length of the considered problem in x and y directions and the density of the grid. In case of a problem of rough surfaces, the best would be to take these inputs from the surface roughness measurement files. Then the numerical grid will coincide with the roughness grid. In case if you specify a numerical grid that differs from the one in the measurement, TriboSolver will interpolate the roughness measurement to the numerical grid. However, interpolation can introduce artifacts. It should also be noted that creating a numerical grid that has more points that the roughness measurement does not bring any additional value and should be avoided. It would only increase the computational time.

For the current example, the length of the grid was chosen to be 6e-5 m and the number of grid points N was chosen to be 128 for both x and y directions.

Numerical Grid

Click Next.

Step 8. Macro Geometry

In TriboSolver, there are 2 scales used for geometry: Macro Geometry and Micro Geometry. The Macro Geometry specifies the macroscopic geometry, the largest scale. For example for a ball element in a ball bearing it would be a sphere (thus Point Contact Geometry). For a cylindrical element in a roller bearing, it would be a cylinder (Line Contact). The Micro Geometry is the fine scale features, which is roughness. The combined geometry is then the sum of these 2 scales.

On this page, the Macro Geometry has to be specified. Depending on the choice, some extra parameters need to be entered. For the Point Contact, the radii of curvature in x and y directions for both ellipses (in this particular case spheres) in contact must be specified (1e-2 m was chosen here). For Line contact, only the radii of curvature in x direction would be needed.

Macro Geometry

Click Next.

Step 9. Micro Geometry

On the Micro Geometry page its necessary to specify the roughness of the surfaces (if necessary, otherwise choose ‘None’ button). Choose ‘Import’ button to indicate that the roughness is going to be considered in the simulations. Once the button is chosen, several input fields occur on the screen as shown below. At first, once can consider roughness only on one of the surfaces. To do so, ‘Use only one surface’ checkbox should be selected. Further, in the input fields under Body 1, the resolution of the roughness measurement that is going to be used needs to be specified. For the current case, its chosen to be  3.9063e-07 m in both directions.

To consider a roughness in the simulations, roughness file needs to be first uploaded to the server. This can be done by using Drag and Drop or Select Files. Once the file is uploaded to the server, its name appears in the list below the drag and drop field, as shown below. After that its possible to select the file in the right drop down menu. Once the file is selected there, Select button should be pressed.

For the current simulation a randomly generated file was used. You can download it here (its an archive, you should extract the surface file from it before using in the tool, you also must be logged in to be able to download). The standard deviation of surface heights for this surface is 50 nm, which is close to roughness of small size rollers in bearings.

Micro Geometry

The surface looks as follows:

surface roughness

Once the surface is uploaded to the server and selected, click Next.

Step 10. Run Calculation

On this page its necessary to specify the filename where the results will be saved after the calculation. Once all is ready, pressing Start Calculation will run the simulation.

run calculation

Once the simulation is finished, click Next.

Step 11. Result

On this page, the results of the calculations can be viewed and analyzed. To start, the results file needs to be loaded by selecting the results file needed. Next, the variable to plot can be selected, e.g., Contact Pressure. This will produce 2D and 3D plots of the Contact Pressure. Note that the graphs are interactive, thus its possible to hover over the graphs and get numbers, its possible to zoom in and save the graphs. There are several variables available for plot, depending on the type of the simulation performed. This includes, the surface roughnesses of the bodies, contact patch, elastic deformation, etc.

results file

These results can be used in estimating severity of the dry contact and make conclusions on the operating conditions for the given problem. One could also use these type of simulations to optimize the operating conditions.

Administration of the project


  1. What is ‘B’ in the pressure scale bar of 2D and 3D plots. I am not able to understand the meaning of this ‘B’. Please let me know as soon as possible

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.