2014-11-06 542 views
1

我想計算失敗的概率,採用蒙特卡羅方法。失效概率 - 極限狀態函數 - 蒙特卡羅方法

的極限狀態方程是由物質的含量在時間t,C(X = A,T)比較所獲得,臨界含量,Ccrit:

LSF: g(Ccrit, C(x=a,t)) = Ccrit - C(x=a, t) < 0 

Ccrit如下β分佈Ccrit〜 B(平均值= 0.6,s = 0.15,a = 0.20,b = 2.0)。生成的分發:

r=((mean-a)/(b-a))*((((mean-a)*(b-mean))/(s^2))-1) 
t=((b-mean)/(b-a))*((((mean-a)*(b-mean))/(s^2))-1) 
Ccrit=beta.rvs(r,t,a,b,1e6) 

C(X = A,T)是其他11個變量(測試版,正常的,確定性的,對數正態分佈等)的功能,並用時間t而變化。這些變量已經被定義採用scipy.stats例如:

Var1=truncnorm.rvs(0, 1000, 60e-3, 6e-3, 1e6) 

(...)

Var11=Csax=dist.lognormal(l, z, 1e6) 

後所有的變量都產生我有困難計算PF。

我已經看到了:

P(Ccrit < C) = integral -inf to +inf Fccrit(c) * fC(c) dc 

導致PF,但我如何計算它毫無章法。

會感謝你的幫助,

謝謝

回答

1

好了,我怎麼理解你的問題,這是計算從原始蒙特卡洛模擬故障的概率方式:

pf = sum(I(g(x))/N 

where: 
N  - is the number of simulations 
x  - is the vector of all the involved random variables 
I(arg) - is an indicator function, defined as: 

    if arg < 0 
    I = 1 
    else 
    I = 0 
    end 

模擬方法基本上是爲了規避複雜或不可能的積分而發明的,在這種情況下不需要你提到的積分。

請記住,估計的變異係數與1/sqrt(N)成正比。

我試圖儘可能清楚地說明符號,以防萬一出現問題,請參閱this講義以獲得更好的格式。 我假設你使用了粗蒙特卡羅,但是對於重要性抽樣,你也可以在鏈接源中找到公式。

上述公式是時間不變的;你的問題涉及時間的事實使得整個任務更加困難。 解決方案技術依賴於時間的變化,因爲沒有細節在這方面,我只能建議你book (Melchers, Structural Reliability Analysis and Prediction),在此提出的細節處理給出:

在一般情況下,隨時間變化的問題,可以減少(在至少以近似的方式)到時變問題並且可以使用上述公式。或者,如果這對您的問題有意義,則可以使用上述草圖「方法」計算在每個時間段內發生故障的概率。

由於C是物質含量,該問題可能不包含隨機過程,而只是單調遞增(時間上)的隨機變量,在這種情況下失敗的概率是在最後時刻瞬間失效的時間濃度最接近臨界值),因此可以直接使用上述蒙特卡羅技術。這類問題被稱爲右邊界問題,更多詳情: Construction Reliability: Safety, Variability and Sustainability. Chapter 10

如果這不是你想完成請給我們更多的細節。

+0

Arpi,謝謝它的工作。閱讀完您的建議後確實很容易。我使用了以下內容:'g = Ccrit - C' 'N = 1e6' '#pf失敗概率# 'numbers = g' 'I = sum(1表示數字中的數字,如果數字<0 )' 'pf = I/N' – NFil 2014-11-10 09:40:10

+0

@NFIL我很高興能夠提供幫助。你是如何處理時間的? – Arpi 2014-11-10 09:44:47

+0

參數。基本上我必須設置x個方程,並在每個時間步中分別求解它們。所以時間最終會變成一個常量,因爲我所尋找的是在特定時刻的失敗。我已經繪製了使用可靠性分析軟件(FORM)獲得的已知結果的功能,並且結果完美匹配。再次感謝您的幫助。附:我正在使用10^6模擬,這對於我正在尋找失敗的概率應該沒有問題(保持在10%的範圍內)。 – NFil 2014-11-11 12:03:37