Source code for dowson_hamrock

# -*- coding: utf-8 -*-

"""

This module contains functions related to Dowson-Hamrock film thickness
calculations.

"""


def __dowson_hamrock_parameters(r_eff, param_g, param_u, param_w):
    """

     Calculate the EHD-parameter for Dowson-Hamrock film thickness calculations.
     The name EHD-parameter is used within the tribology package to refer to
     what is calculated below; this parameter is not officially defined by
     Dowson-Hamrock.

    Parameters
    ----------
    r_eff: scalar
        The effective radius of the contact problem.
    param_g: scalar
        The elasticity parameter of the contact problem.
    param_u: scalar
        The velocity parameter of the contact problem.
    param_w: scalar
        The load parameter of the contact problem.

    Returns
    -------
    param_ehd: scalar
        The EHD parameter of the contact problem.

    """
    param_ehd = r_eff * param_g ** 0.53 * param_u ** 0.67 * param_w ** -0.067
    return param_ehd


[docs]def edowham(alpha_p, e_eff): """ Calculate the elasticity parameter of the contact problem according to Dowson-Hamrock. Parameters ---------- alpha_p: ndarray, scalar The pressure-viscosity coefficient of the lubricant. e_eff: ndarray, scalar The effective modulus of the contact problem. Returns ------- param_elasticity: ndarray, scalar The elasticity parameter of the contact problem. """ param_elasticity = alpha_p * e_eff return param_elasticity
[docs]def vdowham(eta, vel_entrain, e_eff, r_eff): """ Calculate the velocity parameter of the contact problem according to Dowson-Hamrock. Parameters ---------- eta: ndarray, scalar The dynamic viscosity of the lubricant. vel_entrain: ndarray, scalar The entrainment velocity of the contact problem. e_eff: ndarray, scalar The effective modulus of the contact problem. r_eff: ndarray, scalar The effective radius of the contact problem. Returns ------- param_velocity: ndarray, scalar The velocity parameter of the contact problem. """ param_velocity = eta * vel_entrain / (e_eff * r_eff) return param_velocity
[docs]def dowhamline(vel_entrain, force, alpha_p, e_eff, r_eff, eta, l_eff): """ Calculate the mean film thickness in a line contact according to Dowson-Hamrock. Parameters ---------- vel_entrain: ndarray, scalar The entrainment velocity of the contact problem. force: ndarray, scalar The normal force in the contact. alpha_p: ndarray, scalar The pressure-viscosity coefficient of the lubricant. e_eff: ndarray, scalar The effective modulus of the contact problem. r_eff: ndarray, scalar The effective radius of the contact problem. eta: ndarray, scalar The dynamic viscosity of the lubricant. l_eff: ndarray, scalar The effective length of the contact. Returns ------- h_0: ndarray, scalar The central lubricating film thickness in the contact. """ param_g = edowham(alpha_p, e_eff) param_u = vdowham(eta, vel_entrain, e_eff, r_eff) param_w = force / (l_eff * r_eff * e_eff) h_0 = 2.69 * __dowson_hamrock_parameters(r_eff, param_g, param_u, param_w) return h_0
[docs]def dowhampoint(vel_entrain, force, alpha_p, e_eff, r_eff, eta): """ Calculate the mean film thickness in a point contact according to Dowson-Hamrock. Parameters ---------- vel_entrain: ndarray, scalar The entrainment velocity of the contact problem. force: ndarray, scalar The normal force in the contact. alpha_p: ndarray, scalar The pressure-viscosity coefficient of the lubricant. e_eff: ndarray, scalar The effective modulus of the contact problem. r_eff: ndarray, scalar The effective radius of the contact problem. eta: ndarray, scalar The dynamic viscosity of the lubricant. Returns ------- h_0: ndarray, scalar The central lubricating film thickness in the contact. """ param_g = edowham(alpha_p, e_eff) param_u = vdowham(eta, vel_entrain, e_eff, r_eff) param_w = force / (r_eff ** 2 * e_eff) h_0 = 1.9 * __dowson_hamrock_parameters(r_eff, param_g, param_u, param_w) return h_0