基于reactingFoam的管道内预混氢气点火爆炸
-
场景描述
5cm5cm50cm密闭管道内充满当量比预混氢气,在管道一端点火,观察火焰传播。
算例描述
问题简化为2维问题,湍流模型选择SST(我的算例不知道为何选择别的湍流模型会发散) ,点火点通过设置2500k温度进行点火(k 50, omega 5000),网格尺寸为0.1cm,单个算例7773X单核计算时间约为500s,求解器为reactingFoam,输运模型为EDC 2005,详细反应机理。
问题描述
在试验中,火焰形成指形火焰后,点火端应该先接触上下壁面,然后逐渐向前沿传播,火焰前端较尖锐,但是在模拟中指形火焰前端过于圆润,而且在靠近火焰尖端的地方先接触壁面,导致下一个阶段平面火焰出现的比较晚而且形状不对。自己调参测试(已经测试很久)过壁面条件、初始参数和离散格式,目前发现离散格式影响很大,但是不知道如何设置,只能碰运气,未发现效果更好的离散格式。
希望大佬能给出一些修改意见
如果大家感兴趣,可以上传完整算例
PS.在fluent中EDC确定能够实现这种模拟。下面为对比图,场景尺寸不完全一样,但是现象肯定是一致的。目前没有对一样尺寸试验结果进行定量对比,想要先现象能对应上。
reactingFoam模拟
论文 8.2cm8.2cm40cm场景下试验与FLUENT模拟
离散格式ddtSchemes { default backward;//Euler; } gradSchemes { default Gauss linear; grad(U) cellLimited leastSquares 1; grad(k) cellLimited leastSquares 1; grad(epsilon) cellLimited leastSquares 1; grad(omega) cellLimited leastSquares 1; } divSchemes { default bounded Gauss linearUpwind limited;//Gauss limitedLinear 1; div(phi,U) Gauss linearUpwind grad(U); div(phi,Yi_h) Gauss MUSCL; div(phid,p) Gauss linearUpwind grad(U); div(phi,K) Gauss limitedLinear 0.5;//Gauss linearUpwind default; div(phi,epsilon) Gauss linearUpwind default; div(phi,omega) Gauss linearUpwind default; div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear orthogonal; } interpolationSchemes { default linear; } snGradSchemes { default orthogonal; } wallDist { method meshWave; }
初始化变量
regions ( cylinderToCell { p1 (0 0 0); p2 (0 0 0.01); radius 0.0075; fieldValues ( volScalarFieldValue T 2500 volScalarFieldValue k 100 volScalarFieldValue omega 5000 volScalarFieldValue N2 1 ); } );
-
这个原因有两个:分别在transport model和reactingFoam上。
- 不管哪个版本的OpenFOAM,都是用的unity Lewis transport model。Lewis number假设为1,那么,质量扩散率和热量扩散率相等。
$$Le = \frac {\lambda}{\rho D c_p}$$
通俗地说,组分的扩散和热量的扩散很可能就是同步的,这个时候空间的组分差异和热量差异其实是一致的,当量比和温度一样导致组分和热量的扩散又一致,如此循环,火焰锋面就不可能变得尖锐,因为组分扩散导致的能量输运因为1的假设被忽略了。解决这个问题就是用multicomponent或mixture-averaged或constant but non-unity Lewis number transport model。按这个顺序 ,精度逐渐降低,计算逐渐便宜,但都非常好。 - 因为reactingFoam把Schmidt number也假设为1,质量扩散率等于粘度,所以reactingFoam求解器里的组分和能量方程也都要修改。
$$Sc = \frac {\mu}{\rho D}$$
Fluent是商用软件,求解器肯定内置了的。而且transport model最开始就是chemkin里的,ANSYS把它收购了,能实现这种模拟不奇怪。
- 不管哪个版本的OpenFOAM,都是用的unity Lewis transport model。Lewis number假设为1,那么,质量扩散率和热量扩散率相等。
-
@wangfei9088 感谢您的回复
参考您的建议1,正如您说的,我现在热物理属性用的是reactingMixture,之前尝试过multicomponent,但是这个属于在of7中问题很多,非常容易报错(在of8中倒是可以运行),我将会尝试下您说的其他属性。
参考您的建议1和2,您的意思是reactingFoam无法实现热质传输不平衡的模拟,进而导致这种情况,那如果需要修改这一点,需要对reactingFoam进行重新修改编译吗,我尚未接触到这种较底层的内容,那是不是代表用reactingFoam就难以实现我的需求了。我使用的热物理属性如下
thermoType { type hePsiThermo; mixture reactingMixture; transport sutherland; thermo janaf; energy sensibleEnthalpy; equationOfState perfectGas; specie specie; } inertSpecie N2; chemistryReader foamChemistryReader; foamChemistryFile "$FOAM_CASE/constant/reactions"; foamChemistryThermoFile "$FOAM_CASE/constant/thermo.compressibleGas";```
-
下面所有的回复均是针对燃烧模拟来说的。
@xuqiming 在 基于reactingFoam的管道内预混氢气点火爆炸 中说:
我现在热物理属性用的是reactingMixture,之前尝试过multicomponent
OpenFOAM里只有sutherland这一个transport model可选,而multicomponent transport model/mixture-averaged transport model/constant but non-unity transport model这些都是没有的。thermoType里的这个multicomponent是mixture的类型,和同名的multicomponent transport model是完全不一样的。
@xuqiming 在 基于reactingFoam的管道内预混氢气点火爆炸 中说:
这个属于在of7中问题很多,非常容易报错(在of8中倒是可以运行)
of7以前的版本里,mixture的类型可选multicomponent和reactingMixture,燃烧选multicomponent是不对的。7以后的版本里只有multicomponent可选,没有reactingMixture了,所以可以运行。
@xuqiming 在 基于reactingFoam的管道内预混氢气点火爆炸 中说:
参考您的建议1和2,您的意思是reactingFoam无法实现热质传输不平衡的模拟,进而导致这种情况,那如果需要修改这一点,需要对reactingFoam进行重新修改编译吗,我尚未接触到这种较底层的内容,那是不是代表用reactingFoam就难以实现我的需求了。
是的。原生的reactingFoam无法实现你的需求。如果要实现热质传输不平衡的模拟,需要同时改transport model和求解器。
-
@wangfei9088 那请问您是否了解其他公开求解器,比如blastFoam或者rhoCentralRfFoam有能解决这是问题的吗?
-
@尚善若水 在 基于reactingFoam的管道内预混氢气点火爆炸 中说:
应该都没有特别考虑这个功能,这个也许可以 https://github.com/JieSun-pku/detonationFoam
对,这个应该可以。