@好名字 根据我查阅的资料,strength 是点火能量的表征,影响的是初始时刻的点火效果,也就是b值和燃烧产物的质量分数之类的物理量。
xuqiming
帖子
-
XiFoam计算气体爆炸增加障碍物后发散 -
XiFoam计算气体爆炸增加障碍物后发散经过查看该求解器的原始文献发现,当Xi模型选择为transport模型时,使用如下的方程进行计算,经过尝试发现的确是该方程影响了计算的收敛性。个人认为可能是由于该方程中没有扩散项导致的不稳定性。将湍流方程修改为RNG KEPSILON和relizable KEPSILON时能够进行计算,但是计算结果欠佳。希望有大佬能够予以指点。
-
XiFoam计算气体爆炸增加障碍物后发散@李东岳 感谢李老师的回复。reactingFoam求解器之前实现了无障碍下的计算和计算精度。但是由于反应机制的刚性和反应步数问题,导致计算量过大,同时reactingFoam在进行计算时压力震荡剧烈,一直不清楚是离散格式设置的问题还是求解器本身的问题,所以最近在尝试XiFoam这个似乎更简单一些的求解器。
-
XiFoam计算气体爆炸增加障碍物后发散我前期基于OF7 XiFoam进行了氢气爆炸模拟,与实验结果一致性较好(case1所示),收敛性很好。现在加入障碍物后(case2),计算在进行到5ms左右发散。发散时能看见障碍附近出现很大的湍动能。我感觉是k-epsilon不适合这种工况,修改为SST仍然发散。请问各位大佬有什么好的建议吗。
使用的基本设置如下- k-epsilon
- 0.4 mm网格,(测试过无关性)
- k-1e-3,zerogradient
- epsilon-0.5,epsilonWallFunction
- combustion-Gulder,Xi-transport
-
mech2Foam程序使用mech2Foam能够生成XiFoam求解器所需的Gulder系数与热物理学参数
所需全部代码可从下面网站下载|
https://usn.figshare.com/articles/code/Generating_thermodynamic_and_combustion_properties_for_CFD_mech2Foam/13721134
使用该代码过程中发现大大小小报错太多,难以使用,经过检查和修改,对部分不适配电脑上python3.11的代码进行了修改。同时对部分源代码中有问题的部分进行了修改。对没有表述清楚的地方增加了注释进行说明。
经过测试,目前该代码能够成功生成Gulder系数与适配of7的thermophysicalProperties文件。
修改后主程序如下
main.py -
chemkin反应机理转化为cantera,进而转化为openFoam .dat文件@风云5091 我觉得你可能是没有修改python代码中的文件名,因为他提示的是CTI和XML格式不支持。Yaml是支持的。你可以检查ctTransToOF中mian程序下文件名是否为chem.yaml,然后再到python3环境中进行调用。
mech = 'chem.yaml'
python3 ctTransToOF.py
-
chemkin反应机理转化为cantera,进而转化为openFoam .dat文件@风云5091 ctTranToFoam.py是一个python程序,应当按python程序的运行方式去运行,不是一个foam程序,
-
oepnFoam如何初始化非均匀内部标量场感谢上述诸位的帮助,我已经成功通过funkySetFields解决了上述问题。并有一些自己的感受
*blastXiFoam求解器中的volScalarFieldFunction在OF7中是不支持的,虽然不知道为何我下载的blastFoam对应版本turious中有该函数;
*通过swak4foam中funkySetFields能够实现非均匀场的指定。swak4foam安装需要找对对应自己OF版本的文件,目前我找到的最高的似乎只支持到OF7。在高版本的UBUNTU上安装swak4foam无法直接使用,因为swak4foam调用python内核,且只支持“Python”名,而在高版本的UBUNTU中识别的的是python3,因此需要将python3和python进行连接,使用sudo ln -sf /usr/bin/python3 /usr/bin/python
即可。
*funkySetFields的简单使用很容易实现,在system中复制入一个funkySetFieldDict文件,通过expression进行场和条件的指定,运行funkySetFields -time n
即可实现非均匀场的指定。
-
oepnFoam如何初始化非均匀内部标量场@Rachel0096 感谢你的回复,但是该教程是对边界条件进行修改,如果将二维工况中的内部标量类比于三维条件下的边界标量似乎可以尝试,希望有更好的办法。
-
oepnFoam如何初始化非均匀内部标量场@youhaoyu 那0文件数据顺序与坐标网格的对应规则如何呢,这个我还真没注意过。
-
oepnFoam如何初始化非均匀内部标量场由于计算需要,在oepnFoam中想要生成随Y轴变化的温度场(比如T=300+100*Y),但是不知道要如何才能实现,希望诸位大佬能不吝赐教。
我自己目前看到两个实现方案,但是都尚未能实现-
1是看到blastXiFoam求解器在setField文件中通过volScalarFieldFunction来施加code标量场,但是我使用该方法时一直报错(即使直接运行blastXiFoam案例中的Allrun文件);
-
2是看到很多说使用funkySetFields包可以实现复杂初始化场,目前尚未实现。
-
-
chemkin反应机理转化为cantera,进而转化为openFoam .dat文件本人菜鸡,记录一下自己chemkin反应机理转化为cantera,进而转化为openFoam .dat文件的过程,希望有需要的人可以少走一些弯路。
目的:chemkinToFoam转化的机理无法对热力学文件所需要的As与Ts进行计算,因此需要通过ctTransToOF程序进行转化,而ctTransToOF只识别cantera格式文件,所以首先需要通过cantera的ck2yaml将chemkin反应机理转化为.yaml格式文件。
1、安装cantera
最后安装PYTHON版本,因为ctTransToOF只找到了.py文件,这样比较方便。
pip install cantera可以直接安装。2、调用ctTransToOF模块
cantera官网有教程,ck2yaml --input=chem.inp --thermo=therm.dat --transport=tran.dat在python解释器直接运行即可。此处有一个问题是,我安装的cantera不知道为何无法调用ck2yaml功能,因此直接在终端进行使用了。转化时,一般会报错,建议通过ck2yaml --permissive --input=chem.inp --thermo=therm.dat --transport=tran.dat --debug处理.inp文件。3、生成dat文件
将生成的.yaml文件放入ctTranToFoam-main程序的mechanism文件夹,将文件名修改为对应.yaml文件名。注意ctTranToFoam-main程序不能使用.cti等格式的机理文件,会报错。运行ctTranToFoam.py
,生成dat文件。 -
chemkinToFoam@风云5091 很简单,chemkin会根据transport中的6个参数去计算不同温度下的粘度,我是人为读取数据,然后依据sutherland公式去拟合这两个参数。
不过我也不知道这样是否合理,目前是这样做的。 -
chemkinToFoam@风云5091 我基于chemkin的计算结果自己拟合了As和Ts
-
chemkinToFoam@wangfei9088 不好意思,才看见消息。
非常感谢您的回复,或许我还是应该使用FLUENT去实习自己的需求。 -
chemkinToFoam*chemkinToFoam关于transport输运文件的疑问
在使用chemkinToFoam中,根据说明书所使用的命令为*** chemkinToFoam [OPTIONS] <CHEMKIN file> <CHEMKIN thermodynamics file> <CHEMKIN transport file> <OpenFOAM chemistry file> <OpenFOAM thermodynamics file>*
但是根据网络论坛和我自己的尝试,chemkin中的transport文件无法进行转化,chemkinToFoam所需的transport文件实际上如下图所示。
根据我的理解,transport文件是用于计算包括二元输运系数在内的一系列输运参数的,在除了0维反应动力学计算的其他计算中应当都是需要transport文件。
那么openFoam中在通过reactingFoam等求解器进行计算时,为何不需要transport参数。
又或者是我理解错误,其实transport文件可以进行转化。
恳请诸位大佬批评指导!openFoam中使用的输运文件
-
基于reactingFoam的管道内预混氢气点火爆炸@尚善若水 好的,非常感谢,我去看一下,实在不行就返回用fluent去做了,只是浪费了几个月的学习时间。
-
基于reactingFoam的管道内预混氢气点火爆炸@wangfei9088 那请问您是否了解其他公开求解器,比如blastFoam或者rhoCentralRfFoam有能解决这是问题的吗?
-
基于reactingFoam的管道内预混氢气点火爆炸@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";```
-
基于reactingFoam的管道内预混氢气点火爆炸补充一下,模拟是基于of7版本进行的。