以鋼板剪力牆為例,其鋼板長度為B=2500mm,採用3片厚度為t=25mm以中心距間隔15cm做隔板銲接(檢核隔板寬厚比和母材間距寬厚比),材質為SM400B(Fy=235MPa),其誤差計算的實際強度為7590982N。結構功能函數,為Z=R-B,在Z<0時,屬於結構失效狀態,採計1次結構失效。經蒙特卡洛法於求取失效概率後,以可靠度指標函數求取可靠度指標,並反覆修改結構尺寸誤差以符合要求,使得可靠度指標介於3﹒1~4﹒4。
結構功能函數
Z = sqrt(3) / 9 * Fy * B * t - 7590982;
蒙特卡洛法
#include <stdio.h>
#include <math.h>
int main() {
int i, failure;
double Z, times;
failure = 0;
times = pow(10, 9);
for (i = 0; i < times; i++) {
// 結構尺寸變數和材料強度變數的統計概率函數
// 結構功能函數
if (Z < 0)
failure++;
}
printf("%11.9f\n", failure / times);
return 0;
}
Mathematica求取可靠度指標
可靠度指標要求之範圍
在C語言程式中,採用十億次迴圈對Z做計算,亦即最小失效概率是十億分之一,其可靠度指標為5.997807015007687,該數字已經超過4.4的標準。以十億次迴圈來說,結構失效次數達到1000次以上,其可靠度指標為4.753424308822899,亦即可靠度指標在4.75以下時,結構失效次數都會在1000次以上,此結構失效次數已不致於有不精確之問題。蒙特卡洛法在結構可靠度的應用,採取十億次迴圈對結構失效計數,已經足以反映要求的結構失效概率。
結構功能函數
Z = sqrt(3) / 9 * Fy * B * t - 7590982;
蒙特卡洛法
#include <stdio.h>
#include <math.h>
int main() {
int i, failure;
double Z, times;
failure = 0;
times = pow(10, 9);
for (i = 0; i < times; i++) {
// 結構尺寸變數和材料強度變數的統計概率函數
// 結構功能函數
if (Z < 0)
failure++;
}
printf("%11.9f\n", failure / times);
return 0;
}
Mathematica求取可靠度指標
可靠度指標要求之範圍
在C語言程式中,採用十億次迴圈對Z做計算,亦即最小失效概率是十億分之一,其可靠度指標為5.997807015007687,該數字已經超過4.4的標準。以十億次迴圈來說,結構失效次數達到1000次以上,其可靠度指標為4.753424308822899,亦即可靠度指標在4.75以下時,結構失效次數都會在1000次以上,此結構失效次數已不致於有不精確之問題。蒙特卡洛法在結構可靠度的應用,採取十億次迴圈對結構失效計數,已經足以反映要求的結構失效概率。
蒙特卡洛法對結構功能函數失效統計十億次 | |||||||
可靠度指標(β) | 3﹒1 | 3﹒2 | 3﹒3 | 3﹒4 | 3﹒5 | 3﹒6 | 3﹒7 |
結構失效次數(x) | 967603 | 687138 | 483424 | 336929 | 232629 | 159109 | 107800 |
蒙特卡洛法對結構功能函數失效統計十億次 | |||||||
可靠度指標(β) | 3﹒8 | 3﹒9 | 4﹒0 | 4﹒1 | 4﹒2 | 4﹒3 | 4﹒4 |
結構失效次數(x) | 72348 | 48096 | 31671 | 20657 | 13345 | 8539 | 5412 |