blastFoam水下爆炸数值仿真计算

本文介绍了如何在开源软件blastFoam中修改水下爆炸数值仿真模型,涉及JWL、Tait和LinearTilloston状态方程的使用。通过调整状态方程参数,模拟了不同介质下的爆炸效果,并展示了压力场和压力时间曲线的差异。未来工作包括与商业软件的比较和二次开发。
摘要由CSDN通过智能技术生成

目前,常用的水下爆炸数值仿真软件均为商业软件,例如AUTODYN、LS-DYNA和MSC.DYTRAN等。基于开源OpenFOAM框架,blastFoam提供了可用于进行爆炸数值仿真的模块,其源代码下载地址为https://github.com/synthetik-technologies/blastfoam,安装及其使用可参考其用户手册《blastFoam Theory and User Guide》。
本文的主要目的是建立blastFoam对应的水下爆炸数值仿真模型并进行计算。由于blastFoam已经给出装药空中爆炸对应的算例(对应路径为/home/zyh/ OpenFOAM/blastfoam/tutorials/blastFoam/axisymmeticCharge),因此本文将在此基础上对部分内容进行修改,主要集中于流体介质的状态方程,即将空气采用的理想气体状态方程修改为水介质采用的Tait状态方程或者多项式状态方程,此外,删除了原有算例中对自适应网格的设置,将C4装药改为了TNT。

1、JWL状态方程

用户手册中,Mie-Grüneisen状态方程的一般形式为
式(1) p = ( Γ i − 1 ) ρ i e − Π i p=\left( \varGamma _i-1 \right) \rho _ie-\varPi _i p=(Γi1)ρieΠi
式中,Γi为Grüneisen系数,Πi为与理想气体的压力偏差项,与具体状态方程形式有关。
用户手册给出的JWL状态方程形式为
式(2) Π i = A i e − R 1 , i V ( ω i R 1 , i V − 1 ) + B i e − R 2 , i V ( ω i R 2 , i V − 1 ) − ρ i ω i e 0 , i \varPi _i=A_i\mathrm{e}^{-R_{1,i}V}\left( \frac{\omega _i}{R_{1,i}V}-1 \right) +B_i\mathrm{e}^{-R_{2,i}V}\left( \frac{\omega _i}{R_{2,i}V}-1 \right) -\rho _i\omega _ie_{0,i} Πi=AieR1,iV(R1,iVωi1)+BieR2,iV(R2,iVωi1)ρiωie0,i
式中,V=ρ0,i/ρi。
将式(2)代入式(1)可得
式(3) p = ( Γ i − 1 ) ρ i e − [ A i e − R 1 , i V ( ω i R 1 , i V − 1 ) + B i e − R 2 , i V ( ω i R 2 , i V − 1 ) − ρ i ω i e 0 , i ] = A i e − R 1 , i V ( 1 − ω i R 1 , i V ) + B i e − R 2 , i V ( 1 − ω i R 2 , i V ) + ρ i ω i ( e 0 , i + e ) = A ( 1 − ω R 1 V ) exp ⁡ ( − R 1 V ) + B ( 1 − ω R 2 V ) exp ⁡ ( − R 2 V ) + ρ ω ( e 0 + e ) p=\left( \varGamma _i-1 \right) \rho _ie-\left[ A_i\mathrm{e}^{-R_{1,i}V}\left( \frac{\omega _i}{R_{1,i}V}-1 \right) +B_i\mathrm{e}^{-R_{2,i}V}\left( \frac{\omega _i}{R_{2,i}V}-1 \right) -\rho _i\omega _ie_{0,i} \right] \\=A_i\mathrm{e}^{-R_{1,i}V}\left( 1-\frac{\omega _i}{R_{1,i}V} \right) +B_i\mathrm{e}^{-R_{2,i}V}\left( 1-\frac{\omega _i}{R_{2,i}V} \right) +\rho _i\omega _i\left( e_{0,i}+e \right) \\=A\left( 1-\frac{\omega}{R_1V} \right) \exp \left( -R_1V \right) +B\left( 1-\frac{\omega}{R_2V} \right) \exp \left( -R_2V \right) +\rho \omega \left( e_0+e \right) p=(Γi1)ρie[AieR1,iV(R1,iVωi1)+BieR2,iV(R2,iVωi1)ρiωie0,i]=AieR1,iV(1R1,iVωi)+BieR2,iV(1R2,iVωi)+ρiωi(e0,i+e)=A(1R1Vω)exp(R1V)+B(1R2Vω)exp(R2V)+ρω(e0+e)
式中,Γi=ω+1;A,B,R1,R2和ω均为状态方程系数;e0为补偿内能,即参考状态下的内能。
文献中标准的JWL状态方程为
式(4)
p = A ( 1 − ω R 1 V ) exp ⁡ ( − R 1 V ) + B ( 1 − ω R 2 V ) exp ⁡ ( − R 2 V ) + ω e V p=A\left( 1-\frac{\omega}{R_1V} \right) \exp \left( -R_1V \right) +B\left( 1-\frac{\omega}{R_2V} \right) \exp \left( -R_2V \right) +\frac{\omega e}{V} p=A(1R1Vω)exp(R1V)+B(1R2Vω)exp(R2V)+Vωe
通过对比式(3)和式(4)可以发现,除内能的物理含义不同外,二者相同。在式(3)中,内能是单位质量内能,式(4)中内能项为单位体积内能。因此,借助式(3)描述高能装药爆轰产物做工能力时,可直接借助式(4)给出的参数。
对于高能装药,还需设定其爆轰参数。特别需要注意的是,此时初始内能为单位体积内能,而非状态方程中的单位质量内能。表1给出了TNT对应的JWL状态方程和爆轰参数。
表1 TNT炸药JWL状态方程及爆轰参数
A/GPa B/GPa R1 R2 ω pCJ/GPa D/(m∙s-1) ρ/(kg/m3) eV0/GPa
371.2 3.231 4.15 0.95 0.3 21 6930 1630 7.0
在这里插入图片描述

2、Tait状态方程

用户手册中Tait状态方程形式如下:
式(5)
p i = ( γ i − 1 ) ρ i e i − γ i ( b i − a i ) p_i=\left( \gamma _i-1 \right) \rho _ie_i-\gamma _i\left( b_i-a_i \right) pi=(γi1)ρieiγi(biai)
在水下爆炸理论中,常用的Tait等熵状态方程为
式(6)
( ρ ρ 0 ) n = p + B ˉ p 0 + B ˉ = p + B − A B \left( \frac{\rho}{\rho _0} \right) ^n=\frac{p+\bar{B}}{p_0+\bar{B}}=\frac{p+B-A}{B} (ρ0ρ)n=p0+Bˉp+Bˉ=Bp+BA
文献《A Non-oscillatory Eulerian Approach to Interfaces in Multimaterial Flows (the Ghost Fluid Method)》中给出了式(6)对应的内能为
式(7)
e = B ρ n − 1 ( n − 1 ) ρ 0 n + B − A ρ e=\frac{B\rho ^{n-1}}{\left( n-1 \right) \rho _{0}^{n}}+\frac{B-A}{\rho} e=(n1)ρ0nBρn1+ρBA
结合式(6),上式可简化为
式(8)
e = B ρ n − 1 ( n − 1 ) ρ 0 n + B − A ρ = B ( n − 1 ) ρ ρ n ρ 0 n + B − A ρ = p + B − A ( n − 1 ) ρ + B − A ρ e=\frac{B\rho ^{n-1}}{\left( n-1 \right) \rho _{0}^{n}}+\frac{B-A}{\rho}=\frac{B}{\left( n-1 \right) \rho}\frac{\rho ^n}{\rho _{0}^{n}}+\frac{B-A}{\rho}\\=\frac{p+B-A}{\left( n-1 \right) \rho}+\frac{B-A}{\rho} e=(n1)ρ0nBρn1+ρBA=(n1)ρBρ0nρn+ρBA=(n1)ρp+BA+ρBA

式(9)
( n − 1 ) ρ e = p + B − A + ( n − 1 ) ( B − A ) = p + n ( B − A ) p = ( n − 1 ) ρ e − n ( B − A ) \left( n-1 \right) \rho e=p+B-A+\left( n-1 \right) \left( B-A \right) =p+n\left( B-A \right) \\p=\left( n-1 \right) \rho e-n\left( B-A \right) (n1)ρe=p+BA+(n1)(BA)=p+n(BA)p=(n1)ρen(BA)
通过对比式(5)和式(9)可以发现,二者完全一致,只是符号表示有所不同罢了。文献中同样给出了水介质对应的参数值,即γi=n=7.15,bi=B=3.31×108Pa,ai=A=101325Pa,ρ0=1000kg/m3。对Tait状态方程更多的分析可参考贾曦雨博士的学位论文《水下爆炸近场冲击波研究》。

3、 Linear Tilloston状态方程

用户手册中与多项式状态方程类似的状态方程为Linear Tilloston状态方程,形式如下
式(10)
p i = p 0 , i + ω i ρ i ( e T − e 0 , i ) + A i μ + B i μ 2 + C i μ 3 = p 0 + ω ρ ( e T − e 0 ) + A μ + B μ 2 + C μ 3 p_i=p_{0,i}+\omega _i\rho _i\left( e_T-e_{0,i} \right) +A_i\mu +B_i\mu ^2+C_i\mu ^3\\=p_0+\omega \rho \left( e_T-e_0 \right) +A\mu +B\mu ^2+C\mu ^3 pi=p0,i+ωiρi(eTe0,i)+Aiμ+Biμ2+Ciμ3=p0+ωρ(eTe0)+Aμ+Bμ2+Cμ3
式中,p0和e0分别为参考压力和内能。
目前,数值仿真软件中常用的多项式状态方程形式为
式(11)
p = { A 1 μ + A 2 μ 2 + A 3 μ 3 + ( B 0 + B 1 μ ) ρ 0 e M , μ ⩾ 0 T 1 μ + T 2 μ 2 + B 0 ρ 0 e M , μ < 0 p=\begin{cases} A_1\mu +A_2\mu ^2+A_3\mu ^3+\left( B_0+B_1\mu \right) \rho _0e_M,\mu \geqslant 0\\ T_1\mu +T_2\mu ^2+B_0\rho _0e_M,\mu <0\\\end{cases} p={A1μ+A2μ2+A3μ3+(B0+B1μ)ρ0eM,μ0T1μ+T2μ2+B0ρ0eM,μ<0
式(12)
p = { a 1 μ + a 2 μ 2 + a 3 μ 3 + ( b 0 + b 1 μ + b 2 μ 2 + b 3 μ 3 ) ρ 0 e M , μ ⩾ 0 a 1 μ + ( b 0 + b 1 μ ) ρ 0 e M , μ < 0 p=\left\{ \begin{array}{l} a_1\mu +a_2\mu ^2+a_3\mu ^3+\left( b_0+b_1\mu +b_2\mu ^2+b_3\mu ^3 \right) \rho _0e_M,\mu \geqslant 0\\ a_1\mu +\left( b_0+b_1\mu \right) \rho _0e_M,\mu <0\\\end{array} \right. p={a1μ+a2μ2+a3μ3+(b0+b1μ+b2μ2+b3μ3)ρ0eM,μ0a1μ+(b0+b1μ)ρ0eM,μ<0
式(13)
p = { C 0 + C 1 μ + C 2 μ 2 + C 3 μ 3 + ( C 4 + C 5 μ + C 6 μ 2 ) e V , μ ⩾ 0 C 0 + C 1 μ + C 3 μ 3 + ( C 4 + C 5 μ ) e V , μ < 0 p=\left\{ \begin{array}{l} C_0+C_1\mu +C_2\mu ^2+C_3\mu ^3+\left( C_4+C_5\mu +C_6\mu ^2 \right) e_V,\mu \geqslant 0\\ C_0+C_1\mu +C_3\mu ^3+\left( C_4+C_5\mu \right) e_V,\mu <0\\\end{array} \right. p={C0+C1μ+C2μ2+C3μ3+(C4+C5μ+C6μ2)eV,μ0C0+C1μ+C3μ3+(C4+C5μ)eV,μ<0
通过对比可以发现,式(10)与式(13)最为接近,不过式(10)中与内能项有关的参数较小。水介质对应式(13)的参数如表2所示,将该组参数应用于式(10)时令C5=0,该操作将引入误差,未来应寻找式(10)对应的参数或者直接扩展blastFoam对应的状态方程,即将式(13)引入blastFoam。
表2 水介质状态方程参数
C0/Pa C1/GPa C2/GPa C3/GPa C4 C5 C6
101325 2.2 9.54 14.57 0.28 0.28 0
在这里插入图片描述

4、仿真结果

状态方程设置位于文件case/constant/phaseProperties。除状态方程外,还需在该文件内修改热力学模型及其参数,该部分主要参考自用户手册及相关教程案例,其可靠性本文并未考证(在商业软件中,根据已有经验,热力学模型很少使用)。对于网格、离散格式、线性方程求解算法、时间控制、观测点设置等,主要参考自原案例,只对部分参数进行了修改,例如将网格尺寸由1m改为0.1m,取消了自适应网格等,不再赘述。
t=0.01s时的压力场如图1所示。可以看出,采用不同水介质状态方程时,压力仿真结果有一定的差别。
Tait
(a)Tait
Linear Tilloston
(b)Linear Tilloston
图1 压力场仿真结果
图2给出了5倍装药半径处的压力时间曲线。可以看出,不同状态方程对应的曲线在衰减阶段的大部分时间内重合,但波峰处差距较大。

图2 5倍装药半径处压力时间曲线
图2 5倍装药半径处压力时间曲线

5、 小结

本文只是对blastFoam在自由场水下爆炸问题中应用的初步探索,并未对仿真结果的精度进行验证,因此可能存在一些问题。未来将对blastFoam给出的仿真结果与商业软件进行对比,并进行二次开发,进一步拓展blastFoam的使用范围。


blastFoam输入文件可在CSDN搜索下载,资源名为“blastFoam水下爆炸数值仿真文件”。
在这里插入图片描述

1.ANSYS SOLID65环向布置钢筋的例子 3 2.混凝土非线性计算实例(1)- MISO单压 5 3.混凝土非线性计算实例(2)- MISO约束压 6 4.混凝土非线性计算实例(3)- KINH滞回 9 5.混凝土非线性计算实例(4)- KINH压-拉裂 11 6.混凝土非线性计算实例(5) 12 7.混凝土非线性计算实例(6) 14 8.混凝土非线性计算实例(7)- MISO滞回 16 9.混凝土非线性计算实例(8) 18 10.混凝土非线性计算实例(9)-梁平面应力 20 11.四层弹簧-质点模型的地震分析 22 12.悬臂梁地震分析 48 13.用beam 54单元描述变截面梁的例子 72 14.变截面梁实例 73 15.拱桥浇筑过程分析-单元生死应用实例 74 16.简支梁实体与预应力钢筋分析实例 75 17. 简单的二维焊接分析-单元生死实例 77 18.隧道开挖(三维)的命令流 84 19.岩土接触分析实例 101 20.钢筋混凝土管的动力响应特性分析实例 109 21.隧道模拟开挖命令流(入门) 116 22.螺栓连接的模拟实现问题 119 23.道路的基层、垫层模量与应力之间的关系 129 23.滞回分析 151 24.模拟某楼层浇注 153 25.在面上施加移动的面力 155 27.在任意面施加任意方向任意变化的压力 159 28.预紧分析 160 29.几何非线性+塑性+接触+蠕变 162 30.埋设在地下的排水管道 167 32.幕墙企业玻璃简化计算 172 33.等截面杆单元生死应用实例 188 34.梁板建模联系 189 36.简单的例子-如何对结构的振动控制分析 192 37.模态分析结果的输出实例 194 38.火车过桥动态加载实例(部分) 196 39.悬索结构的找形和计算的例题 213 40.陶瓷杆撞击铝板的例子 218 41.求反作用力的APDL命令法 221 42.LS-DYNA实例(部分) 222 43.路面分层填筑对路基的影响 223 44.一个例子(含地震影响,求振兴与频率) 227 45.接触面上的压力总和 231 46.施加位置函数荷载 235 47.非线性分析考虑刚度退化 236 48.一个圆形水池的静力分析 237 49.ANSYS中混凝土模式预应力模拟的算例 238 50.悬臂梁受重力作用发生大变形求其固有频率 240 51.循环对称结构模态分析 242 52.三角平台受谐波载荷作用的结构响应 244 53.三角平台受一地震谱激励的应力分布和支反力 246 54.三角平台受时程载荷作用的应力分布和变形过程 248 55.经典层合板理论 250 56.定易圆轨迹的例子 257 57.模拟门式刚架施工-单元生死 257 58.钢筋混凝土整体式模型例子 260 59.在荷载步之间改变材料属性例子 262 60.含预应力的特征值屈曲计算 263 61.振型叠加计算及工况组合例子 265 62.柱子稳定分析算(预应力,特征值屈曲,初始缺陷) 268 63. module MConcrete !混凝土模板 271 64.混凝土开裂实例 279 65.螺栓网格划分 280 66.自由液面的土石坝平面渗流分析 281 67.导出刚度矩阵 285 68.某混凝土拱坝工程施工期及运行期温度场仿真分析 286 69.移动温度荷载计算 293 70.SHSD用于壳-实体装配实例An 295 71.ansys显示-隐式-回弹分析实例 299 72.工况组合的经典例子 314
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

郑永辉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值