结构消防工程概率可靠性评估

sfeprap的Python项目详细描述


sfeprapy

一种概率分析工具,根据ISO 834火灾曲线的等效暴露时间,估计给定场景(如外壳几何结构、建筑类型、窗户面积等)的结构可靠性。

开始

需要python 3.7或更高版本。

安装

pip是一个用于安装和更新python包的包管理系统。pip随python一起提供,所以您只需安装python就可以获得pip。在ubuntu和fedora linux上,您只需使用系统包管理器安装python3 pip包。提供了一些关于如何在系统上安装python(如果还没有安装)的指导;您也可以直接从python.org安装python。在使用pip安装其他程序之前,您可能需要升级pip。

  1. 要使用pip从pypi安装:

    pip install --upgrade sfeprapy
    
  2. 要使用pip从github安装(需要git):

    pip install --upgrade "git+https://github.com/fsepy/SfePrapy.git@master"

用法

结构pra方法0的mcs:sfeprapy.mcs0

理想化的蒙特卡罗模拟过程:

  1. 问题定义;
  2. 示例输入;
  3. 迭代计算;和
  4. 后处理。

从源(或通过p i p安装时)运行sfeprapy.mcs0

python -m SfePrapy.mcs0

将弹出一个窗口,要求输入一个输入/问题定义文件。输入文件应为".csv"或".xlsx"格式。输入文件的结构在以下段落中说明。

当在同一目录中提供名为"config.json"的配置文件时,程序将尝试读取该文件并使用其中包含的参数。此文件中可以定义线程数(多重处理)和其他几个参数。

选择输入文件后,程序将起主导作用并运行计算,直到所有模拟完成。结果将保存在同一文件夹中。软件具有如下显示进度和一些统计数据的功能,非常方便。

CASE                    : Standard Case 1
NO. OF THREADS          : 4
NO. OF SIMULATIONS      : 1000100%|███████████████████|1000/1000 [00:09<00:00, 86.15it/s]
fire_type               : {0: 23, 1: 977}
beam_position_horizontal: -1.000    27.534    28.646
fire_combustion_efficien: 0.800     0.900     1.000
fire_hrr_density        : 0.240     0.250     0.260
fire_load_density       : 10.000    420.399   1500.000
fire_nft_limit          : 623.150   1323.150  2023.152
fire_spread_speed       : 0.004     0.011     0.019

CASE                    : Standard Case 2
NO. OF THREADS          : 4
NO. OF SIMULATIONS      : 1000100%|███████████████████|1000/1000 [00:10<00:00, 77.85it/s]
fire_type               : {0: 10, 1: 990}
beam_position_horizontal: -1.000    27.943    28.646
fire_combustion_efficien: 0.800     0.900     1.000
fire_hrr_density        : 0.240     0.250     0.260
fire_load_density       : 10.000    420.399   1500.000
fire_nft_limit          : 623.150   1323.150  2023.152
fire_spread_speed       : 0.004     0.011     0.019
输入参数

示例输入模板位于:

  • sfeprapy.mcs0.example_config_dict示例配置文件,dict对象;
  • sfeprapy.mcs0.example_input_dict:example input file,dict object;和
  • sfeprapy.mcs0.example_input_csv示例输入文件,strCSV格式。

下表总结了sfeprapy.mcs0模块所需的参数。

非可选杂项参数

案例名称:str

< Buff行情>

箱子/隔间的名称。在所有案例中都应该是独一无二的。这可用于组合时间等效结果时的后处理。

火灾模式:int

< Buff行情>

要定义要使用的设计激发: 仅限0-EC参数火灾; 1-仅限移动火灾; 2-EC参数火,德国附件; 3-上述选项0和1;或 4-如上所述的选项2和2。

n模拟:int

< Buff行情>

将要运行的模拟数。应进行敏感性分析,以确定适当数量的模拟。

概率权重:浮点

< Buff行情>

该特定情况(即隔间)在所有情况(即整个建筑物)中的火灾发生概率权重。 此参数不用于任何计算。sfeprapy.mcs0在每次迭代的输出中引用此参数,并可在POST期间使用-将基于概率权重的时间等效曲线组合到整个建筑物的处理。

隔间参数

房间宽度:浮动

< Buff行情>

房间的宽度(更大的尺寸)。

房间深度:浮动

< Buff行情>

房间深度(较短尺寸)。

房间高度:浮动

< Buff行情>

房间高度(楼板到天花板)。

室壁热惯性:浮子

< Buff行情>

[J/M/K/710_s]。 车厢内衬热惯性。

窗口宽度:浮点

< Buff行情>

隔间所有开口区域的总宽度。

窗口高度:浮动

< Buff行情>

所有开口区域的加权高度。

光束位置u垂直:浮动

< Buff行情>

TFM隔间内测试结构元件的高度。这可以改变,以评估高度在高隔间的影响。需要评估立柱的最坏高度。

光束位置U水平:浮动

< Buff行情>

相对于TFM的隔间长度的最小光束位置-线性分布。

车窗/自然通风孔

窗口打开分数:浮点

< Buff行情>

无量纲。 玻璃脱落部分。

window_open_fraction_permanent:浮点

< Buff行情>

无量纲。 使用此选项可强制打开一定比例的窗口。如果有通向外部的通风口,可在此处安装。

设计火灾参数

启动tlim:浮动

< Buff行情>

[小时] 在燃料控制火灾情况下的最高气体温度时间,可在附录A EN 1991-1-2中找到数值选项。 慢:25/60 中:20/60 快速:15/60

启动时间步骤:浮点

< Buff行情>

模型采用时间步长法,进行了各火时温度曲线和传热计算。建议小于30秒。

点火持续时间:浮点

< Buff行情>< [ s ] 模拟结束。应设置此项,以便生成输出数据,从而确定目标可靠性。通常将其设置为4小时或更长的一段时间以获得更大的房间长度,以便火灾传播到整个房间。

火灾荷载密度:浮子

< Buff行情>

[兆焦耳/米] 火灾荷载密度。应根据占用特点选择。有关不同占用的典型值,请参阅文献。

火灾密度:浮动

< Buff行情>

[兆瓦/米] 热释放率。这应该根据燃料来选择。有关不同占用的典型值,请参阅文献。

火力蔓延速度:浮动

< Buff行情>

[兆焦耳/米] tfm的最小传播速率。

火灾极限:浮动

< Buff行情>

〔°C〕 tfm近场温度。

燃烧效率:浮子

< Buff行情>

无量纲。 燃烧效率。

fire_gamma_fiu q:浮点值

< Buff行情>

无量纲。 EC火灾分项系数(德国附件)。

火焰阿尔法:浮动

< Buff行情>

火生长因子。

结构元件截面特性

梁截面区域:浮动,

< Buff行情>

截面的横截面积。

波束:浮点

< Buff行情>

[千克/立方米] 结构件的密度。

光束温度目标:浮动

< Buff行情>

[K] 结构元件(即钢)的失效温度,以开尔文为单位,用于目标搜索。

< /块OT>

保护外围:浮动

< Buff行情>

加热周长。

光束保护厚度:浮动

< Buff行情>

保护厚度。

保护k:浮点值

< Buff行情>

[W/m/k] 保护导电性。

保护区:浮点

< Buff行情>

[千克/立方米] 光束保护密度。

保护c:浮点

< Buff行情>

j/kg/k] 保护比热

解算器设置(用于时间等效)

解算器温度目标:浮动

< Buff行情>

[K] 需要解决的温度。这是梁结构元件的临界温度,即550或620℃。

解算器 < Buff行情>

无量纲。 求解器找到收敛点的最大迭代。建议20个,因为大多数(如果不是全部)情况在不到20次迭代中收敛。

解算器厚度绑定:浮点

< Buff行情>

求解保护厚度的最小值。

解算器厚度ubound:浮点

< Buff行情>

解决的保护厚度的最大值。

解算器公差:浮点

< Buff行情>

[K] 要解决的温度公差。设置为1表示当求解值大于解算器温度目标-1且小于解算器温度目标+1时,将满足收敛性。

phi teq:浮点值

< Buff行情>

无量纲。 模型不确定性系数乘以评估的特征时间等效值,得到设计时间等效值。

木材特性

木材外露区域:浮动

< Buff行情>

车厢内裸露的木材表面。将"木材外露区域"设置为"0",以忽略木材的影响。

木材碳化率:浮动

< Buff行情>

木材恒定炭化率。这与温度或热流无关。

木材:浮子

< Buff行情>

[MJ/KG] 木材燃烧热。

木材密度:浮子

< Buff行情>

[千克/立方米] 木材密度。

木材解决方案 < Buff行情>

无量纲。 解算器可以运行的最大迭代次数。应检查输出文件中的timber解算器以确定适当的值。如果许多求解值具有timber解算器i lim(或增加timber解算器t l),请考虑增加timber解算器i lim<

木材解算器公差:浮动

< Buff行情>

解算器的公差。如果时间等价性的变化小于timber_solver_tol

可用分布

在问题定义文件中将火灾荷载密度设置为常数:

<表><广告>参数 示例案例 < /广告><正文>嫀嫀嫀嫀火灾荷载密度嫀嫀嫀嫀

要将问题定义文件中的fire-load-u density设置为随机变量(gumbel-r分布):

<表><广告>参数 示例案例 < /广告><正文>嫀嫀嫀嫀火灾荷载密度:distGumbel_u r_u 火药负荷密度:平均值火灾荷载密度:sd火灾荷载密度:ubound2000年火灾荷载密度:lbound嫀嫀嫀嫀

以下各节介绍了分发的完整列表。

gumbel分布(右偏斜)

距离:str

< Buff行情>

设置为"gumbel r"以进行gumbel分布(右偏)。

平均值:浮点值

< Buff行情>

分布的真实平均值。

sd:浮点

< Buff行情>

分布的真标准差。

ubound:浮点

< Buff行情>

采样值的上限,即CDF的X轴的最大值。

lbound:浮点

< Buff行情>

采样值的下限,即CDF X轴的最小值。

对数正态分布

距离:str

< Buff行情>

对于对数正态分布,设置为"lognorm"。

平均值:浮点值

< Buff行情>

分布的真实平均值。

sd:浮点

< Buff行情>

分布的真标准差。

ubound:浮点

< Buff行情>

采样值的上限,即CDF的X轴的最大值。

lbound:浮点

< Buff行情>

采样值的下限,即CDF X轴的最小值。

对数正态分布(修正)

该分布给出1-_~,其中_~~是对数正态分布。

距离:str

< Buff行情>

对于修改后的对数正态分布,设置为"lognorm_mod"。

平均值:浮点值

< Buff行情>

分布的真实平均值。

sd:浮点

< Buff行情>

分布的真标准差。

ubound:浮点

< Buff行情>

采样值的上限,即CDF的X轴的最大值。

lbound:浮点

< Buff行情>

采样值的下限,即CDF X轴的最小值。

正态分布

距离:str

< Buff行情>

对于正态分布,设置为"norm"。

平均值:浮点值

< Buff行情>

分布的真实平均值。

sd:浮点

< Buff行情>

分布的真标准差。

ubound:浮点

< Buff行情>

采样值的上限,即CDF的X轴的最大值。

lbound:浮点

< Buff行情>

采样值的下限,即CDF X轴的最小值。

均匀分布

ubound:浮点

< Buff行情>

采样值的上限,即分布的CDF的X轴的最大值。

lbound:浮点

< Buff行情>

采样值的下限,即分布的CDF的X轴的最小值。

限制

< < < /P> >

作者

ian fu-fuyans@gmail.com丹尼·霍普金-danny.hopkin@ofrconsultants.comieuan rickard-ieuan.rickard@ofrconsultants.com

许可证

此项目是在麻省理工学院许可证下授权的-有关详细信息,请参见许可证文件

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Android上已连接音频输入设备的java列表   java是创建类的新对象还是使用静态方法?   Java:Shift/Rotate对象数组   Java Casting ArrayIterator<Object>   在java中返回布尔值时出错   无法确定文本文件读入程序(java)中的各种元素   Java Swing JToolBar   JAVAlang.IllegalStateException执行Ghost4J(Linux 32对64位)   jvm如何增加ubuntu系统的java堆化?   java CORS策略“AccessControlAllowOrigin”(Anguar 8和Servlet)   使用dagger 2的java视图依赖项注入   单元测试中RxJava的java模拟活动生命周期   arraylist中的Java打印字符串   java返回值显示为0.0。为什么会这样?   java是clientserver应用程序所必需的MVC吗?   ByteToMessageDecoder类中的java内存泄漏   java将大量文档写入firestore   GWT项目中的java TomcatMaven插件。两者之间的区别是什么:org。科德豪斯。魔咒和组织。阿帕奇。公猫maven插件   java swing:向JTree项添加自定义图形按钮