在找资料的过程中发现了关于sampleDict中可用type的说明,包括uniform, face, midPoint, midPointAndFace, curve, cloud(之前在苏军伟前辈的博客中看到过相关介绍,但当时并无curve类型)。
可以看到是有针对曲线的类型(curve),但是没有给出具体的做法,后面会尝试用这个提取一下曲面上的压力看看。
在找资料的过程中发现了关于sampleDict中可用type的说明,包括uniform, face, midPoint, midPointAndFace, curve, cloud(之前在苏军伟前辈的博客中看到过相关介绍,但当时并无curve类型)。
可以看到是有针对曲线的类型(curve),但是没有给出具体的做法,后面会尝试用这个提取一下曲面上的压力看看。
各位前辈好,想请教一下有没有类似midPoint这种提一条线上各单元物理量的方法,来提取像下图这种曲面上的各个单元的物理量,例如压力p。
(虽然用cloud方法也能提出来,但需要一个个找曲面上的单元坐标,单元多了的话感觉会相当麻烦 )
@cfd_上弦月 已经解决了,点击左侧的选项''Zone Style'',确定内部流场对应的zone(以上面的图片为例,我这里是Step 1737 Incr 0)。选择''Surfaces''标签,然后在''Surfaces to Plot''处右键选择All surfaces,内部的流体域就能显示出来了。
@huoyanxiadebing 在 说实话,根本不知道选择什么湍流模型 中说:
看到你的帖子,发现你做的都是外流场,对于外部流动,沿表面位置分布的雷诺数大于500000时,通常认为流动状态为湍流;沿障碍物的雷诺数大于20000时认为流动状态为湍流,如果你的模型中雷诺数不是很大的话,你用层流模型计算即可,这就是有时候你用层流模型算的比较准确的原因;对于雷诺数的计算,最重要的一点就是你要选好特征长度,对于没有结构物时,你要以水槽的长度或高度来算雷诺数,加上了结构物,就要判断是否产生了湍流现象,以结构物的某个长度及其附近的速度来计算雷诺数。
前辈您好,请问这里提到的两个临界值是否有相应文献的支撑?
如果要计算防波堤(例如沉箱防波堤和水下防波堤)附近的雷诺数来选取相应的湍流模型(适用于低雷诺数或高雷诺数的),这个特征长度应该取防波堤的高度吗?对于二维和三维情况,特征长度的选取是否有不同呢?
另外,结构物附近的速度是否有较为通用的估算方式?对于防波堤附近的速度,能否用基于浅水波理论的公式Uh=cη进行估算呢(水深h,波速c,自由面高度η)?
@李东岳
东岳老师,您这里说的直接给点的位移是指在下一步求解前,对constant/polyMesh路径下的points文件里相应边界上的点坐标进行覆写吗?
然后在0文件夹下给出该边界的各个初始条件,同时在pointDisplacement指定相应的movingWall边界,内部再使用某种动网格求解器进行处理?
@李东岳
感谢东岳老师,起初我以为边界点和内部是动网格方法一起求解,看来之前的理解是有问题的。
请问这样的边界点移动在OpenFOAM中是如何实现的呢?
这是做的波浪、海床与结构物的相互作用,由于结构物下沉后海床变形(有限元部分),所以想用算出的位移来更新流体域网格从而更准确地计算下一步的流场。
preCICE is the leading open-source coupling library for partitioned multi-physics simulations, including, but not restricted to fluid-structure interaction and conjugate heat transfer simulations.
Partitioned means that preCICE couples existing programs/solvers capable of simulating a subpart of the complete physics involved in a simulation. This allows for the high flexibility that is needed to keep a decent time-to-solution for complex multi-physics scenarios.
The software offers convenient methods for transient equation coupling, communication, and data mapping.
visualisation of how preCICE couples different solvers
感谢前辈,我刚刚看了preCICE官网的演示视频,感觉值得一试。在介绍里看到这个团队已经开发了OpenFOAM的adapter,之后要做的应该就是参考这些现有的adapter并针对自己采用的有限元软件做一个adapter来实现和OpenFOAM之间的数据传递了。
@bestucan
感谢前辈的分享,不过现阶段可能还不会用到重叠网格。
目前想实现的是通过读取其他软件计算的位移来更新局部边界处各个单元的网格,最主要的可能还是一个接口的问题。此外,想要更新的边界处各单元的位移是不同的,不知道如附图这样的网格变形是否可以用displacementLaplacian实现?
看到pimpleDyMFoam和interDyMFoam的求解过程中调用了一个mesh.update()函数来更新网格,但是我在C++ Source Code Guide中没有找到这个函数具体是怎样实现的,还请各位前辈指点一下。
@fireztw 在 如何将6DOF和动边界一起使用? 中说:
楼主您好,动边界是施加的主动运动,浮体是在流体作用下的被动运动,这样理解对吗?请问这种流固耦合问题,使用xxDyMFoam求解器可以计算吗?不需要用专门的FsiFoam吗?谢谢!另外,如果只是浮体运动,参考哪个算例比较好啊