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)
Name              : SpeedReducerShaft
Spatial dimension : 5
Description       : Reliability of a shaft in a speed reducer from Du and Sudjianto (2004)

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 follows1:

\[ 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.

my_testfun.prob_input

Name: SpeedReducerShaft-Du2004

Spatial 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: None

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:

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/speed-reducer-shaft_9_0.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.


1

see Eq. (34), p. 1205 in [DS04].