1 Introduction

Hydrodynamic lubrication is fundamental to the operation of journal and thrust bearings (axles, hydroelectric rotors, ship propellers), sliders (cylinder liner and piston ring interface, hydrodynamic seals) and squeeze-film dampers (high-speed compressors, turbines). The operating principle is based on the generation of pressure in a lubricant by squeezing it or by dragging it towards a converging section of the contact between the surfaces through the viscous forces. The lubricant can then effectively separate the surfaces and form a thin film of roughly 1–100 µm in thickness [1]. However, diverging sections and rapid unloading of the contact can generate large tensional forces in the lubricant, leading to sudden pressure drops and, in the case of liquid lubricants, to cavitation [2]. The latter causes a disruption of the film which directly affects the pressure distribution and subsequently the load-carrying capacity and friction force—two important performance characteristics.

In this paper, we solve a long-standing problem of an efficient calculation of the contact pressure distribution in the presence of cavitation. Our starting point is the Jakobsson, Floberg and Olsson (JFO) [3, 4] cavitation model that couples to the Reynolds equation (RE) for thin film lubrication. Although a number of cavitation models that couple to the Navier–Stokes equations (NSE) or the RE have been proposed over the last several decades, the JFO and its implementation by Elrod and Adams (EA) [5] have withstood the majority of experimental verification and are widely regarded as the best trade-off between accuracy and practicality [2]. In the following, we develop an efficient algorithm for solving the non-dimensional p − θ formulation of the RE arising from the EA implementation of the JFO model:

$$ \frac{\partial }{\partial x}\left( {\frac{\rho }{\mu }h^{3} \frac{\partial p}{\partial x}} \right) + \frac{{B^{2} }}{{L^{2} }}\frac{\partial }{\partial y}\left( {\frac{\rho }{\mu }h^{3} \frac{\partial p}{\partial y}} \right) = \frac{6UB}{{h_{\text{ref}}^{2} p_{\text{ref}} }}\frac{{\partial \left[ {(1 - \theta )\rho h} \right]}}{\partial x} + \frac{{12B^{2} }}{{h_{\text{ref}}^{2} p_{\text{ref}} }}\frac{{\partial \left[ {(1 - \theta )\rho h} \right]}}{\partial t}, $$
(1)

where μ and ρ denote the viscosity and density of the lubricant, respectively, p is the pressure distribution, h is the film thickness, U is the relative sliding speed of the contact surfaces, B and L denote the contact width and length, \( h_{\text{ref}} \) and \( p_{\text{ref}} \) are the reference film thickness and pressure, and θ is the cavity fraction (defined later). The formulation in Eq. (1) can be derived from the NSE under the assumptions that there is no inertial flow, no slip on the boundaries between the lubricant and the surfaces, and no pressure change across the film (that is, in the z direction perpendicular to one of the surfaces chosen as a reference). Boundary conditions applied to the formulation are typically of Dirichlet type and enforce ambient pressure on the contact edges. According to the JFO model, cavitation is taken into account by: (1) satisfying mass-conserving conditions on the boundaries between full-film and cavitation regions, locations of which are unknown a priori, and (2) thresholding the film pressure from below by the lubricant cavitation pressure \( p_{\text{cav}} \) (that is, vapour or saturation pressure). The conditions and the thresholding can be encapsulated in the form of a complementarity constraint \( (p - p_{\text{cav}} )\theta = 0 \) between the relative pressure \( p - p_{\text{cav}} \ge 0 \) and the cavity fraction \( \theta = 1 - {{\rho_{\text{avg}} } \mathord{\left/ {\vphantom {{\rho_{\text{avg}} } {\rho \ge 0}}} \right. \kern-0pt} {\rho \ge 0}} \) [6, 7], where \( \rho_{\text{avg}} \) is the average density of the lubricant and cavitation pockets across the film [5]. Specifically, if there is no cavitation then the fraction is zero (θ = 0) and the pressure is greater than the cavitation pressure \( (p > p_{\text{cav}} ) \). When cavitation is present, the fraction is positive (θ > 0) and the pressure is assumed to be equal to the cavitation pressure \( (p = p_{\text{cav}} ) \).

The p − θ formulation of the RE is solved subject to the complementarity constraint for the unknown relative pressure and cavity fraction. Since analytical/semi-analytical solutions are not available, except for a few simple contact shapes [5, 6], the formulation and the constraint are discretized in time (t) and space (x, y) for given boundary conditions, sliding speed and (possibly pressure-dependent) film thickness, density and viscosity, and then solved numerically. The discretization results in a system of N algebraic equations \( {\mathbf{G}} = {\mathbf{G}}({\mathbf{p}},{\varvec{\uptheta}}) = {\mathbf{0}}, \) where the relative pressure \( p - p_{\text{cav}} \ge 0 \) and the cavity fraction θ ≥ 0 are approximated by N-element column vectors \( {\mathbf{p}} \ge {\mathbf{0}} \) and \( {\varvec{\uptheta}} \ge {\mathbf{0}} \), respectively. We reasonably assume that G is well-defined and is a continuously differentiable function of p and θ. The task of finding the pressure distribution and the cavity fraction is therefore formulated as a problem of solving the system G under the complementarity constraint \( {\mathbf{p}}^{\text{T}} {\varvec{\uptheta}} = {\mathbf{0}} \), \( {\mathbf{p}},\;{\varvec{\uptheta}} \ge {\mathbf{0}} \) [7].

Current approaches decompose the problem into a series of subproblems and alternate between solving the system G for p while keeping θ fixed and then adjusting θ to satisfy the constraint [810]. Iterative methods (Gauss–Seidel, Newton) are typically used for the solution, while pivoting algorithms (Murty, Lemke) or if-else switching are employed for the adjustment. To date, however, there is no approach that allows for an efficient and stable search of the pressure distribution and the cavity fraction. This is an important requirement for solving large-scale problems that arise in the transient analysis and optimisation of contacts, especially with complex shapes.

2 FBNS Algorithm

We propose a two-step algorithm, called Fischer-Burmeister-Newton-Schur (FBNS), for solving the constrained system G.

2.1 Reformulation of the Complementarity Constraint

In the first step, the constraint \( {\mathbf{p}}^{\text{T}} {\varvec{\uptheta}} = {\mathbf{0}} \), \( {\mathbf{p}},\;{\varvec{\uptheta}} \ge {\mathbf{0}} \) is replaced by a system \( {\mathbf{F}} = {\mathbf{F}}({\mathbf{p}},{\varvec{\uptheta}}) = {\mathbf{0}} \) of N Fischer-Burmeister (FB) equations defined as \( F_{j} = F_{j} (p_{j} ,\theta_{j} ) = p_{j} + \theta_{j} - \sqrt {p_{j}^{2} + \theta_{j}^{2} } = 0, \) j = 1, …, N where p j and θ j are the j-th elements of the relative pressure and cavity fraction vectors, respectively. The replacement does not introduce approximation error since F j (p j , θ j ) = 0 if and only if p j θ j  = 0 and p j , θ j  ≥ 0 [11]. The FB equations have previously been used to reformulate problems with complementarity constraints into unconstrained problems of solving systems of equations or unconstrained optimisation [11, 12]. The reformulation has so far been applied to complementarity problems with an explicit relationship \( {\mathbf{a}} = {\mathbf{H}}({\mathbf{b}}) \) between complementarity variables a and b, whereas the lubrication problem is generally given by an implicit relationship \( {\mathbf{G}}({\mathbf{p}},{\varvec{\uptheta}}) = {\mathbf{0}} \). For the latter, the reformulation results in an unconstrained system of 2N equations consisting of two systems \( {\mathbf{F}}({\mathbf{p}},{\varvec{\uptheta}}) = {\mathbf{0}} \) and \( {\mathbf{G}}({\mathbf{p}},{\varvec{\uptheta}}) = {\mathbf{0}} \).

2.2 Solution to the Unconstrained System

The second step is an efficient solution of the unconstrained system. Since the system is continuously differentiable (except at p j  = θ j  = 0, this case is discussed later), the Newton method can be applied to find the solution iteratively, that is \( {\mathbf{p}}^{(k + 1)} = {\mathbf{p}}^{(k)} + \delta {\mathbf{p}}^{(k)} \) and \( {\varvec{\uptheta}}^{(k + 1)} = {\varvec{\uptheta}}^{(k)} + \delta {\varvec{\uptheta}}^{(k)} , \) where \( \delta {\mathbf{p}}^{(k)} \) and \( \delta {\varvec{\uptheta}}^{(k)} \) are the solution updates at the k-th iteration. The updates would normally be calculated by solving the following system of linear algebraic equations:

$$ {\mathbf{J}}\left[ {\begin{array}{*{20}c} {\delta {\mathbf{p}}^{(k)} } \\ {\delta {\varvec{\uptheta}}^{(k)} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {{\mathbf{J}}_{{{\mathbf{F}},{\mathbf{p}}}} } & {{\mathbf{J}}_{{{\mathbf{F}},{\varvec{\uptheta}}}} } \\ {{\mathbf{J}}_{{{\mathbf{G}},{\mathbf{p}}}} } & {{\mathbf{J}}_{{{\mathbf{G}},{\varvec{\uptheta}}}} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\delta {\mathbf{p}}^{(k)} } \\ {\delta {\varvec{\uptheta}}^{(k)} } \\ \end{array} } \right] = - \left[ {\begin{array}{*{20}c} {\mathbf{F}} \\ {\mathbf{G}} \\ \end{array} } \right]{\text{ at }}({\mathbf{p}},{\varvec{\uptheta}}) = ({\mathbf{p}}^{(k)} ,{\varvec{\uptheta}}^{(k)} ), $$
(2)

where \( {\mathbf{J}}_{{{\mathbf{F}},{\mathbf{p}}}} = {{\partial {\mathbf{F}}} \mathord{\left/ {\vphantom {{\partial {\mathbf{F}}} {\partial {\mathbf{p}}}}} \right. \kern-0pt} {\partial {\mathbf{p}}}} \), \( {\mathbf{J}}_{{{\mathbf{F}},{\varvec{\uptheta}}}} = {{\partial {\mathbf{F}}} \mathord{\left/ {\vphantom {{\partial {\mathbf{F}}} {\partial {\varvec{\uptheta}}}}} \right. \kern-0pt} {\partial {\varvec{\uptheta}}}} \), \( {\mathbf{J}}_{{{\mathbf{G}},{\mathbf{p}}}} = {{\partial {\mathbf{G}}} \mathord{\left/ {\vphantom {{\partial {\mathbf{G}}} {\partial {\mathbf{p}}}}} \right. \kern-0pt} {\partial {\mathbf{p}}}} \) and \( {\mathbf{J}}_{{{\mathbf{G}},{\varvec{\uptheta}}}} = {{\partial {\mathbf{G}}} \mathord{\left/ {\vphantom {{\partial {\mathbf{G}}} {\partial {\varvec{\uptheta}}}}} \right. \kern-0pt} {\partial {\varvec{\uptheta}}}} \). However, the difficulties of solving the system in this form are that its size is twice the size of the original system G and that J will typically be worse conditioned than \( {\mathbf{J}}_{{{\mathbf{G}},{\mathbf{p}}}} \) and \( {\mathbf{J}}_{{{\mathbf{G}},{\varvec{\uptheta}}}} \). These difficulties are addressed as follows.

First, note that the Jacobian matrices \( {\mathbf{J}}_{{{\mathbf{F}},{\mathbf{p}}}} \) and \( {\mathbf{J}}_{{{\mathbf{F}},{\varvec{\uptheta}}}} \) are diagonal with the elements given by \( J_{{{\mathbf{F}},{\mathbf{p}}}}^{(j)} = 1 - {{p_{j} } \mathord{\left/ {\vphantom {{p_{j} } {\sqrt {p_{j}^{2} + \theta_{j}^{2} } }}} \right. \kern-0pt} {\sqrt {p_{j}^{2} + \theta_{j}^{2} } }} \) and \( J_{{{\mathbf{F}},{\varvec{\uptheta}}}}^{(j)} = 1 - {{\theta_{j} } \mathord{\left/ {\vphantom {{\theta_{j} } {\sqrt {p_{j}^{2} + \theta_{j}^{2} } }}} \right. \kern-0pt} {\sqrt {p_{j}^{2} + \theta_{j}^{2} } }} \), respectively. It can be shown that \( \hbox{max} (J_{{{\text{F}},{\text{p}}}}^{(j)} ,J_{{{\text{F}},\uptheta}}^{(j)} ) \in [1 - \sqrt 2 /2,2] \) for all p j and θ j except when both are zero (Appendix, Lemma 1). By swapping the j-th and (j + N)-th columns of \( {\mathbf{J}} \) when \( J_{{{\mathbf{F}},{\mathbf{p}}}}^{(j)} < J_{{{\mathbf{F}},{\varvec{\uptheta}}}}^{(j)} \), it is thus possible to construct a reordered matrix \( {\mathbf{J}}_{r} \) whose the top-left N-by-N submatrix (\( {\mathbf{A}}_{{\mathbf{F}}} \) in Eq. (3)) is diagonal, has positive elements and its condition number is at most \( 4 + 2\sqrt 2 \) (Appendix, Theorem 1). After reordering, the system in Eq. (2) can be rewritten as:

$$ {\mathbf{J}}_{r} \left[ {\begin{array}{*{20}c} {\delta {\mathbf{a}}} \\ {\delta {\mathbf{b}}} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {{\mathbf{A}}_{{\mathbf{F}}} } & {{\mathbf{B}}_{{\mathbf{F}}} } \\ {{\mathbf{A}}_{{\mathbf{G}}} } & {{\mathbf{B}}_{{\mathbf{G}}} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\delta {\mathbf{a}}} \\ {\delta {\mathbf{b}}} \\ \end{array} } \right] = - \left[ {\begin{array}{*{20}c} {\mathbf{F}} \\ {\mathbf{G}} \\ \end{array} } \right], $$
(3)

where \( \delta {\mathbf{a}} \) and \( \delta {\mathbf{b}} \) denote the reordered solution updates and \( {\mathbf{A}}_{{\mathbf{F}}} \), \( {\mathbf{B}}_{{\mathbf{F}}} \), \( {\mathbf{A}}_{{\mathbf{G}}} \), and \( {\mathbf{B}}_{{\mathbf{G}}} \) are the reordered Jacobian matrices. The above procedure fails when p j  = θ j  = 0, in which case \( J_{{{\mathbf{F}},{\mathbf{p}}}}^{(j)} \) and \( J_{{{\mathbf{F}},{\varvec{\uptheta}}}}^{(j)} \) are undefined. This can occur on the contact boundaries when the ambient and cavitation pressures are equal. To rectify this, p j or θ j can be set to a small positive number (e.g. machine epsilon, ∼2.22 × 10−16 for double precision) so that \( J_{{{\mathbf{F}},{\mathbf{p}}}}^{(j)} \) and \( J_{{{\mathbf{F}},{\varvec{\uptheta}}}}^{(j)} \) become well-defined with virtually no compromise to the solution accuracy.

Second, we exploit the properties of \( {\mathbf{A}}_{{\mathbf{F}}} \) and solve the system in Eq. (3) using the Schur complement of \( {\mathbf{J}}_{r} \) with respect to \( {\mathbf{A}}_{{\mathbf{F}}} \). This produces the following two linear systems of size N each that need to be solved sequentially:

$$ \begin{gathered} ({\mathbf{B}}_{{\mathbf{G}}} - {\mathbf{A}}_{{\mathbf{G}}} {\mathbf{A}}_{{\mathbf{F}}}^{ - 1} {\mathbf{B}}_{{\mathbf{F}}} )\delta {\mathbf{b}} = - {\mathbf{G}} + {\mathbf{A}}_{{\mathbf{G}}} {\mathbf{A}}_{{\mathbf{F}}}^{ - 1} {\mathbf{F}}, \hfill \\ {\mathbf{A}}_{{\mathbf{F}}} \delta {\mathbf{a}} = - {\mathbf{F}} - {\mathbf{B}}_{{\mathbf{F}}} \delta {\mathbf{b}}. \hfill \\ \end{gathered} $$
(4)

Under reasonable assumptions, the matrix \( {\mathbf{B}}_{{\mathbf{G}}} - {\mathbf{A}}_{{\mathbf{G}}} {\mathbf{A}}_{{\mathbf{F}}}^{ - 1} {\mathbf{B}}_{{\mathbf{F}}} \) is nonsingular at the solution (Appendix, Theorem 2) which ensures superlinear convergence of the Newton method if the initial cavity fraction \( {\varvec{\uptheta}}^{(1)} \) and relative pressure \( {\mathbf{p}}^{(1)} \) are sufficiently close to that solution [13]. A proof showing that the matrix \( {\mathbf{B}}_{{\mathbf{G}}} - {\mathbf{A}}_{{\mathbf{G}}} {\mathbf{A}}_{{\mathbf{F}}}^{ - 1} {\mathbf{B}}_{{\mathbf{F}}} \) is well-conditioned has not yet been obtained. In practice, however, we found that its condition number was always lower than that of J. An argument for the better conditioning of \( {\mathbf{B}}_{{\mathbf{G}}} - {\mathbf{A}}_{{\mathbf{G}}} {\mathbf{A}}_{{\mathbf{F}}}^{ - 1} {\mathbf{B}}_{{\mathbf{F}}} \) as compared to J is that both are constructed from discretization matrices but the former is four times smaller than the latter. Typically, as the size of discretization matrix increases, its condition number also increases [14]. Considering the fact that \( {\mathbf{B}}_{{\mathbf{G}}} - {\mathbf{A}}_{{\mathbf{G}}} {\mathbf{A}}_{{\mathbf{F}}}^{ - 1} {\mathbf{B}}_{{\mathbf{F}}} \) has the same size and similar sparsity structure to the difference between \( {\mathbf{B}}_{{\mathbf{G}}} \) and \( {\mathbf{A}}_{{\mathbf{G}}} \) (and hence between \( {\mathbf{J}}_{{{\mathbf{G}},{\mathbf{p}}}} \) and \( {\mathbf{J}}_{{{\mathbf{G}},{\varvec{\uptheta}}}} \)), the existing computer code used so far for the calculation of the pressure p from the system G would require only minor adaptations to solve the top system in Eq. (4). Once \( \delta {\mathbf{b}} \) is solved for, the calculation of \( \delta {\mathbf{a}} \) from the bottom system in Eq. (4) is straightforward considering the diagonal structure and the condition number of \( {\mathbf{A}}_{{\mathbf{F}}} \). The solution updates \( \delta {\mathbf{p}}^{(k)} \) and \( \delta {\varvec{\uptheta}}^{(k)} \) can then be recovered by reverse reordering \( \delta {\mathbf{a}} \) and \( \delta {\mathbf{b}} \).

The following example demonstrates the use of the FBNS algorithm in solving the discretized Reynolds equation with constant density and viscosity of the lubricant

$$ {\mathbf{G}}({\mathbf{p}},{\varvec{\uptheta}}) = {\mathbf{Ap}} + {\mathbf{B}}{\varvec{\uptheta}} + {\mathbf{c}} = {\mathbf{0}}, $$
(5)

where A and B are constant matrices that approximate the Poiseuille and Couette (cavity fraction term) flow components, and c is a constant vector that approximates the Couette flow component (full-film term) and collects the boundary conditions. First, by solving Eq. (5) for zero cavity fraction, the initial value of the relative pressure \( {\mathbf{p}}^{(1)} \) is obtained. The Jacobian matrices calculated from Eq. (5) are \( {\mathbf{J}}_{{{\mathbf{G}},{\mathbf{p}}}} = {\mathbf{A}} \) and \( {\mathbf{J}}_{{{\mathbf{G}},{\varvec{\uptheta}}}} = {\mathbf{B}} \). For low-order discretization schemes, the matrices are sparse and can often be stored in computer memory. Next, the iterative procedure of finding p and θ starts by calculating the Jacobian matrices \( {\mathbf{J}}_{{{\mathbf{F}},{\mathbf{p}}}} \) and \( {\mathbf{J}}_{{{\mathbf{F}},{\varvec{\uptheta}}}} \) for \( {\mathbf{p}}^{(1)} \) and zero cavity fraction and constructing the combined Jacobian matrix J in Eq. (2). The indices r j , j = 1, …, 2 N used for the reordering of \( {\mathbf{J}} \) are given by: r j  = j and r j+N  = j + N for J (j) F,p  ≥ J (j) F,θ , and r j  = j + N and r j+N  = j otherwise. The reordered Jacobian matrix \( {\mathbf{J}}_{r} \) is decomposed as shown in Eq. (4), and the updates of the reordered solution vectors \( \delta {\mathbf{a}} \) and \( \delta {\mathbf{b}} \) are calculated. The updates are then reverse reordered to obtain \( \delta {\mathbf{p}} \) and \( \delta {\varvec{\uptheta}} \), and added to the current values of the relative pressure and cavity fraction vectors. The updated vectors are used to again calculate the Jacobian matrices \( {\mathbf{J}}_{{{\mathbf{F}},{\mathbf{p}}}} \) and \( {\mathbf{J}}_{{{\mathbf{F}},{\varvec{\uptheta}}}} \), and the above iterative procedure is repeated until stopping criteria are satisfied, typically until the norms of the updates and the nonlinear residual are below chosen thresholds.

3 Numerical Simulations and Results

The results obtained using the FBNS algorithm were first validated against those reported in previous studies. The performance of the algorithm was then evaluated by carrying out numerical simulations on hydrodynamic contacts with surface texturing. The contacts are of high practical importance in automotive, marine and power generation industries as they can exhibit higher load-carrying capacity and lower friction force than those without texturing [15, 16]. Simulation of the contacts considering cavitation is computationally challenging due to the complexity of their shape and the nonlinearity of the pressure distribution [17, 18]. The values of the dimensional parameters used in the simulations are listed in Table 1.

Table 1 Dimensional parameters used for the numerical simulations of hydrodynamic contacts with surface texturing

3.1 Validation Against Numerical and Semi-Analytical Results

We validated the FBNS algorithm against numerical and semi-analytical methods in three cases: a steady 1-D Reynolds equation with compressible or piezoviscous lubricant and a transient 2-D Reynolds equation of pure squeeze motion. For the steady 1-D case with compressible lubricant, our results were compared against those obtained by the complementarity method developed in [6] for the double parabolic slider bearing described in [19]. Specifically, the bearing length is 76.2 mm and the minimum and maximum film thickness values are 25.4 µm and 50.2 µm, respectively. The sliding speed is U = 4.57 m/s, the lubricant viscosity is μ = 0.039 Pa s, and boundary pressure values are 3.36414 × 105 Pa (inlet) and 0 Pa (outlet). The dependence of the lubricant density on pressure is approximated using the Dowson and Higginson model with the constants C 1 = 2.22 × 109 and C 2 = 1.66. Figure 1 shows an excellent agreement between the pressure distributions calculated using the FBNS algorithm and the complementarity method.

Fig. 1
figure 1

a Film thickness of a double parabolic slider bearing and b comparison of the corresponding pressure distributions calculated using the FBNS algorithm and the complementarity method [6] for compressible lubricant (Dowson and Higginson model)

For the steady 1-D case with piezoviscous lubricant, we used the complementarity method [6] for the journal bearing described in [20]. The bearing has 0.04 mm radial clearance, and the eccentricity ratios are ɛ = 0.93 and ɛ = 0.95. The bearing and journal radii are 31.29 and 31.25 mm, respectively, the angular speed is 250 rad/s, and the boundary pressure is 0 Pa. The Roelands model for the viscosity-pressure dependence was employed with the following parameters: μ 0 = 5.7 mPa s, α = 1.12 × 10−8, μ R = 6.315 × 10−5, p R = 1.98 × 108, z = αp R/log(μ 0/μ R) [21]. The pressure distributions were calculated for ɛ = 0.93 and ɛ = 0.95 using the FBNS algorithm and the complementarity method (both implemented using the Roelands model). As can be seen in Fig. 2, results obtained by these methods are identical.

Fig. 2
figure 2

Comparison of pressure distributions calculated using the FBNS algorithm and the complementarity method [6] for journal bearings with the eccentricity ratios ɛ = 0.93 and ɛ = 0.95, and piezoviscous lubricant (Roelands model)

For the transient case, we use the Reynolds equation taken from [6] that is based on the analytical formulas derived in [22]. The problem is to find the time-dependent radius of cavitation area in a pure squeeze motion between two circular plates of radius 5 mm each and separated by a lubricant with constant viscosity μ = 5 mPa s. The squeeze motion is given by the sinusoidal formula \( h(t) = h_{\hbox{min} } + h_{\text{half}} (1 - \cos (\omega t)) \) with \( h_{\hbox{min} } = 9.14 \) µm, \( h_{\text{half}} = 320.8 \) µm and ω = 99.74 rad/s. For this particular case, the time evolution of the radius can be found by solving three equations [6]: an algebraic equation for determining the time of cavitation onset, and two ordinary differential equations describing the growth and collapse of the cavitation area. Since the equations are solved numerically (root-finding and Runge–Kutta methods were employed in this work), the results obtained are semi-analytical. The results are plotted in Fig. 3 and compared against those calculated using the FBNS algorithm. A very good agreement between the algorithm and the semi-analytical formulation was achieved. The step character of the numerical result is due to discretization and could be made smoother by increasing the numbers of time steps and the points used for the discretization of the radius of cavitation area.

Fig. 3
figure 3

Comparison of time evolution of the radius of cavitation area in a pure squeeze motion between two circular plates calculated using the FBNS algorithm and the semi-analytical method [6, 22]

3.2 Comparison Against Other Algorithms

We compared the FBNS against currently the most efficient and robust algorithms in the calculation of the pressure distribution, namely the augmented iterative Elrod-Adams p − θ (EA-PTHETA) [23], the exact linear complementarity p − θ based on pivoting (LC-PTHETA) [6], and the modified switch function φ − g (MOD-PHIG) [24]. For the EA-PTHETA, LC-PTHETA and FBNS algorithms, the RE was discretized using the finite volume (FV) method. Since the equation is elliptic with respect to p in the full-film region, the partial derivatives of the pressure were approximated by a second-order central difference formula. In the cavitation region, the equation is hyperbolic with respect to θ and a first-order upwind formula was employed. For the MOD-PHIG algorithm, the finite difference (FD) method was used to discretize the RE as required [24]. The partial derivatives of the pressure and cavity fraction were approximated by central and backward difference formulae, respectively. The switch modification parameter \( {\text{gFactor}} = 0.8 \) was used as recommended in [24]. The meshes/grids were generated for the FV and FD methods in such a way that the number of degrees of freedom was the same for all algorithms. We used the direct Lemke method for the linear complementarity problem in the LC-PTHETA algorithm and direct solvers for the linear systems arising in the MOD-PHIG and FNBS algorithms. The EA-PTHETA algorithm cannot take advantage of a direct method since it is iterative by design. To solve the linear systems arising in the algorithm, the Gauss–Seidel method with over-relaxation was employed. The relaxation parameters for pressure ω p  = 1.8 and cavity fraction ω θ  = 0.5 were found using an empirical optimisation. The values are in agreement with those found in other studies [18]. Boundary conditions for all the simulations were of Dirichlet type and enforced the non-dimensional normalised pressure \( {{(p_{\text{amb}} - p_{\text{cav}} )} \mathord{\left/ {\vphantom {{(p_{\text{amb}} - p_{\text{cav}} )} {p_{\text{ref}} }}} \right. \kern-0pt} {p_{\text{ref}} }} \) on the contact edges. Two stopping criteria were defined for solving the constrained system G: (1) the maximum absolute residual of each equation in G had to be less than 10−3 and (2) the maximum relative residual of G had to be less than 10−6. The simulations were run in MATLAB on a workstation with 32 GB RAM and Intel Xeon 3.3 GHz processor.

The pressure distribution was calculated for a fully textured sliding hydrodynamic contact under constant density and viscosity of the lubricant. The contact shape was flat with an array of K × K evenly distributed texture cells on the stationary surface; the centre of each cell had a recess in the shape of a trapezoidal dimple that covered 53 % of the cell area. The number of cells was varied from 1 × 1 to 20 × 20 which corresponded to the range of the number of degrees of freedom (that is, the number N of elements in the relative pressure vector p) from 900 to 360,000. Example of a contact with 10 × 10 array of texture cells together with the corresponding film thickness and pressure distribution is shown in Fig. 4. The criteria used for comparing the algorithms are the number of iterations and computational time. Only iterations at which the cavity fraction could change for at least two discretization points were considered. Specifically, we measured the numbers of: (1) outer iterations (EA-PTHETA), (2) pivoting operations (LC-PTHETA), (3) switch function adjustments (MOD-PHIG), and (4) Newton iterations (FBNS). The results are listed in Table 2 and demonstrate that the FBNS is substantially faster than the established algorithms, yielding roughly two orders of magnitude reduction in computational time. Furthermore, the number of iterations in the FBNS remained relatively constant regardless of the problem size and was several times lower than those measured for other algorithms.

Fig. 4
figure 4

Numerical simulation of hydrodynamic contact with surface texturing. a Contact geometry with sliding flat and stationary textured surfaces, the latter containing an array of 10 × 10 texture cells with a trapezoidal dimple in the centre of each cell. b Non-dimensional film thickness \( h/h_{\text{ref}} \) that represents the contact geometry in the Reynolds equation. c Non-dimensional pressure distribution \( p/p_{\text{ref}} \) calculated for the film thickness

Table 2 Number of iterations and computational times (seconds) required by different algorithms to calculate the pressure distribution for increasing number of dimples and degrees of freedom

3.3 Transient Simulation for Piezoviscous Lubricant

The FBNS was also evaluated in the transient simulation under constant density and pressure-dependent viscosity of the lubricant. Such analyses are particularly difficult to conduct due to the combination of the cavitation constraint and the nonlinear and transient effects. The following simulation serves as an illustrative example of the efficiency of our algorithm and shows what can be achieved in computational hydrodynamics by using it. The simulation was carried out for a partially textured hydrodynamic slider contact (Fig. 5) with a parabolic film thickness function given by \( h = h_{ref} [1 + 5.2(x/B - 0.5)^{2} ] \). The stationary surface contained an array of 2 × 5 texture cells with an elliptical dimple in the centre of each cell that covered 28 % of the cell area. The cells occupied two-thirds of the contact width and the entire contact length. The dimple shape was defined by the function \( h_{\text{dimple}} [1 - ({{(x - x_{c} )} \mathord{\left/ {\vphantom {{(x - x_{c} )} {(0.01B)}}} \right. \kern-0pt} {(0.01B)}})^{2} - ({{(y - y_{c} )} \mathord{\left/ {\vphantom {{(y - y_{c} )} {(0.06L)}}} \right. \kern-0pt} {(0.06L)}})^{2} ] \), where x c and y c denote the dimple centre. The shape was added to h whenever the term inside the square brackets was non-negative. The transient effects included a combination of the sliding, squeeze-film motion and misalignment sway. The combination was chosen to highlight the ability of the FBNS algorithm in the simulation of various dynamics that can occur in lubricated contacts. The squeeze and misalignment effects were simulated by adding the terms −0.15[1 − cos (2π(t − t 0)/(t 1 − t 0))] and 0.7(y/L − 0.5) sin (2π(t − t 0)/(t 1 − t 0))β, respectively to h, where t 0 and t 1 denote the start and end time of the effect, respectively. The factor β = 4(t − t 0)(t 1 − t)/(t 1 − t 0)2 was used to smooth out the changes in the film thickness near t 0 and t 1. The dependence of viscosity on pressure was modelled by the Barus law \( \mu_{\text{ref}} \exp (\alpha_{\text{Barus}} p_{\text{ref}} p \cdot 10^{ - 8} ) \) with the parameters \( \mu_{\text{ref}} = 0.01 \) and \( \alpha_{\text{Barus}} = 1.12 \). The implicit Euler method with the step of \( \Delta t = 5.6 \cdot 10^{ - 5} {\text{s}} \) was used for time discretization. The movie with the transient simulation is attached to this paper (Online Resource). Non-dimensional film thickness and pressure distribution at the time points that correspond to pure sliding, misalignment, squeeze, misalignment and squeeze are shown in Fig. 6. There were 21,904 degrees of freedom per time step and the total number of 500 steps. The FBNS calculated the transient solution in 8,361 s, averaging at 16.7 s per time step. Consequently, the FBNS proves to be an efficient tool for the analysis of hydrodynamic lubrication problems where cavitation is of importance.

Fig. 5
figure 5

Transient numerical simulation of hydrodynamic contact with surface texturing. a Contact geometry with sliding parabolic and stationary textured surfaces, the latter containing an array of 2 × 5 texture cells with an elliptical dimple in the centre of each cell. b Non-dimensional film thickness \( h/h_{\text{ref}} \) that represents the contact geometry in the Reynolds equation. Illustration of c misalignment and d squeeze effects simulated

Fig. 6
figure 6

Transient numerical simulation of hydrodynamic contact with surface texturing. (left) Non-dimensional film thickness \( h/h_{\text{ref}} \) and (right) non-dimensional pressure distribution \( p/p_{\text{ref}} \) at the time points that correspond to: (top to bottom) pure sliding, misalignment, squeeze, misalignment and squeeze. Movie with the transient simulation is attached to this paper (Online Resource). Movie. Transient numerical simulation of hydrodynamic contact with surface texturing. The plots represent non-dimensional: (top left) film thickness (top right) minimum film thickness and load-carrying capacity (that is, the integral of the pressure over the contact area) (bottom left) pressure distribution, and (bottom right) cavitation area. Annotations (top left) mark the start and end time of squeeze and misalignment effects

4 Conclusions

In conclusion, by reformulating the discretized cavitating flow, we developed an efficient algorithm for calculating the pressure distribution in a contact between two surfaces under thin film lubrication. The algorithm accounts for cavitation by introducing additional nonlinearity to the discretized RE which allows for including cavitation together with other effects (pressure-dependent density, viscosity, and film thickness) in an unconstrained system of nonlinear algebraic equations. Subsequently, solving the system requires a computational effort similar to that when cavitation is not considered. Also, since in the derivation of the FBNS we did not make assumptions specifically tailored to the cavitating flow, the algorithm is readily applicable to other physical problems where discretized differential equations are solved subject to complementarity constraints.