@李东岳 在 LES计算中入口 湍流度/脉动速度 如何设置和控制? 中说:
后续的有关LES入口的可以参考这个帖子 LES定义入口速度的问题(DSRFG方法)
用的动态拉格朗日模型
@aiweimo 大佬你当时为什么用这个湍流模型?有特殊的原因么
李老师,没有特殊原因,当时用的是第三方的SOWFA代码包,刚好用了这个模型,没有对亚格子模型进行研究过
@李东岳 在 LES计算中入口 湍流度/脉动速度 如何设置和控制? 中说:
后续的有关LES入口的可以参考这个帖子 LES定义入口速度的问题(DSRFG方法)
用的动态拉格朗日模型
@aiweimo 大佬你当时为什么用这个湍流模型?有特殊的原因么
李老师,没有特殊原因,当时用的是第三方的SOWFA代码包,刚好用了这个模型,没有对亚格子模型进行研究过
@李东岳 他发的开源期刊求毕业了
预算3万左右,平时有小型集群可以用,但是下载下来用Paraview后处理总是很慢,尤其是Paraview体渲染那个工具,稍微动一下鼠标就要等个1-2分钟,比较影响工作体验。因此想配一台专门用来ParaView后处理、体渲染的工作站,不需要并行计算,不知道这种图形处理的工作站看重什么性能?是不是无脑堆SSD就可以了?显卡好像体渲染时也不怎么占负载?
打扰了,我自己翻到了。
@李东岳 在 2D欧拉拉格朗日计算 中说:
几天要推送一个2D/3D模拟的文章,可以关注下
@李东岳 李老师,公众号找了一圈,好像没找到,这个公众号文章链接可以发一下么?最近同学投了一篇文章,是基于欧拉-拉格朗日方法的,做的沙尘障碍物绕流2D研究。一个审稿人意见是他不接受2D Model,并且明确表明如果下一稿还是2D Model的话不用给他审直接拒绝。我就想到之前公众号好像有一篇推文。但是搜不到了。
@xpqiu gzt200361@163.com
非常感谢
最近看pisoFoam代码,发现动量方程组建之后,也有UEqn.relax(),对速度进行了松弛。但是看更早版本OF中的turbFoam,是没有UEqn.relax()。
请问pisoFoam中加入UEqn.relax这一步在实际计算中是调用的么?因为似乎没看到piso的算例在fvSolution中定义relaxationFactors.
@hy1112006 在网上找了很久,发现这本书的free版本内容不全,必须购买完整版才能使用。请问您有这本书的完整版本么?
@wwzhao 你好,想请教一下omegaWallFunction。因为看书了解到,k-w方程是低雷诺数方程,本身不需要壁面函数,所以一直疑惑y+~1的时候,$w_{wall}$是否可以指定固定值、零梯度之类的边界条件?为什么要指定omegaWallFunction?我自己看一些资料,说是这个边界条件有点特殊,可以在粘性和对数层之间切换,那么假如边界层网格y+~1,是否指定这个条件跟指定固定值之类的条件是相似的?
在icoFOAM解析中,推导$\mathbf{U}_{\mathrm{P}}^{* *}$时,是将方程28和19相加,文中方程28和19如下所示:
方程19和28中没有$S_P^n$ ,相加之后公式29中出现了$S_P^n$,如下 :
$S_P^n$ 是不是就是$S_P^t$ 的意思?也就是公式29应该是:
想咨询下, 这个实现的功能跟setFields有什么区别?比如说这个方法设置的入口面速度值是一直固定的?而etFields是否只是个初始值,但会随时间改变?
多谢,我一定尝试一下告知结果。后来给老师干活儿忘记了
我发现每次都是这个OpenGLProjectedTetrahedraMapper卡进程,然后CPU利用率就飙升。GPU主要在旋转视角的过程中(不松鼠标)才会占用到。有限网格量,开很多核并不能跑满CPU,但是可以跑满主频,所以相同浮点运算能力下,可能提升主频对于体渲染更有用。
@xpqiu OK,大体了解了,多谢!
@aiweimo 不过处理还是可以没问题。就是感觉过程中爆出error感觉没有充分发挥性能
@aiweimo 在 ParaView并行体渲染速度跟工作站硬件配置的关系? 中说:
@xpqiu 我查看了,已经安装了这个驱动,是正常显示我的显卡型号的。我后面想用NVIDIA Index插件,所以之前专门打了驱动的。
我后面搞了一下,发现是我的ParaView版本弄错了,我下的不是MPI版本,我自己重新下了一个MPI版本ParaView,打开渲染发现CPU和显卡都能多占用20%了。我猜有效果。然后我对于ParaView并行运行还是有一些疑问:如果通过MPI方式调用ParaView处理数据,OpenFOAM算例结果必须是分区(processor0, processor1...)的么?
我现在是reconstruction之后的,合成的数据。调用MPI读入网格后提示:
vtkMultiBlockDataSet: Structure does not match. You must use CopyStructure before calling this method.
然后CMD也提示:vtkMultiBlockDataSet、vtkVolumeRepresentationPreprocessor和vtkCompositeDatapipeLine出错
@xpqiu 我查看了,已经安装了这个驱动,是正常显示我的显卡型号的。我后面想用NVIDIA Index插件,所以之前专门打了驱动的。
我后面搞了一下,发现是我的ParaView版本弄错了,我下的不是MPI版本,我自己重新下了一个MPI版本ParaView,打开渲染发现CPU和显卡都能多占用20%了。我猜有效果。然后我对于ParaView并行运行还是有一些疑问:如果通过MPI方式调用ParaView处理数据,OpenFOAM算例结果必须是分区(processor0, processor1...)的么?
对一个670万网格的算例结果做体渲染(Volume Rendering),这个ParaView的体渲染速度快慢跟CPU主频关系大?还是跟CPU核数多少关系大?还是跟内存、显存、硬盘转速关系大呢?
我自己做了一个测试,运行mpiexec -np 20 pvserver后打开ParaView连接到本地端(这算不算并行运行了ParaView?)之后在渲染的时候,发现一动视角就很卡、显示正在渲染,渲染的过程大约有2个步骤:UnstructureGridVolumeRepresentation 和 OpenGLProjectedTetrahedraMapper
但是看CPU、内存、显卡也没有利用率很高的样子,显卡利用率2%,CPU虽然开了20核,但是利用率23%左右;内存占用50%多,但由于还有其他同学读了一个网格没关闭,所以这50%里面我的估计最多占10%。看知乎说渲染费显卡,但我这个显卡似乎没怎么用,到底ParaView 体渲染的速度耗费的是什么性能?
这台工作站主要用来流畅地后处理、体渲染,基本不做大型计算,如果要升级配置,应该升级CPU主频?升级内存频率?还是换固态硬盘?亦或是换高级专业显卡比较好呢?
末尾附上 工作站配置(DELL T630),几年前买的一台工作站,现在主要用于后处理了。
CPU: E5-2650 v3 2.3 GHz十核处理器 X 2片 (共计20核)
内存: 镁光 DDR4 2133MHz 16GB X 8片 (组成四通道,共128GB)
显卡: Nvidia Quadro K2200 GDDR5 4GB
主硬盘: 三星250G 5400转/分,数据硬盘: 西数2T 7200转/分
系统运行在主硬盘,软件安装在数据硬盘,所读取的数据也在数据硬盘。
@Zephyr
果然可以。。以前还没注意过这个小齿轮按钮
@Zephyr 感谢您的回复。
光源设置指的是这种设置么?我调整以后,大约只有一个圆形光源的效果。
@东岳 是想让0值为纯白值,前面图值范围设置的有些区别。可以看下面这张图:
我将最小值(0值)设置为纯白色,也就是尾涡以外的地方,应该是纯白色,如背景一样的纯白色,但始终显示这种灰色。似乎ParaView默认白色就是灰色,方便识别几何区域,但是我特别想调成纯白——在Tecplot中就可以让旋涡以外的部分是和背景一致的纯白色:
原因是这样的,我计算过程中输出了一系列不同时刻的slice_omega.vtk文件,想用它生成动画。这种vtk文件只能用ParaView打开,而ParaView无法调纯白色。新版本的Tecplot虽然支持vtk文件,但支持的后缀名是vtu之类的,无法打开.vtk,而且做动画也不方便。
感谢你们,如果无法调,也无所谓了。就是感觉这种纯白色效果好看。
或者,OpenFOAM输出的 slicedata, 能够被Tecplot读取么?
如下图所示,想要最小值的颜色为纯白色,图例也这样设置的,但是在ParaView中设置的白色输出结果就变成了灰色?在Tecplot和ENSIGHT就可以设置为纯白色,为什么ParaView不可以?
@Vortex clip把风力机及其尾流部分切出来,再用Q画;如果还是有大气涡,那就调大一点Q,直到尾流结构能够清晰出来。
如果这样做,一直搞不出来,那可能你风力机部分及尾流部分的网格太稀疏了,或者大气湍流里面的涡结构太强(一般是前者的原因)。
@danao 有一个带黑色粗体t字样的双向箭头,可以调整成整个时间范围内的最大值。
@东岳
看到诸如Fluent、StarCD等商业软件都介绍自己是一块非结构化网格的求解器,学校上课老师之前也吹牛说自己开发了一套完全非结构化网格的求解器并卖了几家企业。
问:不是说结构网格更好么,为什么商业软件都倾向于开发非结构网格?
结构与非结构,应该指的是网格在内存中访问的方式,能够以编码IJK方式访问的是结构(是否如此? )。年初开会有个华电的老师讲自己全用是结构网格,然后说非结构网格不好,安利大家用结构网格计算。(好像用NUMECA计算)
在ICEM画网格的时候,最后都要转成非结构化六面体网格。
那么:采用Fluent等非结构求解器去计算ICEM切block转出的非结构六面体网格,精度下降很大么?
见到别人输出的CFD动画结果中,可以随着每帧的播放显示当时的时刻,如下图截图中的时间标签那种效果。
请问:可以直接在Paraview中做动画的时候添加这种动态的时间标签么?如果不可以,大家一般是怎么做这种时间显示的?
提前感谢!
其实上面的回答已经够好了。我只是想试试我的新头像。我一般并行分网格,一个核大约四五十万网格。你总共24万网格,用96核确实太浪费了。并行中,各分区之间会有数据的交换,每一步会交换一次,如果过度分区,大量时间会浪费在CPU之间(内存)、或者节点之间(网卡)的通讯上,因此计算会变慢。
一个方形box计算域,中间一小块区域(如下图红框处)需要放在单独设置出来放在1个核心上算,剩下的其余区域想要自动分区。这种该如何指定?
我看了论坛里关于setFields(或者cellDict)指定manual进行手动分区的,感觉这样做太累了 ,我有56个核心需要指定,而且网格有局部加密,手动分区难以做到负载均衡。请问,还有什么其他便捷方法么?
感谢关注!
@buaa_hgj 非常感谢
@wwzhao 非常感谢
@buaa_hgj 每个时间步的文件夹下都有一个速度场、vtk格式的slice文件(U_slice_1.vtk),有没有什么简单方式能够批处理所有时间步文件夹中的vtk文件并按时间先后排列输出成视频?主要时间步太多,一个个弄有点费时费力。
@buaa_hgj 对的。
@aiweimo
如上面所示。
在postProcessing文件夹下有一系列时间步文件夹,在时间步文件夹中有改时间步流场纵切面上的速度场vtk文件(U_slice_1.vtk),有什么方法能对这一系列时间步内的vtk文件统一操作输出一个视频文件么?
@东岳 是需要对原始数据进行处理才可以的。
但是,如果对结果的精度需求不高的话,也可以用OriginPro 里面的Digitizer tool从图片中采集数据。做出来大尺度的周期波动可能精度还行,小尺度的周期波动就不能看了。
@东岳 频谱分析可以从频域上提取里面的特征频率,滤波、或者直接方程拟合提取时域信息。比如OriginPro就可以做,在里面的signal processing里面,可以做FFT变化的频谱图、或者功率谱估计,也能做滤波或者拟合。
如果要多分辨率分析的话,小波分解或连续小波分析可能比较适合,matlab也有这个工具箱:wavemenu。
@东岳 出图一向6,大神作图一般什么软件?
自己查了文献。对于精度较低的FVM来说,最好的方法是预先模拟一个场,之后Map,如pitzDaily算例,但需存储大量时刻的数据;比较好的方法是Vortex Method,大气里面也有Mann Turbulent Box方法,生成入口的风速,并且考虑时空相关性和divergence free;比较差的方法是直接添加随机扰动,难以考虑时空相关性和divergence free,并且由于脉动能量在各个湍流分区内均等,造成湍流能量耗散快,难以保持。
——《Implementation of a turbulent inflow boundary condition for LES based on a vortex method》, NINA GALL JORGENSEN.
最近做一个风力机绕流的LES计算,用的动态拉格朗日模型,入口用的速度入口,没有定义什么脉动、湍流之类的。结果发现风力机后较近位置处,平均速度与实验对比还可以;但较远位置就与实验有差别了。
经分析,感觉是来流入口的背景湍流影响了尾流的发展和恢复过程。并且,当实验中的湍流度较低时,数值结果与实验对比还好;当实验中湍流度较高时,数值与实验就差别较大,所以我们组整体感觉是LES入口没有设置合适的湍流度的原因,这影响了尾流的发展。
请问大家,在大家的LES计算中,是如何控制来流湍流度与实验状态一致的?我查到OpenFOAM有turbulentInlet入口边界,还有些文献用Mann Turbulent Box方法等等,不知道大家有用过么?
@东岳 抱歉,应该是我想当然了 ,如果有延迟的话,那中间的流体就被压缩到一起了,我用的是不可压流体求解器。
@aiweimo OpenFOAM2.4.0
@东岳 您好,我按照codeFixedValue的方式对一个矩形管道进行试算。该管道流向(x方向)长为1000米。入口速度随时间进行三角函数变化,计算后发现在x方向上距入口100m,500m,900m的监测点上速度是同时发生变化的,我感觉应该有一段延迟,比如:入口处速度的定义方式传播到100m处速度先发生变化,其次是500m、900m处再变化。
入口速度的代码如下:
下图图例中Exp为所定义的入口速度变化曲线,其他几条线为流场中心线上不同距离处的监测速度,3个测点的变化与入口定义式同步。
其他相关细节:采用pisoFoam,oneEqEddy大涡,网格步长2m,时间步长0.05s。
不知道这是为什么?感觉自己好像对整场进行了速度定义,而非在入口(算例中入口名称为west)。
@东岳 非常感谢
@buaa_hgj 我就是参考官方教程和wiki上的安装教程进行编译的,另外有些用于后处理的如ParaView, Qt, qmake我直接跳过了,因为我们不在超算上做后处理。整个安装过程没什么特殊的设置,就是注意跳过与后处理相关的包就可以了(当然编译后处理包也可以)。建议查看wiki和官方安装教程,另外下面是我的一个个人安装记录,可供参考:
初次接触swak4foam,有些地方不太清楚:
1.从类型上看,groovyBC是库,funkysetFields是工具,那么两者实现的效果有什么不同么?
2.假如现在在Inlet入口设置一个随时间变化的非均匀风速剖面,两者实施后的效果是否有不同?
多谢诸位,麻烦大家了。