Skip to main content

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

Release files for allowablestress 0.0.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for allowablestress 0.0.6
File Size Uploaded
allowablestress-0.0.6.tar.gz 5.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for allowablestress 0.0.6
File Interpreter ABI Platform
allowablestress-0.0.6-py3-none-any.whl Python 3 none any Details

Total release size: 11.2 kB

Release files / allowablestress-0.0.6.tar.gz

Download URL allowablestress-0.0.6.tar.gz
Size 5.3 kB
Tags Source
SHA-256 checksum
How to use checksums
61ed0a0dcd4cdfaaa67d52ab3762a6f6a63a102da9c62db480a07c9eef137d44
BLAKE2b-256 checksum
How to use checksums
96725fc2530ec61430b7290a0a740d918f87f26045fcca6fc0d48c1818054b67
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.9

Release files / allowablestress-0.0.6-py3-none-any.whl

Download URL allowablestress-0.0.6-py3-none-any.whl
Size 5.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8819dee6f493513fe0ebaf470c9acf730b4ca7e69fcaf0708a592f7455da3e87
BLAKE2b-256 checksum
How to use checksums
09abe529cfd94dc6e758ebf18aef54b565b6e6cccb3abb235c60cd1eae8c810a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.10.9

Release history Release notifications | RSS feed

This release

0.0.6 This release

2 release files

0.0.5

1 release file

0.0.4

1 release file

0.0.3

2 release files

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page