@尚善若水 可以啦,直接用刘老师的fortran程序
五好青年
帖子
-
-
有前辈,可以分享一个OpenFOAM-v1906的虚拟机吗?百度网盘就行
因为我想简单测试一个程序
感谢
-
可以分享一个OpenFOAM-v1906的虚拟机吗?
-
@cfdngu
蹲一个回复,关注2个问题
(1) 单核可以计算,并行报错
(2) 单核和并行计算,结果存在差距,差距是细微的可以忽略,还是跟核数有关? -
@影川风
后来知道,为啥单核和多核的结果差异了吗?
我遇到了同样的问题
感谢 -
在网上查阅了一些资料,给出了以下建议:
(1)查网格质量(checkMesh)
(2)确认边界条件是否出错
(3)确认一下是不是出现了除以0的这种情况。
(4)其他数学上的错误,比如负数开根
(5)编译了新的程序以后,solver有没有重新编译,是否相关的头文件都重新编译过了一次?
(6)忘了设置初始场场量,命令:setFields
(7)有可能时间步长time step太大了? 用的PISO 、PIMPLE 还是SIMPLE?
(8)先用potential进行初始化(命令:potentialIbFoam),之前在extend的算例movingCylinderInChannelIco中忘记potential初始化,出现"浮点数例外 (核心已转储)"的报错 -
@七辆战车
我跟你是同样的报错,你后来咋解决的呢
感谢 -
@白礼耕 我也遇到这个情况,只在特定网格,特定时间步下报错
换个情况可能就正常计算了
你最后知道原因了吗 -
- 时间精度,修改为6,直接无法读取上一步结果
- 时间精度,修改为20,同样到首次写入结果的位置就报错
- 20步写入结果,更改为1步写入结果,30步写入结果。续算时,都在首次写入结果时报错,而且报错内容相同,如提问中的浮点溢出
-
@李东岳
东岳老师,我仔细核对了:成功续算的case+报错浮点溢出的case
发现报错均出现在第一次结果写出的位置我是间隔20个时间步保存一次,就是在第20步写入数据的时候,提示上面的报错
-
@李东岳
东岳老师,我的精度是12,请问这个一般够么?感谢writeFormat binary; writePrecision 12; writeCompression compressed; timeFormat general; timePrecision 12;
-
- 最近经常停电,然后续算,总是报错,提示下面内容
- 只要完整,一次性计算,就不会报错
- 如果中断计算,再接着续算,大概30%概率会遇到以下报错:
求大佬帮忙看下,为什么断电续算会报错呢?
Time = 14.626952879 Courant Number mean: 0.0162202738735 max: 0.547412638078 velocity magnitude: 0.972694272435 DILUPBiCG: Solving for Ux, Initial residual = 5.51751945657e-05, Final residual = 1.21131845941e-07, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00192416415543, Final residual = 2.83092826269e-06, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.00192162985727, Final residual = 2.27969090213e-06, No Iterations 1 GAMGPCG: Solving for p, Initial residual = 0.0445458617273, Final residual = 0.000312778215492, No Iterations 3 IB time step continuity errors : sum local = 1.94733457266e-10, global = 1.30333893019e-13, cumulative = -2.85480937623e-12 GAMGPCG: Solving for p, Initial residual = 0.00400247451546, Final residual = 2.29650918295e-05, No Iterations 4 IB time step continuity errors : sum local = 1.43803150508e-11, global = 2.57306076116e-13, cumulative = -2.59750330012e-12 GAMGPCG: Solving for p, Initial residual = 0.000264903909441, Final residual = 2.47545703992e-06, No Iterations 6 IB time step continuity errors : sum local = 1.5492859545e-12, global = 2.31568779699e-13, cumulative = -2.36593452042e-12 Thrust from Body Force = 0.0974865447818 Thrust from Act. Line = 0.0977889499694 Ratio = 0.996907573017 Torque from Body Force = 0.00155780274379 Torque from Act. Line = 0.00156265463869 Ratio = 0.996895094552 ExecutionTime = 2028.52 s ClockTime = 2095 s fieldAverage fieldAverage1 output: Calculating averages Time = 14.62804371 Courant Number mean: 0.0162202632119 max: 0.54826182015 velocity magnitude: 0.974203179026 DILUPBiCG: Solving for Ux, Initial residual = 5.51651007481e-05, Final residual = 1.21918770605e-07, No Iterations 1 DILUPBiCG: Solving for Uy, Initial residual = 0.00192414480744, Final residual = 2.62900058636e-06, No Iterations 1 DILUPBiCG: Solving for Uz, Initial residual = 0.0019217484706, Final residual = 2.60889084187e-06, No Iterations 1 GAMGPCG: Solving for p, Initial residual = 0.0444294506698, Final residual = 0.000310879570179, No Iterations 3 IB time step continuity errors : sum local = 1.93563121456e-10, global = 2.67585622386e-13, cumulative = -2.09834889803e-12 GAMGPCG: Solving for p, Initial residual = 0.00397418566853, Final residual = 2.60870920638e-05, No Iterations 4 IB time step continuity errors : sum local = 1.63549690983e-11, global = 2.1607547894e-13, cumulative = -1.88227341909e-12 GAMGPCG: Solving for p, Initial residual = 0.000265252820756, Final residual = 2.33165488111e-06, No Iterations 6 IB time step continuity errors : sum local = 1.45553081823e-12, global = 8.3257735207e-14, cumulative = -1.79901568389e-12 Thrust from Body Force = 0.0976809290426 Thrust from Act. Line = 0.097986534837 Ratio = 0.996881144997 Torque from Body Force = 0.00156809160673 Torque from Act. Line = 0.00157301669264 Ratio = 0.996869018662 triangles: 240 hit: 13039 [dyfluid:02855] *** Process received signal *** [dyfluid:02855] Signal: Floating point exception (8) [dyfluid:02855] Signal code: (-6) [dyfluid:02855] Failing at address: 0x3e800000b27 [dyfluid:02855] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x354a0)[0x7ff3c6cfd4a0] [dyfluid:02855] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x38)[0x7ff3c6cfd418] [dyfluid:02855] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x354a0)[0x7ff3c6cfd4a0] [dyfluid:02855] [ 3] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libsampling.so(_ZN4Foam16vtkSurfaceWriterIdE9writeDataERNS_7OstreamERKNS_5FieldIdEE+0x7f)[0x7ff3c993148f] [dyfluid:02855] [ 4] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libsampling.so(_ZNK4Foam16vtkSurfaceWriterIdE5writeERKNS_8fileNameES4_RKNS_5FieldINS_6VectorIdEEEERKNS_4ListINS_4faceEEES4_RKNS5_IdEEb+0x3a1)[0x7ff3c99333c1] [dyfluid:02855] [ 5] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libimmersedBoundary.so(_ZNK4Foam28immersedBoundaryFvPatchFieldIdE5writeERNS_7OstreamE+0x48e)[0x7ff3c949416e] [dyfluid:02855] [ 6] pisoIbFoam-HAT-ALMorADM(_ZNK4Foam14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEE22GeometricBoundaryField10writeEntryERKNS_4wordERNS_7OstreamE+0x114)[0x4595a4] [dyfluid:02855] [ 7] pisoIbFoam-HAT-ALMorADM(_ZNK4Foam14GeometricFieldIdNS_12fvPatchFieldENS_7volMeshEE9writeDataERNS_7OstreamE+0xaf)[0x45cfaf] [dyfluid:02855] [ 8] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libfoam.so(_ZNK4Foam11regIOobject11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0x41c)[0x7ff3c8194ffc] [dyfluid:02855] [ 9] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libfoam.so(_ZNK4Foam14objectRegistry11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0x1db)[0x7ff3c8198cdb] [dyfluid:02855] [10] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libfoam.so(_ZNK4Foam14objectRegistry11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0x1db)[0x7ff3c8198cdb] [dyfluid:02855] [11] /home/dyfluid/foam/foam-extend-4.0/lib/linux64GccDPOpt/libfoam.so(_ZNK4Foam4Time11writeObjectENS_8IOstream12streamFormatENS1_13versionNumberENS1_15compressionTypeE+0x542)[0x7ff3c81b5212] [dyfluid:02855] [12] pisoIbFoam-HAT-ALMorADM[0x421795] [dyfluid:02855] [13] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf0)[0x7ff3c6ce8830] [dyfluid:02855] [14] pisoIbFoam-HAT-ALMorADM[0x424969] [dyfluid:02855] *** End of error message *** -------------------------------------------------------------------------- mpirun noticed that process rank 7 with PID 2855 on node dyfluid exited on signal 8 (Floating point exception). --------------------------------------------------------------------------
-
kubuntu
manjaro
archlinux
centOS -
@joann
我经常遇到,是内存不足。
网格减少
虚拟机的话,增加内存
跟CPU多少核关系不大 -
@dy大世界 给我个邮箱
-
@qjh888 研究好了么?我想获取圆柱表面,某一条曲线上的升阻力,请问怎么后处理呢,感谢
-
@wh3296
写一个脚本,从log中提取 -
浸入边界法解决三类问题:
(1)刚性物体受力问题
(2)解决刚性物体运动问题
(3)解决柔性物体结构变形我主要是想问第(3)类问题,如何解决?
有前辈有思路么,可以指点下思路么,感谢! -
请教下各位前辈,感谢~~
咨询主要问题:现在想使用浸入边界法(IBM),解决流固耦合(FSI)问题。
请教1:OpenFOAM的任何版本中,有自带的(或者第三方开源的)浸入边界解决流固耦合的程序吗?
请教2:在OpenFOAM中,如果没有现成的?那如何用浸入边界法来计算流固耦合问题呢?需要改写求解器的话,大概思路怎么弄呢。有前辈么~感谢万分~
-
@liujiaming
您是刘超群老师课题组访学的那位刘剑明老师吗?久仰久仰 -
-
@strive_dut
你是因为代码被注释掉了吗?还有其他可能的原因吗? -
双路48核96线程,亲测如下:
致动线风力机算例,网格1200万。
方案A:关闭超线程,核心选8
方案B:打开超线程,核心选16
方案B更快 -
@maguolin
嗨,国林。能邮件交流下致动线吗?jrw1992@163.com
期待和你探讨 -
@strive_dut
试了,没用。
有报错红色高亮的虚拟机:A
没有报错红色高亮的虚拟机:B
我仔细对比了A和B中的.bashrc的内容,发现一模一样。所以问题应该不是这个#号
另外我尝试删除#,重开终端,依旧没有高亮 -
@同学博 C币在哪里查看啊,博同学
-
@bestucan
老铁,我检查过$HOME/.bashrc中的color语句没问题。
也尝试从别的虚拟机(可以高亮显示报错)中复制一个.bashrc文件过来覆盖
还是没法error语法高亮 -
东岳老师,能不能分享一个空的Ubuntu虚拟机出来呢。我记得以前是有的呢,但是找不到啦。
这样我在空的ubuntu系统上,尝试装一下不同版本,安装完我再反馈提供给您。分享给CFD中文网的Fans -
@李东岳
东岳老师,您知道是我哪里设置不对吗?不高亮,调错好难受阿 -
下载了东岳老师提供的,多版本集合的虚拟机。
其他虚拟机,我都试了,编译程序时发生报错,都可以“高亮红色”显示错误error
为什么多版本集合这个,不高亮了呢?
-
测试了一下这个程序,给大家反馈下
- OpenFOAM-v2006以上可用
- OpenFOAM-8调试好了,编译没报错,但是处理算例报错
- foam-extend4.1上,调试好了,但是不识别浸入边界
目前只能在高版本上用了,如果谁编译了低版本,记得回来分享下啊
-
@yhdthu
您好
我尝试往OF官网版本上移植,提示了一些报错,主要有:error: ‘complex’ was not declared in this scope
经过很久的折腾,发现您可能参考tensor.C文件来修改的,并且我对比了OpenFOAM低版本的tensor.C来逐个修改报错,但是始终没能解决。
可否帮忙帮忙编一个低版本的,或者给一些修改的思路
感谢dyfluid@dyfluid:~/postVersion$ wclean dyfluid@dyfluid:~/postVersion$ wmake Making dependency list for source file Liutex.C SOURCE=Liutex.C ; g++ -m64 -Dlinux64 -DWM_DP -Wall -Wextra -Wno-unused-parameter -Wold-style-cast -Wnon-virtual-dtor -O3 -DNoRepository -ftemplate-depth-100 -I/home/dyfluid/OpenFOAM/OpenFOAM-2.4.x/src/finiteVolume/lnInclude -I/home/dyfluid/OpenFOAM/OpenFOAM-2.4.x/src/meshTools/lnInclude -IlnInclude -I. -I/home/dyfluid/OpenFOAM/OpenFOAM-2.4.x/src/OpenFOAM/lnInclude -I/home/dyfluid/OpenFOAM/OpenFOAM-2.4.x/src/OSspecific/POSIX/lnInclude -fPIC -c $SOURCE -o Make/linux64GccDPOpt/Liutex.o Liutex.C: In function ‘Foam::vector getZdEVec(const tensor&)’: Liutex.C:44:18: error: ‘complex’ was not declared in this scope const Vector<complex> EVals(eigenValues(T)); ^ Liutex.C:44:25: error: template argument 1 is invalid const Vector<complex> EVals(eigenValues(T)); ^ Liutex.C:44:47: error: cannot convert ‘Foam::vector {aka Foam::Vector<double>}’ to ‘const int’ in initialization const Vector<complex> EVals(eigenValues(T)); ^ Liutex.C:46:25: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Cmpt> class Foam::Vector’ const Vector<complex> standardBasis1(Zero, pTraits<complex>::one, Zero); ^ Liutex.C:46:25: note: expected a type, got ‘complex’ Liutex.C:46:42: error: ‘Zero’ was not declared in this scope const Vector<complex> standardBasis1(Zero, pTraits<complex>::one, Zero); ^ Liutex.C:46:63: error: type/value mismatch at argument 1 in template parameter list for ‘template<class PrimitiveType> class Foam::pTraits’ const Vector<complex> standardBasis1(Zero, pTraits<complex>::one, Zero); ^ Liutex.C:46:63: note: expected a type, got ‘complex’ Liutex.C:46:75: error: expression list treated as compound expression in initializer [-fpermissive] const Vector<complex> standardBasis1(Zero, pTraits<complex>::one, Zero); ^ Liutex.C:47:25: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Cmpt> class Foam::Vector’ const Vector<complex> standardBasis2(Zero, Zero, pTraits<complex>::one); ^ Liutex.C:47:25: note: expected a type, got ‘complex’ Liutex.C:47:69: error: type/value mismatch at argument 1 in template parameter list for ‘template<class PrimitiveType> class Foam::pTraits’ const Vector<complex> standardBasis2(Zero, Zero, pTraits<complex>::one); ^ Liutex.C:47:69: note: expected a type, got ‘complex’ Liutex.C:47:75: error: expression list treated as compound expression in initializer [-fpermissive] const Vector<complex> standardBasis2(Zero, Zero, pTraits<complex>::one); ^ Liutex.C:48:25: error: type/value mismatch at argument 1 in template parameter list for ‘template<class Cmpt> class Foam::Vector’ const Vector<complex> EVec ^ Liutex.C:48:25: note: expected a type, got ‘complex’ Liutex.C:50:30: error: request for member ‘x’ in ‘EVals’, which is of non-class type ‘const int’ eigenVector(T, EVals.x(), standardBasis1, standardBasis2) ^ Liutex.C:53:23: error: request for member ‘x’ in ‘EVec’, which is of non-class type ‘const int’ vector EVecR(EVec.x().real(), EVec.y().real(), EVec.z().real()); ^ Liutex.C:53:40: error: request for member ‘y’ in ‘EVec’, which is of non-class type ‘const int’ vector EVecR(EVec.x().real(), EVec.y().real(), EVec.z().real()); ^ Liutex.C:53:57: error: request for member ‘z’ in ‘EVec’, which is of non-class type ‘const int’ vector EVecR(EVec.x().real(), EVec.y().real(), EVec.z().real()); ^ Liutex.C: In function ‘Foam::tensor rotation(const vector&)’: Liutex.C:62:14: error: ‘Zero’ was not declared in this scope tensor q(Zero); ^ Liutex.C: In function ‘Foam::vector liutex(const tensor&, const vector&)’: Liutex.C:100:19: error: ‘Zero’ was not declared in this scope vector liutex(Zero); ^ Liutex.C: In function ‘int main(int, char**)’: Liutex.C:156:48: error: ‘Zero’ was not declared in this scope dimensionedVector("zero", dimless, Zero) ^ Liutex.C:158:39: error: ‘Foam::volVectorField {aka class Foam::GeometricField<Foam::Vector<double>, Foam::fvPatchField, Foam::volMesh>}’ has no member named ‘primitiveFieldRef’ vectorField& iLiutex = Liutex.primitiveFieldRef(); ^ Liutex.C:174:43: error: ‘Foam::volTensorField {aka class Foam::GeometricField<Foam::Tensor<double>, Foam::fvPatchField, Foam::volMesh>}’ has no member named ‘primitiveField’ const tensorField& iGradU = gradU.primitiveField(); ^ Liutex.dep:674: recipe for target 'Make/linux64GccDPOpt/Liutex.o' failed make: *** [Make/linux64GccDPOpt/Liutex.o] Error 1 dyfluid@dyfluid:~/postVersion$
-
@李东岳
请问东岳老师,咱CFD中文这边,用的网盘是叫什么呢?
我看下在速度挺快的,我们可以免费用吗? -
已测试,OpenFOAM-2006以上版本
感谢 -
@yhdthu
谢谢海东博士,请问您这个是在OpenFOAM的哪个版本实现的呢? -
@李东岳
目前我将cavity算例改成三维,三个方向网格相同,试算了后进行Liutex后处理。记录如下:
30^3网格 单核,Liutex处理时间:4s
35^3网格 单核,Liutex处理时间:14s
40^3网格 单核,Liutex处理时间:60s
45^3网格 单核,单核,Liutex处理时间:131s
50^3网格 Liutex处理时间:327s
55^3网格 单核,浮点溢出
58^3网格 单核,浮点溢出
60^3网格 单核,浮点溢出
70^3网格 单核,浮点溢出
80^3网格 4核并行后处理,报错300万网格以前的算例,扩大机器内存,单核处理3天了,还没出结果
-
-
@李东岳
但是别人文献说,这个就是个后处理。计算速度和使用方法类似OpenFOAM自带的Q和Vorticity。
但是目前网上开源的那个代码,就是遇到网格50万以上,运行2天没反应。
东岳老师,能帮忙看下代码,提示下可能是代码哪里问题吗?
感谢! -
你说的把Q的插值变成比值,应该是Ω方法吧???
Liutex-Ω的话好像比较麻烦@西湖冷月 你具体编程过吗?
-
在ubuntu上将liutex程序编译成了后处理程序(类似Q和vorticity),但是发现算的很慢。
比如:处理400万网格的最后一个时间步,算了2天都没算出来,但是同一个算例后处理Q、vorticity几秒钟就处理好了。
请问有人用过第三代涡识别方法Liutex,也遇到同样问题吗?
-
您好,请问怎么解决的呢?
我用Liutex后处理1万网格,大概20s出一个时间序列文件夹。
处理400万网格,2天了一个时间结果都没出来,一直在下面的界面,我用3台电脑同时尝试,结果都是这样。
请问楼主怎么解决的呢
-
请教各位大佬
我想算旋转圆柱,但是想给一个线性增加的转速,不是固定转速
比如W=W0+at这种(W是角速度,a是角加速度)我尝试了一些自带的动网格类型:强迫振荡型oscillatingMotion,匀速直线型linearMotion
好像都没法实现我的需求啊,求大神帮助解答,谢谢!
-
也看到CFD中文网,有2个类似的帖子,但是都没有看到具体的解答。
希望能有做过噪声的朋友帮忙解释下如何具体操作,万分感谢!!
-
最近开始关注,流噪声的问题。
看到很多文献,都时通过CFD计算流场,然后列举了一些噪声的理论。
CFD计算流场,大家都很熟悉了。但是噪声是咋计算分析的呢?
感谢大家指导
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
有前辈,可以分享一个OpenFOAM-v1906的虚拟机吗?
使用OpenFoam1906,软件自带的造波工具包造波,如何提取波面曲线(surfaceElevation)
并行计算与单核计算的结果不能完全吻合吗?
单核与并行时输出的区别
大家有遇到过并行计算和单核计算结果不同的情况吗?
单核与并行时输出的区别
Floating point exception
floating point exception
floating point exception
停电,中断计算,续算时报错:mpirun Floating point exception,一次性计算没问题
停电,中断计算,续算时报错:mpirun Floating point exception,一次性计算没问题
停电,中断计算,续算时报错:mpirun Floating point exception,一次性计算没问题
停电,中断计算,续算时报错:mpirun Floating point exception,一次性计算没问题
大家觉得什么版本的Linux,用起来比较舒服呢?(终极汇总帖)Ubuntu?Mint?Deepin?
什么原因使得“on signal 9 (Killed)”
OpenFOAM中动网格(或者重叠网格)计算后,怎么提取浮体的位移呢?
OpenFOAM中动网格(或者重叠网格)计算后,怎么提取浮体的位移呢?
sampleDict 是否可以切取圆柱面采集数据?
OpenFOAM中动网格(或者重叠网格)计算后,怎么提取浮体的位移呢?
OpenFOAM或者foam-extend中,可以用浸入边界来做流固耦合问题么?
OpenFOAM或者foam-extend中,可以用浸入边界来做流固耦合问题么?
我要做自己的CFD软件,有生之年,跟商软来一次硬刚!
CPU超线程关闭
多版本OpenFOAM集合的Ubuntu虚拟机,为什么编辑报错时,不能“高亮红色”显示了呢?
CPU超线程关闭
关于用fluent UDF 编写风力机致动线模型
多版本OpenFOAM集合的Ubuntu虚拟机,为什么编辑报错时,不能“高亮红色”显示了呢?
C币运行机制测试
多版本OpenFOAM集合的Ubuntu虚拟机,为什么编辑报错时,不能“高亮红色”显示了呢?
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
多版本OpenFOAM集合的Ubuntu虚拟机,为什么编辑报错时,不能“高亮红色”显示了呢?
多版本OpenFOAM集合的Ubuntu虚拟机,为什么编辑报错时,不能“高亮红色”显示了呢?
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教关于网盘的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:三维涡量识别方法
请教:第三代涡识别方法Liutex代码在ubuntu中运行慢,Reading U不动的问题
请教:第三代涡识别方法Liutex代码在ubuntu中运行慢,Reading U不动的问题
请教:第三代涡识别方法Liutex的代码在linux中运行的问题
请教:OpenFOAM动网格类型,均加速运动,旋转
请教:OpenFOAM如何计算气动噪声(或水动噪声)呢?
请教:OpenFOAM如何计算气动噪声(或水动噪声)呢?