请教:第三代涡识别方法Liutex的代码在linux中运行的问题
-
@BznW 在 请教:第三代涡识别方法Liutex的代码在linux中运行的问题 中说:
@lizhisongsjtu 感谢分享,请问下在of7下同样编译成功,但运行Rotex -latestTime会出现这种报错是什么原因呢
遇到同样的问题,blockMesh 生成的结构化网格。李老师和 lizhisongsjtu 程序在 Openfoam v9 和v2212下编译使用,都会浮点溢出。
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Create time Create mesh for time = 0.0012 Time = 0.0012 Reading U #0 Foam::error::printStack(Foam::Ostream&) at ??:? #1 Foam::sigFpe::sigHandler(int) at ??:? #2 ? in "/lib/x86_64-linux-gnu/libc.so.6" #3 ? in "/home/scramjetfoam/OpenFOAM/scramjetfoam-9/platforms/linux64GccDPInt32Opt/bin/Rotex" #4 ? in "/lib/x86_64-linux-gnu/libc.so.6" #5 __libc_start_main in "/lib/x86_64-linux-gnu/libc.so.6" #6 ? in "/home/scramjetfoam/OpenFOAM/scramjetfoam-9/platforms/linux64GccDPInt32Opt/bin/Rotex" Floating point exception
-
回复一下Liutex使用效果和使用报错的反馈:
-
关于Liutex识别的涡结构:在类似澡盆涡这样的旋转流动里,Liutex的方法确实会有(或者近似会有)阈值独立的涡结构,近似阈值独立的涡结构,lambda2方法、Q方法,都不存在阈值独立的涡结构。
-
关于报错:本人使用平台是of2206和of2306,而且流场本身的旋转占优。对剪切流动的效果,本人没有验证。关于浮点溢出,大概率是除数接近0,用户可以自行debug。
如上!
-
-
@lizhisongsjtu 我看那行看了半天没反应过来(scalar,scalar)是干什么的
-
用两种方法识别流场中的涡,第一种是lambda法,openfoam自带的无量纲方法,第二种是liutex方法。
123看出,改变阈值后,中心部位的漩涡变小;456看出中心漩涡并没有随阈值改变而明显改变。
根据S和Omega模的大小,把涡区分为剪切占优和旋转占优两种。123+456显示,阈值对剪切占优的涡结构的显示特征影响挺大,对旋转占优的涡结构影响并没那么明显。如此,凸显了liutex方法在旋转涡涡结构识别中的优势。
-
这只是某个算例佐证了liutex算法的优势。个人感觉(主流)学界对liutex的态度有非常大的差异,有些大佬对liutex法的态度偏消极(审稿意见)。
-
-
@lizhisongsjtu 我不太关心涡这个东西,有几个疑问,邀请李老师解惑,给我开开眼:
-
不同的涡判据,比如liutex、lambda、Q之类的,都是用来判别涡的,实际使用中,是哪个看起来更流弊就用哪个么?
-
如何判定那个涡识别方法更流弊呢?
-
-
解惑重任承担不了。说说个人看法吧
个人认为,旋转流动和剪切流动中的涡结构不一样。根据我的计算结果,Liutex在识别旋转流动中的涡,涡结构对等直面参数取值不敏感;对剪切流动中的涡,任何涡识别方法的结果对等涡面取值敏感。#58楼的图片可以佐证这个说法。
关于编辑、审稿人对Liutex的不中立的态度,咨询过业内大佬。可能和“学派”有关,当然也有新方法本身的原因。新事物的出现,总需要一定的时间才能被接受。
引用郭德纲老师的一句话“文无第一,武无第二”,引用邓爷爷的话“黑猫白猫,抓住老鼠就是好猫”。
至于哪个方法更好,能解决问题就好。以上抛砖,期待引玉讨论。
-