您好,@shirouchen
感谢您的回复,这里补充了显示单元后的图片,应该可以比较清楚地看到网格变形了。
首先,液面部分和顶部边界附近的网格已进行过调整,但并没有改善。此外,由于该案例中的柱体并非刚性体,所以并没有采用其他的如SolidBodyMotion这样的动网格方法。想请问您对这类问题有无其他可用的动网格方法的建议?谢谢。
您好,@shirouchen
感谢您的回复,这里补充了显示单元后的图片,应该可以比较清楚地看到网格变形了。
首先,液面部分和顶部边界附近的网格已进行过调整,但并没有改善。此外,由于该案例中的柱体并非刚性体,所以并没有采用其他的如SolidBodyMotion这样的动网格方法。想请问您对这类问题有无其他可用的动网格方法的建议?谢谢。
向各位大佬请教一个OpenFOAM动网格方面的问题。想要模拟的是一个多相流的流固耦合案例,固体域的结构物底部震动,使得结构物上部出现位移,进而震荡出水波。计算中所采用的动网格方法是displacementLaplacian,扩散方式采用的diffusivity quadratic inverseDistance。在结构物发生位移的过程中,顶部边界出现了如下面两幅图所示的波纹状的网格畸变,随后计算就崩溃了。
目前调整了很多次网格尺寸,但该问题依旧会出现,还请各位大佬多多分享经验,谢谢~
@队长别开枪
感谢前辈,采用几何重构方法后确实解决了这个问题~
@李东岳
感谢东岳老师的回复。目前我们尝试将上边界加高了一定距离,并采用interIsoFoam,上述的气泡和内部的线条就消失了。
在使用olaFlow和interFoam进行波浪模拟时,靠近自由面的区域出现了如图所示的气泡,内部还出现了一条条的线。目前推测可能是湍流模型和离散格式的问题,用k-wSST的话气泡很多,若改为层流后气泡几乎没有了。当时间离散格式改为C-N格式后,不论用哪种湍流模型,气泡都会减少很多,请问有没有大佬遇到过类似问题呢?
可以尝试用functionObject中的surfaces提取物体表面的压力
@李东岳
感谢东岳老师的分享,我先照着该教程试一试
各位大佬好,刚尝试在一台服务器上进行OpenFOAM跨节点的并行计算,测试案例是dambreak,所用版本为OpenFOAM8。我参照该链接中的做法,对/etc路径下的hosts以及/networking路径下的interfaces文件进行了修改:
hosts
interfaces
随后,在dambreak案例目录下创建了machines文件:
machines
执行'mpirun -np 4 --hostfile machines interFoam -parallel'后计算并未开始,而是出现如下报错信息:
请问各位大佬,这可能是哪个文件的设置出了问题呢?
另外,为何lscpu能看到很多NUMA节点,但在ifconfig时只有三个ip(包括下图中的enP1p130s0f1),其他的都是如下面这种情况,这是硬件配置的问题吗?
lscpu.log
问题已解决,在瞬态结构的设置里选中流固耦合界面,在左下方的“数据传输”选项中选择“所有系统耦合数据传递”即可。
各位前辈好,在使用ANSYS Fluent和Mechanical耦合计算时,设置系统耦合的时候,瞬态结构里明明有“增量位移”,但是选择时却提示Invalid option:增量位移。请问这是哪里的设置出了问题呢?
各位前辈好,关于外流场计算中的动压、总压等有些疑问,想和大家请教一下:
对于不可压缩的流体,总压=静压+动压。OF的多相流计算中,初始条件中需要给一个参考压力p_rgh,然后经计算得到总压p。
那么,以一个初始位置在水位以上的结构物(即没有静水压力)为例,当结构物受到波浪冲击时,结构物所受到的流体压力可以认为全部是动压吗?或者说,OF计算出的在自由液面处的压力都是动压?
在计算多相流动网格案例时,计算一段时间后库朗数突然增大并导致计算发散。起初以为是网格变形过大导致的发散,但查看日志文件和结果发现,计算并非是结构物受到波浪冲击后达到最大变形时终止的,而是在逐渐回到原位置时终止的,此时相分数alpha.water超过了1并在急剧增大。这时结构物附近有一定的越流(如下图所示,截图截得不太整齐请大家见谅),且计算停止时(44.2s)的气液交界面显然是有很大问题的。因此我认为应该是相方程计算不收敛进而导致的整个计算终止。
日志文件中相分数在44.076s开始大于1:
最后计算崩溃:
因此,想请问大家是否在多相流、动网格的计算中是否遇到过类似的问题,有什么办法可以解决这种相分数越界的问题吗?
想了一下,虽然网格有变形但整个过程中网格拓扑不变,是否有办法根据该单元的拓扑来提取这个单元的压力时程呢?
以结构物受波浪冲击导致结构物产生变形为例,想要得到距离结构物最近的一层流体网格上某一单元的压力变化情况。在以往的非动网格案例中,我是在system目录下设置一个sampleDict文件并在其中指定提取方式、提取点坐标,但是动网格案例中位置会变,这样的做法显然不行。请问各位是否有比较好用的提取方法?
@guohuiqun
目前,我们是通过渗透试验测出孔隙介质的压差、流速,拟合出I=AU+BU^2中的A和B,然后反算出来a和b的。至于c,OlaFlow作者在其论文中提到该参数的影响很小,故一般是取经验值0.34。
如果是计算时要实时计算边界条件,这个可能符合你的要求:
http://openfoamwiki.net/index.php/Contrib/groovyBC#Usage_of_the_boundary_condition
感谢回复,需要的确实是在计算中实时计算的边界条件,我先了解一下
目前在尝试用质量流率\体积流率边界flowRateInletVelocity来实现,但是发现官方给出的说明中好像只能施加一个常数的质量\体积流率边界,然后根据此流率边界得出此边界上的速度,无法根据边界上的流速得到体积流率(和我要实现的恰巧相反。。)
请问OF中有无根据边界上的流速来增加流体体积的方法呢?
各位好,想请教一个关于多相流的流固耦合问题。具体要模拟的情况就是一个孔隙介质挡板,左侧有水右侧无水,左侧的水进入挡板并从右侧渗出。
目前已在固体求解器中算出了固体边界上的变形和渗流速度并将二者加到了OpenFOAM流体域的相应边界上,请问怎样才能通过该渗流速度在边界上相应的位置补充上因渗流而增加的水呢?
再和各位前辈请教一个相关的问题,在用snappyHexMesh处理网格量比较大的案例时(网格数量200w左右,模型和上图类似,有一些拐角):
@李东岳
东岳前辈好,我也没找到那个帖子中的Use VTK Polyhedron(通过paraview和paraFoam打开都没有),但是有这个Decompose polyhedra,默认是勾选上的。如果将它取消勾选,显示的网格会有一些不同,但是扭曲的部分还是存在,如下面的对比。
另外,即使用了那个帖子中的第2、3点,显示的结果也是没什么区别。