Skip to main content

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

allowablestress-0.0.5.tar.gz (5.3 kB view details)

Uploaded Source

File details

Details for the file allowablestress-0.0.5.tar.gz.

File metadata

  • Download URL: allowablestress-0.0.5.tar.gz
  • Upload date:
  • Size: 5.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.9

File hashes

Hashes for allowablestress-0.0.5.tar.gz
Algorithm Hash digest
SHA256 8e60ed4b63ed334c5afb9c0363cc184f541f57decafef9a425d4a8efc001981c
MD5 64e0a6dc3884ce46ef8a7ce2fa2a54a5
BLAKE2b-256 6378a03c4033b31adae3d0f50b5d7f9c562f8a9e3ce862d9617afe4638a7dcd5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page