基于GIS的爆炸灾害数值模拟

1 在线模拟示例

    在线模拟示例

    

       蒸气云爆炸(Vapor Cloud Explosion, VCE)是由于气体或易挥发液体燃料的大量快速泄漏,与周围空气混合形成“预混云”,在某一有限空间遇点火而导致的爆炸.当液化石油气罐体在机械作用、化学作用或热作用下发生破坏导致液化气快速泄漏后与周围空气形成爆炸性混合气云,在遇到延迟点火的情况下被引爆,发生VCE.VCE的破坏作用有爆炸冲击波、热辐射和碎片作用等,其中爆炸冲击波的破坏作用最强,破坏区域最大.常见的冲击波伤害-破坏准则有:超压准则、冲量准则、压力-冲量准则等.本文评价采用超压准则.研究表明,影响VCE行为的主要参数众多,主要有:泄漏物质种类、存储方式、泄漏数量、物质蒸发百分数、气云引燃的可能性、气云引燃前的延迟时间以及爆炸效率等参数。

2 TNT当量模型

    TNT模型把物质爆炸的破坏作用转化成 TNT爆炸的破坏作用。 虽然多年来模型经过大量研 究,但是由于自身限制。 此方法现仅普遍用于较 为简单的蒸气云爆炸模拟。 TNT模型在运用中通 过公式计算得出等量的TNT 的量,进而算出数 值,进行评估。 评估结果可用于危险分区,也可以 用于进一步计算伤害区域内人员的伤害程度,破 坏范围内物体损坏程度和直接经济损失。

当发生爆炸时,可以用释放相同能量的TNT炸药的质量表示,即TNT当量。其计算公式为:
WTNT =1.8·α·W·QV / QTNT
式中,WTNT—A物质的梯恩梯当量(kg);
α—蒸汽云爆炸的效率因子,取4%;
W—为A物质质量(kg);
QV—为A物质热值(KJ/kg);
QTNT—为TNT的爆炸热,取4520KJ/kg。
(1)死亡半径R1
该区内的人员如缺少防护,则被认为将无例外地蒙受严重伤害或死亡,死亡半径根据以下公式计算:
R1=13.6×(WTNT/1000)0.37
(2)重伤半径R2
该区的人员如缺少防护,则绝大多数人员将遭受严重伤害,极少数人可能死亡或受轻伤。
重伤半径R2根据以下公式计算:
R2=Z·(E/P0)1/3
ΔPS=0.137Z-3+0.119Z-2+0.269Z-1-0.019
ΔPS=44000/P0
其中:P0=101300Pa,解得Z=1.099;E为爆炸总能量(J),E =WTNT×QTNT。
可计算重伤半径R2。
(3)轻伤半径R3
该区内的人员如缺少防护,则绝大多数人员将遭受轻微伤害,少数人将受重伤或平安无事,死亡的可能性极小。
轻伤半径R3根据以下公式计算:
R2=Z·(E/P0)1/3
ΔPS=0.137Z-3+0.119Z-2+0.269Z-1-0.019
ΔPS=17000/P0
其中:P0=101300Pa,解得Z=1.96;E为爆炸总能量(J),E =WTNT×QTNT。
可计算轻伤半径R3。
当发生爆炸时,爆炸产生的冲击波对人体将造成伤害。
(4)爆炸超压
Pi=3.9/Z1.85+0.5/Z
Pi为爆炸超压(MPa),其中Z为爆炸特征长度,计算方法如下:
Z=R/WTNT1/3
通过上面两个公式可知:
当知道某个距离,可以求得该距离下的超压值;
或知道某个超压值时,可以求出该超压值对应的距离。
不同的爆炸波超压对人体的损伤不同。

3 TNO多能法

     TNO多能法是目前模拟预测蒸汽云爆炸的常用方法,是荷兰TNO实验室于1985年在大量的试验和数值研究基础上提出并逐步完善起来的.TNO多能法属于-维数值模型,在TNO模型基础上进行改进,综合考虑了湍流加速、局部约束、气体火星等各种因素,是一个分析蒸(云爆炸的原则、方法模型假设蒸气云为半球形,中心点火,火焰以恒定速度传播,然后计算不同燃烧速度下的蒸气云爆炸,获得-组爆炸强度曲线经大量实验结果验证和修正,比较接近事实。多能法的计算步骤一般包括: ①识别潜在的强烈爆炸子源:②确定该子源的能量:③确定初始爆炸烈度:④确定伤害半径" 。

 下边给一个Python解方程参考(2021-07-31_0.137 0.119 死亡半径_psxhh的博客-CSDN博客):

# 蒸汽云爆炸模型:参数为爆炸物质量(kg)、爆照物的燃烧热(kj/kg),某个距离(m,求超压值,可填0至多个距离)
# 返回值为tnt当量,辐射损伤范围,冲击波损伤范围,某个距离的超压值(若用户输入)
# auth:hui mail:psxhh@outlook.com
def model_ace( wf, qf, *distance):
    wtnt = 1.8 * 0.04 * wf * qf / 4520
    # 热辐射死亡半径、重伤半径、轻伤半径(m)
    def thermal_rad(wtnt):
        rad_death = 13.6 * (wtnt / 1000) ** 0.37
        rad_severe_wound = 1.089 * ((wtnt * 4520 * 1000 / 101300) ** (1 / 3))
        rad_slight_wound = 1.957 * ((wtnt * 4520 * 1000 / 101300) ** (1 / 3))
        return round(wtnt, 2), round(rad_death, 2), round(rad_severe_wound,2), round(
            rad_slight_wound, 2)
    # 炮炸冲击波伤害距离
    def shock_wave_rad(wtnt):
        solution = []
        # 二分法迭代
        def dichotomy(pi, left, right):
            def dic(dis):
                z = dis / wtnt ** (1 / 3)
                return 3.9 / z ** 1.85 + 0.5 / z - pi
            mid = 0.5 * (left + right)
            if right - left > 0.0001:
                if dic(left) * dic(mid) < 0:
                    solution.append('1')
                    return dichotomy(pi, left, mid)
                else:
                    return dichotomy(pi, mid, right)
            else:
                # 判断有无解
                if len(solution) != 0:
                    return mid
                else:
                    print('unsolvable')
        # 大于r1大部分人死亡距离;r1-r2内脏严重损伤或死亡;r2-r3人员严重伤害;r3-r4人员轻微伤害
        r1 = dichotomy(0.1, 0.001, 10 ** 10)
        r2 = dichotomy(0.05, 0.001, 10 ** 10)
        r3 = dichotomy(0.03, 0.001, 10 ** 10)
        r4 = dichotomy(0.02, 0.001, 10 ** 10)
        # 判断用户是否输入某个距离,求爆炸超压
        if len(distance) != 0:
            pi = []
            for i in distance:
                # 爆炸特征长度
                z = i / (wtnt) ** (1 / 3)
                # 爆炸超压峰值
                result = 3.9 / z ** 1.85 + 0.5 / z
                result = round(result, 3)
                pi.append(result)
            return round(r1, 2), round(r2, 2), round(r3, 2), round(r4,2), pi
        else:
            return round(r1, 2), round(r2, 2), round(r3, 2), round(r4,2)
    r_th=thermal_rad(wtnt)
    r_sh=shock_wave_rad(wtnt)
    return r_th,r_sh
package com.planet.engine.bang.param;

import lombok.Data;

/**
 * 业务参数
 */
@Data
public class BangBusParam {
    /**
     * 储物体积,m3
     */
    private double volume = 100D;

    /**
     * 储物密度,kg/m3
     */
    private double density = 450D;

    /**
     * 充装系数
     */
    private double fillingRatio = 0.9D;

    /**
     * TNT爆炸热,kj/kg
     */
    private double hTnt = 4520D;

    /**
     * 目标材料爆炸热,kj/kg
     */
    private double hChem = 55600D;

    /**
     * 死亡半径超压,Pa
     */
    private double ps0 = 100000D;

    /**
     * 重伤半径超压,Pa
     */
    private double ps1 = 44000D;

    /**
     * 轻伤半径超压,Pa
     */
    private double ps2 = 17000D;

    /**
     * 财产损失半径超压,Pa
     */
    private double ps3 = 13800D;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于GIS(地理信息系统)和BP(反向传播)神经网络的崩塌滑坡地质灾害易发性预测是一种利用地理信息数据和神经网络算法来评估地质灾害发生风险的方法。这种预测模型可以综合分析地理环境、地质条件、人类活动和降雨等因素,准确预测潜在的崩塌滑坡区域。 首先,在GIS中,我们收集和整理了地理环境和地质条件的空间数据。包括土地利用类型、坡度、地形起伏、土壤类型、地质构造等,这些因素与崩塌滑坡发生有关。然后,通过建立地理数据库,将这些数据转换为数字化信息。同时,还需要收集历史地质灾害的点线面数据,用于训练和验证模型。 其次,利用建立好的GIS数据库,我们将数据输入到BP神经网络中进行训练和预测。BP神经网络是一种常用的人工神经网络算法,可以通过反向传播算法不断优化权重和偏置,从而提高预测准确性。训练时,我们将历史地质灾害的数据作为输入和输出,让神经网络学习其内在的关联规律。训练完毕后,我们可以使用该模型对未来可能发生的地质灾害进行预测。 最后,基于预测结果,我们可以制作易发性评估地图,将不同区域的崩塌滑坡风险进行分类和呈现。同时,该模型还可以进行敏感性分析,对不同因素的影响程度进行评估。这样,相关部门可以根据预测结果和地质灾害风险评估的工作进行有效的地质灾害防治规划和决策制定。 综上所述,基于GIS与BP神经网络的崩塌滑坡地质灾害易发性预测能够通过整合和分析多种地理信息数据,建立预测模型,为地质灾害防治提供科学依据。这种方法的可行性和准确性对于预防和减轻地质灾害的影响至关重要。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值