Speed Reducer Shaft
Contents
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:
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);
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 |
---|---|---|---|---|
\(10^6\) |
\(7.850 \times 10^{-4}\) |
— |
[DS04] (Table 11) |
|
\(1'472\) |
\(7.007 \times 10^{-7}\) |
— |
[DS04] (Table 11) |
|
\(1'514\) |
\(4.3581 \times 10^{-7}\) |
— |
[DS04] (Table 11) |
|
\(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.