Speed Reducer Shaft#

import numpy as np
import matplotlib.pyplot as plt
import uqtestfuns as uqtf

The speed reducer shaft test function is a five-dimensional scalar-valued test function introduced in [DS04]. It is used as a test function for reliability analysis algorithms (see, for instance, [LGG+18, DS04]).

Test function instance#

To create a default instance of the test function:

my_testfun = uqtf.SpeedReducerShaft()

Check if it has been correctly instantiated:

print(my_testfun)
Function ID      : SpeedReducerShaft
Input Dimension  : 5 (fixed)
Output Dimension : 1
Parameterized    : False
Description      : Reliability of a shaft in a speed reducer from Du and Sudjianto (2004)
Applications     : reliability

Description#

The function models the performance of a shaft in a speed reducer [DS04]. The performance is defined as the strength of the shaft subtracted by the stress as follows[1]:

\[ g(\boldsymbol{x}) = S - \frac{32}{\pi D^3} \sqrt{\frac{F^2 L^2}{16} + T^2}, \]

where \(\boldsymbol{x} = \{ S, D, F, L, T \}\) is the five-dimensional vector of input variables probabilistically defined further below.

The failure event and the failure probability are defined as \(g(\boldsymbol{x}) \leq 0\) and \(\mathbb{P}[g(\boldsymbol{X}) \leq 0]\), respectively.

Probabilistic input#

Based on [DS04], the probabilistic input model for the speed reducer shaft reliability problem consists of five independent random variables with marginal distributions shown in the table below.

Hide code cell source
print(my_testfun.prob_input)
Function ID     : SpeedReducerShaft
Input ID        : Du2004
Input Dimension : 5
Description     : Input model for the speed reducer shaft problem from Du
                  and Sudjianto (2004)
Marginals       :

 No.    Name    Distribution            Parameters                Description
-----  ------  --------------  -----------------------------  -------------------
  1      D         normal               [39.   0.1]           Shaft diameter [mm]
  2      L         normal             [4.e+02 1.e-01]           Shaft span [mm]
  3      F         gumbel      [1342.48137736  272.89388043]  External force [N]
  4      T         normal                [250  35]                Torque [Nm]
  5      S        uniform                 [70 80]               Strength [MPa]

Copulas         : Independence

Note that the variables \(F\), \(D\), and \(L\) must be first converted to their corresponding SI units (i.e., \([\mathrm{Pa}]\), \([\mathrm{m}]\), and \([\mathrm{m}]\), respectively) before the values are plugged into the formula above.

Reference results#

This section provides several reference results of typical UQ analyses involving the test function.

Sample histogram#

Shown below is the histogram of the output based on \(10^6\) random points:

Hide code cell source
xx_test = my_testfun.prob_input.get_sample(1000000)
yy_test = my_testfun(xx_test)
idx_pos = yy_test > 0
idx_neg = yy_test <= 0

hist_pos = plt.hist(yy_test, bins="auto", color="#0571b0")
plt.hist(yy_test[idx_neg], bins=hist_pos[1], color="#ca0020")
plt.axvline(0, linewidth=1.0, color="#ca0020")

plt.grid()
plt.ylabel("Counts [-]")
plt.xlabel("$\mathcal{M}(\mathbf{X})$")
plt.gcf().set_dpi(150);
../_images/bcfc946e98fe63ca3eb9329fefc4cb2c223bc5c820b56eb81fba535b4e3ce3c0.png

Failure probability#

Some reference values for the failure probability \(P_f\) and from the literature are summarized in the table below.

Method

\(N\)

\(\hat{P}_f\)

\(\mathrm{CoV}[\hat{P}_f]\)

Source

MCS

\(10^6\)

\(7.850 \times 10^{-4}\)

[DS04] (Table 11)

FORM

\(1'472\)

\(7.007 \times 10^{-7}\)

[DS04] (Table 11)

SORM

\(1'514\)

\(4.3581 \times 10^{-7}\)

[DS04] (Table 11)

FOSPA

\(102\)

\(6.1754 \times 10^{-4}\)

[DS04] (Table 11)

References#

[LGG+18]

Xu Li, Chunlin Gong, Liangxian Gu, Wenkun Gao, Zhao Jing, and Hua Su. A sequential surrogate method for reliability analysis based on radial basis function. Structural Safety, 73:42–53, 2018. doi:10.1016/j.strusafe.2018.02.005.

[DS04] (1,2,3,4,5,6,7,8,9)

Xiaoping Du and Agus Sudjianto. First order saddlepoint approximation for reliability analysis. AIAA Journal, 42(6):1199–1207, 2004. doi:10.2514/1.3877.