蓝橙酒 发表于 2013-5-14 16:45

Fluent+VL 模拟吹矿泉水瓶口引起的共鸣 流程与问题

由于本人属于初学乍练,下面的东西很可能有错误,希望高手指点啊。{:{29}:}

首先说下我研究的模型:人吹气向矿泉水瓶子的边缘,角度与速度合适的时候会引起瓶子内气柱共鸣发声,我想计算的就是这共鸣的频率。
根据简单声学估算,340/(4*0.25),共振的大概频率应该是350hz。

总体思路:

CAD画好模型,ICEM划分网格,Fluent流体计算,最后带入VL进行声学计算。

下面说下具体步骤:
1.创建CAD模型,模型的实体是空气。
瓶子的高度大概20cm,入口1mm*8mm。



2.导入ICEM划分非结构体网格,吹口与被冲击的边棱网格加密些。
提取Fluent中会用到的面,红色是速度入口的面,蓝色是压力出口的面,绿色是提取声源的面。


生成的体网格文件6.5MB,网格质量如图。

3.导入网格到Fluent
调整网格单位,设置入口速度30m/s,出口压力101325Pa,设置ke RNG湍流模型,设置监控出口速度。
初始化,之后200次定常计算,出口速度稳定了,换LES模型非定常计算,求解设置为PISO与PRESTO!。
时间步长0.01s,200步,每步3次迭代。我总感觉前2s的场不稳定,算出来误差大,因此大时间步长跨过去。

这图是出口面的速度与迭代次数的曲线。
之后开始正式记录数据,打开声学数据记录,同时也打开FWH声学类比计算,仅仅看看什么结果。
声源面设置为Source面,X轴1m处,Y轴1m处设置两个监测点。
时间步长5e-4s,倒数是2000hz,因为半波损失问题,分析的有效频率是0~1000hz。
计算2000步,对应2000hz,所以频率分辨率是1hz,也就是那有效的1000hz每hz对应一个数据点。



计算后得到的压强与速度图像。


将监测点数据进行FFT计算,得到Y轴1m处的频响函数。
由于FWH法不能考虑声波在瓶子里面的反射等,这个频响只能算个激励的吧,并不是和气柱耦合后的结果。

4.将计算得到的CGNS数据导入到VL。
目前这部分还比较迷惑,通过和“伟”大的几次交流和学习,得知边界元与有限元AML方法都可以计算外声场。
边界元是使用类似前处理包络面的面网格,有限元是体网格,有限元计算量相比边界元小很多。

这个模型,气动噪声为激励耦合气柱共振,应该怎样计算比较合适呢?

我理解是:
边界元的话,应该选择间接边界元,使用面网格。设好场点网格,导入声压数据,进行映射与FFT,设置好边界条件,进行频响计算,之后再场点上提取点的频响函数,观察频响函数的最高峰,获得对应频率,完成。
有限元的话,应该使用体网格。操作同上,不过设置面属性的时候将出口面设置AML属性。


这个是VL中导入声压数据,进行映射与FFT变换后的图像。
面网格是xxx_mesh.cgns这个文件得到的,仅有Source面的部分,因为当初设定声源面的时候只选的这个。
有哪位大神知道这个文件是干什么的?
在生成CFD用的网格的时候,是不是也要针对VL生成边界元的面网格与有限元用的体网格?

我的参考文献,中威大大的《风扇噪声模拟详细步骤》,李增刚老师的《声学仿真计算高级应用实例》。
在中威的实例中,他对风扇的计算,使用了xxx_mesh.cgns文件进行直接边界元外声场计算。
在李增刚老师与中威的例子中,都有对数据映射完保存关闭,在进入BEM后引用这个过程,请问这个过程的目的是什么?

总之目前对于这部分的计算思路不太清晰。。。希望大神指点迷津。

蓝橙酒 发表于 2013-5-14 17:38

本帖最后由 蓝橙酒 于 2013-5-14 17:45 编辑


这个是计算中使用的模型文件。






Fluent计算中使用的网格文件。

http://pan.baidu.com/share/link?shareid=475928&uk=855985204
模型,网格,CGNS。

蓝橙酒 发表于 2013-5-14 18:16

本帖最后由 蓝橙酒 于 2013-5-14 20:02 编辑

Building block #   1 to   2
在计算过程中遇到的。

这是由于计算需要的内存太大了,要分块进行,应该减小并行的任务数。但是减少任务数之后,就算增加一个任务的线程数,实际在CPU使用率还是一个线程那么多,奇怪了。

另外每次并行计算,都会生成这样的一个文件,很大,占用很长时间,纠结。
SYSNOISE>SCL> Open Model 1 File UCim-144159-Acoustic.sdb Original Return

superxjw 发表于 2013-5-14 20:23

不错,问题描述很详细,你这个能做出来。
xxx_mesh.cgns的用途:你从Fluent里面导出CGNS文件的时候,这个文件也顺带生成了吧?你导入CGNS文件的时候,你会发现在Node & Element下有两个网格文件,一个是Centroid,另一个就是这个Mesh文件,如果按照李增刚书上的步骤,你是不能直接看到压力脉动云图的,你需要用一个Data Transfer,将CFD保存在中心点Centroid上的数据转移大Mesh这个网格上,就可以看到压力脉动了。
直接用这个Mesh文件作为声学边界元网格从道理上说是可以的,但是如果你模型网格比较多,用边界元方法和这个Mesh网格,就极有可能出现计算量过大的问题,所以通常都在说,一定要粗化网格,因为声学网格的尺度只需要满足一个波长6个单元就足矣,而CFD网格往往都非常细密。这时候,你可以将这个Mesh网格使用VL里面的网格粗化工具,根据计算频率上限自动粗化,也可以利用你前面的几何模型,自己再用网格工具重新画一个比较粗的网格作为声学边界元网格就行。这里还需要指出,声学有限元、AML属性等等也可以用于气动噪声计算。
为什么在导入CGNS文件后先保存一个CATAnalysis文件,然后再引入?其实这样做是有好处的。因为,你在新的分析中使用了粗化过后或者是重新画的网格作为声学网格,就通过Import前面的分析文件,将前面的结果Data Transfer到你的这个声学网格上,才能正确计算。如果试想,在一个分析文件中,有Centroid网格、Mesh网格,然后又有一个你粗化过后的声学网格,那么这些网格的属性分别是啥?必然要报错,对吧?另外,还有一个好处,就是可以重复使用已得到的压力脉动数据,在新的分析文件中做多个分析。

蓝橙酒 发表于 2013-5-14 22:29

superxjw 发表于 2013-5-14 20:23 static/image/common/back.gif
不错,问题描述很详细,你这个能做出来。
xxx_mesh.cgns的用途:你从Fluent里面导出CGNS文件的时候,这个文 ...

谢谢您解决了我最大的疑惑,网格问题。
按照您说的xxx_mesh.cgns再边界元中是可以用到的,但是因为网格过密,一般不会用,就算要用,也需要粗化。而且因为网格并不完全,只是提取声源的面,所以用上的可能就更小了。
所以通用的做法应该是用原本的CAD模型生成粗的体网格用于有限元,或者粗的面网格用于边界元。
压力数据都在Centroid上,至于您说的单独保存,在引用,是为了避免Centroid网格与计算的网格冲突。

压力数据可以通过Data Transfer映射在粗化的模型网格上,甚至一系列压力脉动可以通用的模型上。
但是,原本的xxx_mesh.cgns网格在做Data Transfer映射的时候,数据点可以全部对应上。
不过粗化的网格已经和CFD的网格不匹配了,貌似数据点(小红点)不能完全对应上,只能有一小部分,这样的话对计算的结果会不会有较大的影响?

另外关于并行的问题,计算频响的时候,设置几个并行的任务数,进程管理中就对应有几个程序。但是设置每个任务的线程数,无论设置几个,那些进程的CPU占用率都不变,这是为什么呢?

补充内容 (2013-5-15 18:32):
这个例子中声压数据只集中在瓶子口,是否应将对瓶子口的部分网格进行加密,让Centroid更多的映射到声学网格上?

superxjw 发表于 2013-5-15 21:42

楼主,你提到的第一个问题,其实就是不匹配网格间的数据映射,其实很早很早以前就有这种技术了,精度没问题。另外,在VL11开始,新增了一种专门针对CFD高精度计算的无能量损失的插值方法,就是对CFD气动噪声计算用的(当然,传统的也能用),在LMS的PDF和VL的帮助文档中都有很详细讲解。










第二个,对啊,如果并行使用的是Frequency Level形式,就是相当于N台电脑同时计算么,所以你在资源管理器中会看到很多个sysnoise进程,没问题的呀,你说的第二个什么意思?你现在是想全速计算吗?
你提到的加密,也可以,随便你吧,但是局部的网格加密对于声学计算来说是无意义的,但是如果你是从转移数据考虑的话,也可以试试。

蓝橙酒 发表于 2013-5-15 23:54

本帖最后由 蓝橙酒 于 2013-5-16 00:12 编辑

superxjw 发表于 2013-5-15 21:42 static/image/common/back.gif
楼主,你提到的第一个问题,其实就是不匹配网格间的数据映射,其实很早很早以前就有这种技术了,精度没问题 ...
您说的这种映射方式我从来没试过呢,我一定试试。关于网格大小的问题,在李增刚老师的书中和您说的一样6个单元即可,但是他又补充说声源等地方需要细小些的网格,总之试试的吧,局部加密其他地方粗化,计算量也不大多少。

关于并行计算的问题,我是希望全速计算的,您看下这个图。


设置多任务,一共4个任务,每个任务2个线程。
我电脑是4核8线程,如上设置后,CPU的占用率还是和四任务每个任务单线程一样,如图。。。很不解

另外在论坛搜到您曾经说,Frequency Level这种方法占用内存随并行线数增加,所以我想C盘临时文件夹生成的
SYSNOISE>SCL> Open Model 1 File UCim-144159-Acoustic.sdb Original Return
这个是不是您所说的Out-core Solver

superxjw 发表于 2013-5-16 20:33

蓝橙酒 发表于 2013-5-15 23:54 static/image/common/back.gif
您说的这种映射方式我从来没试过呢,我一定试试。关于网格大小的问题,在李增刚老师的书中和您说的一样6个 ...

不是,Out-Core是自动的,而且会有提示,你总的CPU占用是多少?

lengxuef 发表于 2013-5-16 21:16

Out-core Solver跟 In-Core Solver是自动根据(模型计算需要空间大小)与(分配内存/并行个数)进行比较,来判断是Out还是In。所以有时候并行个数少但是采用In-Core计算速度会更快的。

蓝橙酒 发表于 2013-5-16 22:17

本帖最后由 蓝橙酒 于 2013-5-16 22:19 编辑

superxjw 发表于 2013-5-16 20:33 static/image/common/back.gif
不是,Out-Core是自动的,而且会有提示,你总的CPU占用是多少?
设置4任务 每个任务2线程
最后CPU占用是每个进程12.5% 一共50%左右

我让CPU 100%的方法目前只发现8个任务同时计算
但是八个进程,又会造成
SYSNOISE>SCL> Open Model 1 File UCim-144159-Acoustic.sdb Original Return
这个文件生成的时间特别长,文件特别大,8个线程应该有20G大,反而占用时间了。

另外和大家说,Combined Level这种并行计算方式效果很不错。速度较快,占用资源也合适。
至于Matrix Level,虽然占用资源很少,不过计算的太慢了,感觉不比单任务好多少。
另外赞成LS观点,任务数多不见得好。
Building block #   1 to   2
占用资源极多,出现这种分块计算的情况的话,会非常慢。
这个可能就是out吧

蓝橙酒 发表于 2013-5-21 15:21

本帖最后由 蓝橙酒 于 2013-5-21 15:26 编辑

superxjw 发表于 2013-5-16 20:33 static/image/common/back.gif
不是,Out-Core是自动的,而且会有提示,你总的CPU占用是多少?
又来向S大请教了。
按照您的指点,粗化模型,最大单元尺寸为10mm
使用有限元AML计算,导入模型,设置声学网格,做前处理包络面。
选择AML面,就是图中绿色的面,设定为AML属性。
设定场点,导入CGNS数据,进行映射,之后进行FFT变换。


完成后,进行频响分析,场点分析。


在场点上选取一点,查看频响曲线。


结果频响曲线无明显的峰值,在根据驻波预测的350hz左右也无特征,只在低频有一段频带。
这个结果是我的整个计算哪里采取的方式不正确还是说气流冲击瓶子口的角度与速度等还是不合适?
以您的做声学这么久的经验您认为可能是哪里的问题呢?

superxjw 发表于 2013-5-21 22:35

蓝橙酒 发表于 2013-5-21 15:21 static/image/common/back.gif
又来向S大请教了。
按照您的指点,粗化模型,最大单元尺寸为10mm
使用有限元AML计算,导入模型,设置声 ...

我想确认一下,你提到的定义的AML面是绿色的整个面?比如入口那个平面你也是定义的AML面吗?

蓝橙酒 发表于 2013-5-21 23:10

本帖最后由 蓝橙酒 于 2013-5-21 23:19 编辑

superxjw 发表于 2013-5-21 22:35 static/image/common/back.gif
我想确认一下,你提到的定义的AML面是绿色的整个面?比如入口那个平面你也是定义的AML面吗?
绿色的表面全是AML属性的

superxjw 发表于 2013-5-22 21:40

蓝橙酒 发表于 2013-5-21 23:10 static/image/common/back.gif
绿色的表面全是AML属性的

看起来你的整个计算流程是没有问题的,我觉得你查看一下AML面上的声功率曲线。看一下随频率是个什么样的特征。

蓝橙酒 发表于 2013-5-22 22:18

不知道是不是这个意思呢


页: [1] 2
查看完整版本: Fluent+VL 模拟吹矿泉水瓶口引起的共鸣 流程与问题