Probabilistic Allowable Stress Calculation
Project description
AllowableStress
許容応力の確率論的決定
Shinsuke Sakai
Emeritus Professor, The University of Tokyo, Japan
Visiting Professor, Yokohama National University, Japan
参考文献
酒井信介、"許容応力の確率論的決定法"、圧力技術60巻1号(2022)、pp.18-23.
使用プログラム言語
Python
ライセンス
このプロジェクトは,MITライセンスのもとにライセンスが付与される。詳細はLICENSEを参照のこと。
インストール方法
ターミナルモードにおいて
pip install AllowableStress
事前準備
from AllowableStress import AllowableStress as Astress
pas=Astress.PAStress()
メソッドの詳細は下記コマンドで確認できる。
help(AStress)
正規分布
$\mu$, $\sigma$ともに既知の場合
引張強さの分布が $N(400,30^2)$の正規分布であるとき,P=0.01満足する許容応力 $S_a$を決定する。
pas.LowerLimit(mu=400, sigm=30, P=0.01)
#330.2095637787748
$\mu$のみが未知の場合
引張強さの許容応力を決定するために,5本の強度実験を実施した。その結果 $\hat{\mu}=400MPa$ が得られた。信頼度90%,信頼水準95%を満足するための許容応力 $S_a$を求めよ。ただし,過去の経験から強度の標準偏差 $\sigma=20MPa$が与えられているものとする。
pas.SetParam(param='n',val=5)
pas.SetParam(param='mu',val=400)
pas.SetParam(param='sigm',val=20)
pas.Bbasis2()
#359.6569505975057
$\mu$, $\sigma$ともに未知の場合
引張強さの許容応力を決定するために,5本の強度実験を実施した。その結果 $\hat{\mu}=400MPa$, $\hat{\sigma}=20MPa$が得られた。信頼度90%,信頼水準95%を満足するための許容応力 $\hat{S_a}$を求めよ。
pas.SetParam(param='n',val=5)
pas.SetParam(param='mu',val=400)
pas.SetParam(param='sigm',val=20)
pas.Bbasis()
#331.867335129965
A許容値,B許容値の決定
5本の引張試験(サンプルサイズ $n$=5)の結果,引張強さ(408.4, 374.0, 395.9, 405.8, 412.3)(単位:MPa)が得られた。この材料の $\mu$, $\sigma$ともに未知であるとするとき,A許容値,B許容値を決定せよ
data=[408.4, 374.0, 395.9, 405.8,412.3]
pas.SetData(data)
SaA=pas.Abasis()
SaB=pas.Bbasis()
SaA,SaB
#311.00403498262483 346.8989842383104
対数正規分布
母集団の強度Sが対数正規分布に従い、logSの平均値を $\mu_L$,標準偏差を $\sigma_L$とする。まず、対数正規分布に従うサンプルデータ10点を下記により発生する。 $\mu_L$のみが未知の場合と、 $\mu_L$, $\sigma_L$ともに未知の場合について、A許容値、B許容値の評価プログラムを示す。
import numpy as np
sigm=np.log(1.1)
mu=np.log(400)
n=10
s=np.random.lognormal(mu,sigm,n)
slog=np.log(s)
$\mu_L$のみが未知の場合
mu=slog.mean()
pas.SetParam(param='n',val=10)
pas.SetParam(param='mu',val=mu)
pas.SetParam(param='sigm',val=sigm)
Abasis=np.exp(pas.Abasis2())
Bbasis=np.exp(pas.Bbasis2())
print('Absis=',Abasis,':Bbasis=',Bbasis)
#Absis= 291.2633407447084 :Bbasis= 321.76051705594955
$\mu_L$, $\sigma_L$ともに未知の場合
sigm=slog.std()
mu=slog.mean()
pas.SetParam(param='n',val=10)
pas.SetParam(param='mu',val=mu)
pas.SetParam(param='sigm',val=sigm)
Abasis=np.exp(pas.Abasis())
Bbasis=np.exp(pas.Bbasis())
print('Absis=',Abasis,':Bbasis=',Bbasis)
# Absis= 246.67391288011243 :Bbasis= 294.9455976839429
二母数ワイブル分布
母集団の強度Sが二母数ワイブル分布に従い、形状母数 $\alpha$が既知とする。まず、形状母数 $\alpha$,尺度母数 $\beta$である二母数ワイブル分布に従うサンプルデータ10点を下記により発生する。A許容値、B許容値の評価プログラムを示す。
import numpy as np
### 例題 ###
#### 二母数ワイブル分布の乱数発生 ###
#alpha 形状母数 beta 尺度母数 n 個数
alpha=8.0
beta=400.0
n=10
dd=np.random.weibull(alpha,n)*beta
# 形状母数は既知であるとして、A許容値、B許容値を評価する #
pas=Astress.PAStressW()
pas.SetData(dd,alpha)
print('Abasis=',pas.Abasis(),'Bbasis=',pas.Bbasis())
#Abasis= 205.56913798387714 Bbasis= 275.7528938820833
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file allowablestress-0.0.6.tar.gz.
File metadata
- Download URL: allowablestress-0.0.6.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
61ed0a0dcd4cdfaaa67d52ab3762a6f6a63a102da9c62db480a07c9eef137d44
|
|
| MD5 |
b6639f6fee3febf06e2c771cbb338f72
|
|
| BLAKE2b-256 |
96725fc2530ec61430b7290a0a740d918f87f26045fcca6fc0d48c1818054b67
|
File details
Details for the file allowablestress-0.0.6-py3-none-any.whl.
File metadata
- Download URL: allowablestress-0.0.6-py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8819dee6f493513fe0ebaf470c9acf730b4ca7e69fcaf0708a592f7455da3e87
|
|
| MD5 |
575923115424225ccaf725760ca2af92
|
|
| BLAKE2b-256 |
09abe529cfd94dc6e758ebf18aef54b565b6e6cccb3abb235c60cd1eae8c810a
|