@东方白杨 我是这样干的。
2019201300
帖子
-
Openfoam中求解努塞尔数和fluent的结果相差较大,求各位大佬答疑解惑。 -
OpenFOAM小代码@WangXin 用各种方法求平均值呗,具体看你想要的是哪种平均了。
-
OpenFOAM小代码@疏影横斜水清浅 参考下下边这个代码吧。
coded { libs ( "libutilityFunctionObjects.so" ); enabled true; type coded; name printMinU; executeControl timeStep; executeInterval 200; writeControl timeStep; writeInterval 200; codeOptions #{ -I$(LIB_SRC)/meshTools/lnInclude #}; codeExecute #{ const volScalarField& T ( mesh().lookupObject<volScalarField>("T") ); const fvPatchList& patches = mesh().boundary(); std::ofstream file; file.open ("nus", std::ofstream::out | std::ofstream::app); forAll(patches, patchi) { const fvPatch& currPatch = patches[patchi]; if (currPatch.name() == "bottomWall") { fvPatchScalarField nus = T.boundaryField()[patchi]; scalar L = 0.1; scalar Timp = 343; const volScalarField& T = mesh().lookupObject<volScalarField>("T"); scalarField Tinternal = T.internalField(); scalar sumT = gSum(Tinternal * mesh().V()); scalar V = gSum(mesh().V()); scalar avgT = sumT / V; nus = T.boundaryField()[patchi].snGrad()*L/(Timp - avgT); //nus2file << "Time: " << mesh().time().timeName() << " " << nus << nl; forAll(T.boundaryField()[patchi], facei) { //Pout << mesh().C().boundaryField()[patchi][facei].x()/0.1 // << " " << nus[facei] << nl; file << "Time: " << mesh().time().timeName() << " " << mesh().C().boundaryField()[patchi][facei].x() << " " << mesh().C().boundaryField()[patchi][facei].z() << " " << nus[facei] << std::endl; } } } file.close(); #}; }
-
Openfoam中求解努塞尔数和fluent的结果相差较大,求各位大佬答疑解惑。@李东岳 谢谢李老师,也谢谢楼上几位。目前找到一些问题所在了。在fluent中进出口的温度不是周期性的而流场是,每个周期都会重置入口温度(之前用fluent的人不清楚),所以这一点是我们自己的问题所在。另外还有一个问题就是在计算之前fluent进行初始化为300K,但是计算一段时间后会发现有小于300K的,这个问题就不知道是什么原因了。目前计划是对温度场T+、y+了。和实验的验证结果如下图所示,个人感觉能凑合用吧。
-
200万网格并行算力测试(OpenFOAM版本)@heike256 了解了,等有时间搞一搞这些东西,学习学习。谢谢。
-
200万网格并行算力测试(OpenFOAM版本)@heike256 但是我看你前边说的那个关闭小核以后好像没啥影响,是不是因为我的内存条还是没插满的缘故,还差两根没插上呢。
-
200万网格并行算力测试(OpenFOAM版本)@liuxin 我也没搞懂为啥,但是测试出来的时间就是会长,也没有调底层的能力,凑合用吧
-
outfile精度好像不够@Samuel-Tu 请问你解决了这个问题了吗?我是在controlDict中添加code进行计算得到的一些自定义的变量,但是结果在写入到文件中时,除了时间步数之外,其他的参数就一直是6位数或更少,小数点后边的就更少了。也尝试改了李老师说的这个,但是好像没用。
-
Openfoam中求解努塞尔数和fluent的结果相差较大,求各位大佬答疑解惑。模型采用的是矩形槽道,求解器采用的是PimpleFoam。并采用如下方式添加了温度场:https://zhuanlan.zhihu.com/p/485714816
根据李老师写的求解努塞尔数的小代码,并对其进行改进,实现了实时输出,修改后的代码如下:coded { libs ( "libutilityFunctionObjects.so" ); enabled true; type coded; name printMinU; executeControl timeStep; executeInterval 200; writeControl timeStep; writeInterval 200; codeOptions #{ -I$(LIB_SRC)/meshTools/lnInclude #}; codeExecute #{ const volScalarField& T ( mesh().lookupObject<volScalarField>("T") ); const fvPatchList& patches = mesh().boundary(); std::ofstream file; file.open ("nus", std::ofstream::out | std::ofstream::app); forAll(patches, patchi) { const fvPatch& currPatch = patches[patchi]; if (currPatch.name() == "bottomWall") { fvPatchScalarField nus = T.boundaryField()[patchi]; scalar L = 0.1; scalar Timp = 343; const volScalarField& T = mesh().lookupObject<volScalarField>("T"); scalarField Tinternal = T.internalField(); scalar sumT = gSum(Tinternal * mesh().V()); scalar V = gSum(mesh().V()); scalar avgT = sumT / V; nus = T.boundaryField()[patchi].snGrad()*L/(Timp - avgT); //nus2file << "Time: " << mesh().time().timeName() << " " << nus << nl; forAll(T.boundaryField()[patchi], facei) { //Pout << mesh().C().boundaryField()[patchi][facei].x()/0.1 // << " " << nus[facei] << nl; file << "Time: " << mesh().time().timeName() << " " << mesh().C().boundaryField()[patchi][facei].x() << " " << mesh().C().boundaryField()[patchi][facei].z() << " " << nus[facei] << std::endl; } } } file.close(); #}; }
其中计算努塞尔数时,之前采用的参考温度和fluent中的温度是一样的,都是采用的300,但是求解出的努塞尔数差距过大,后来将参考温度改成实时体积平均温度,努塞尔数变大不少,但是和fluent计算得出的还是相差不少。在百度上我看有人说fluent中的努塞尔数是导出热通量以后计算的努塞尔数,而不是用采用的温度梯度。温度梯度这种计算方式与第一层网格的高度关系很大。不知道有没有大佬计算过这种问题,求解。
-
paraview以列表形式导出流场所有信息paraview以列表形式导出流场所有数据时导出太慢(每个时间步的数据比较小时无影响)。如果用自动写每个时间步的数据时,则每个时间步的数据都不全。请问各位有遇到过吗?有无解决办法。
-
200万网格并行算力测试(OpenFOAM版本)在海鲜市场搞了根32G的内存条,现在是64G。重新跑了一下算例,相比之前单根32G的在多核时有明显的速度提升
CPU型号:Intel i7-13700K 系统:Win10 虚拟机 OpenFOAM版本:OpenFOAM-v2212 原时长 16 448.83 8 317.34 4 360.7 2 418.9 1 601.71 现时长 16 271.36 8 174.49 4 233.15 2 325.58 1 569.04
-
LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?@SSSSK 习惯问题,忘了改默认设置,下边这个应该就没问题了。链接:https://pan.baidu.com/s/16PwL1nIOXCucqKU3XoZ1_A?pwd=gg61
提取码:gg61 -
LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?@李东岳 对的LES,用的WALE模型,搞出来有一段时间了,只不过最近在忙着开题,开完了看到还有人在问,然后就传上去吧,供大家参考。
-
LES直流槽道边界层模拟,如何得到正则化速度u+以及正则化坐标y+?空槽道的网格,U+Y+对应结果放下边了。非常感谢李老师和@学流体的小明 的帮助,再就是多看看前边提到的那篇文献,很重要的,认真看完就都没问题了。
网格文件附下,需要自取链接:https://pan.baidu.com/s/1DfaqXnRQMle7JvyHv0WI1A?pwd=kexh
提取码:kexh
-
200万网格并行算力测试(OpenFOAM版本)@heike256 小核没动,买回来啥样是啥样,CPU主频最高支持5.4GHz,不过平时计算时我看基本保持在4.9GHz左右。
-
200万网格并行算力测试(OpenFOAM版本)CPU型号:Intel i7-13700K
系统:Win10 虚拟机
OpenFOAM版本:OpenFOAM-v2212
16 448.83
8 317.34
4 360.7
2 418.9
1 601.71
内存条就插了一根,感觉影响很大 -
槽道湍流底部微吹@李东岳 好的李老师
-
槽道湍流底部微吹@李东岳 李老师,您是不是传错压缩包了,我打开这个看了一下,不是一楼那个模型呀。
-
槽道湍流底部微吹@李东岳 好的李老师,我再仔细研究研究,感谢李老师。
-
槽道湍流底部微吹@李东岳 分享的模型不是这个,我大概画了一下,如下:
这种流向开孔的模型也有人算过,也能算出减阻。