@hachikoi 还没做过多浮体的例子,最近做了一个overset+AMR+PLIC的算例,结果还行。你的算例几何尺寸可以分享一下么,圣诞节放假的时候我可以用我的求解器试着算算。
队长别开枪
帖子
-
-
用几何重构方法啊
-
@菜鸟一小只 成品有网站吗?
-
@李东岳 我最近在想用ParaView的二次开发做一个玩具,从网格生成到结果可视化,求解器就用以前自己用Fortran写的,集成OpenFOAM复杂度有点高。
-
我想基于ParaView的二次开发(custom app)应该可行吧
-
@jqbu 最近比较忙,我大概周日或者周一详细回复你一下。
-
@是嘿嘿牛啊 这个给我整不会了
-
你提问里给出的网格是hyperMesh的?能不能看一下近壁单元。把blockMesh的网格也贴出来看看,尤其是近壁单元。
-
@wsxfyy 你可以先摸索摸索,周末我分享一下ParaView的state文件和python脚本。
-
@wsxfyy 时间使用
Annotate Time Filter
添加,动画使用File -> Save Animation ...
保存为png图片,然后使用ffmpeg
或者convert
命令转成无损mp4视频或者gif动图。 -
动画是paraview,等值面再设置透明度。曲线是用python,最后使用image Magic合并
-
@是嘿嘿牛啊 乘以相体积分数。
-
破解版会有各种问题
-
DynamicList<label> xxxCells(0); const scalarField& alpha1In(alpha1.ref()); forAll(alpha1In, cellI) { // alpha1 is liquid fraction, this condition equals to vapor fraction > 0.5 if (alpha1In[cellI] <= 0.5) { xxxCells.append(cellI); } } // Usage of 'xxxCells' list if (xxxCells.size()) { forAll(xxxCells, ci) { const label globalCellId(xxxCells[ci]); // Do whatever you want from here } }
-
@李东岳 默认stl网格包裹的区域属于液相,但也可以是水中的气泡形状,加
-gas
选项就行了。 -
@是嘿嘿牛啊 初始化没搞好。锯齿状interface会在重力作用下运动。试试这个工具,https://github.com/daidezhi/alphaInitializerFoam 。
-
@yingdong overset边界处网格尺寸最好差不多,你试试
-
@yingdong 把网格显示一下
-
@chengan-wang 变量名不能包含dot
-
@鲸落 哪种动网格?overset,AMR?
-
https://github.com/daidezhi/alphaInitializerFoam ,你这篇文献有链接么?哪年发表的?
-
这和网格加密后相分数场的插值方法相关
-
@李东岳 我谷歌了一下, 叫"湍流间歇"
-
@hongjiewang 在 界面相变 中说:
通过 https://github.com/daidezhi/alphaInitializerFoam 精确初始化相场后,使用
$\alpha ( 1- \alpha )$
的值进行判断,在$[0,1]$区间其值位于$[0,0.25]$之间,为了剔除相分数十分接近0或者1(体单元接近empty或者full,有些单元由于数值计算的误差累计会出现该为empty的时候其相分数是个十分小的数值,full也有这种可能)的情况,加入阈值判断。代码可以参考// Tolerance const scalar tol(1e-7); const volScalarField test(alpha1*(scalar(1)-alpha1)); forAll(test, cellI) { if (mag(test[cellI]) > tol) { // do something ... } else { // do something else ... } }
-
@李东岳 这么多
-
@谷柏辰 可以,参考 https://engys.com/products/helyx-os ,其他求解器类似,GUI界面设置网格和参数,后台调用求解器并显示在内嵌终端上。
-
-
-
@anubis 法向量需要单位化,isoadvector里应该存的面积矢量,需要单位化
-
-
@李东岳 谢谢岳哥。我今天试试,应该可行。
-
@anubis 看来得在代码里强制相场梯度计算格式了。
-
@anubis 试试
gradSchemes
里default Gauss linear;
改成default Gauss pointLinear;
,看看有没有提升。 -
如题。
-
@anubis 我们是使用的纯平面,isoAdvector因为使用了iso-surface的概念,使用isoValue去切体单元的每条边后很难保证所有的相交点共面的,所以不得不按照非平面处理。plus版本从2006版本开始也有PLIC算法了,我们自己的PLIC算法植入和他们的区别在于重构算法,最新的版本里我们也使用了自己的时间积分计算方法(正在准备投稿,接收后会开源)。按照目前的测试对比,在溃坝问题里interPlicFOAM和interIsoFoam计算结果非常接近。
-
@王金成
ccmToFoam
本身就在plus版本里,需要你安装libccmio-2.6.1
,编译的时候它会自动检测这个包,检测不到就不会编译了。控制台运行cd $WM_THIRD_PARTY_DIR [ -f libccmio-2.6.1.tar.gz ] || wget ftp://www.daba.lv/pub/TIS/bibliotekas/dazadas/libccmio-2.6.1.tar.gz [ -d libccmio-2.6.1 ] || tar -xzf libccmio-2.6.1.tar.gz ./makeCCMIO lib
source ~/OpenFOAM/OpenFOAM-v2012/etc/bashrc cd $WM_PROJECT_DIR ./Allwmake
ccmToFoam
应该就会安装好了。如果你使用的别的版本就把source ~/OpenFOAM/OpenFOAM-v2012/etc/bashrc
中的版本号替换掉。 -
@anubis 把体单元转换为封闭的面网格,使用第三方库求交集,链接中的使用的cork库,效率高但是精度低,不过应该能满足你的要求了。我们有最新的使用CGAL库的版本,而且使用了openmp并行,文章接受后就会开源。
-
@anubis 理论上有影响,但是可以忽略不记。
-
@anubis 轻微越界影响不大,不放心可以打开
clip
开关。https://github.com/daidezhi/alphaInitializerFoam ,这个工具基于求交集布尔操作赋初值,应该就是你需要的,不过需要一个表征初始界面形状的面网格。 -
@李东岳 简单的几何形状差别不大,我那个主要是处理复杂形状的,纯粹出于兴趣开发的
-
@anubis 试试
funkySetFields
,swak4Foam
里的工具 -
看样子像是alpha场啊
-
@同学博 blender是单精度的,不适合用于高精度数值计算的几何建模
-
@nanxuan 不好意思你九月份的留言我没注意到。多边形/多面体网格相对传统非结构网格优势就是每个体单元有了更多的面单元/相邻单元,在涉及面单元积分的变量(梯度等)计算上具有优势(https://www.semanticscholar.org/paper/The-advantage-of-polyhedral-meshes-Perić-Ferguson/51ae90047ab44f53849196878bfec4232b291d1c ),其余的还有收敛快等优点(https://www.researchgate.net/publication/292555771_New_element_lops_time_off_CFD_simulations )。缺点是生成算法复杂,主流多面体网格生成器都是将四面体网格转化为多面体网格,不能很好处理面单元翘曲,不过fluent,cfmesh等通过
六面体->四面体->多面体
的技术路线缓解了面单元翘曲,但是面对复杂几何外形的时候需要更多控制。我个人开始使用多面体网格的原因纯粹是因为多面体网格好看,可以在女朋友面前装逼 。希望这个解释能帮到你。 -
@Stan同学 刚刚试了一下,SALOME也可以,没有STAR许可的可以试试这个CAD自由软件包。
-
@Stan同学 STARCCM+可以,别的CAD软件不清楚
-
@Stan同学 stl文件存储面网格,每个patch单独保存为一个stl文件,这样就可以单独进行操作了,如果整个计算域保存为单独一个stl文件,需要指定feature特征,不好搞。建议使用GUI工具(https://engys.com/products/helyx-os)配合snappyHexMesh。
overset 小间隙-多浮体算例 计算结果明显有误
OpenFOAM模拟波浪时出现异常的气泡
OpenFOAM开源GUI想法
OpenFOAM开源GUI想法
OpenFOAM开源GUI想法
interPlicFoam
hyperMesh与blockMesh的网格生成问题
hyperMesh与blockMesh的网格生成问题
请教大家这样的三维动画用Paraview怎么画呢?
请教大家这样的三维动画用Paraview怎么画呢?
请教大家这样的三维动画用Paraview怎么画呢?
OpenFOAM两相流模型的计算域积分问题
如何在tecplot中后处理OpenFoam计算结果
如何创建一个list装符合条件的单元
斜坡地形上的流速问题
斜坡地形上的流速问题
斜坡地形上的流速问题
OpenFOAM中的重叠网格cellTypes显示
OpenFOAM中的重叠网格cellTypes显示
利用codeStream设置相分数初始场
网格体积
界面优化
基于OF重叠网格模拟结构物入水的问题
静置液滴表面利用自适应网格导致初始化后的液滴表面不稳定,如何解决
intermittency怎么翻译成中文
界面相变
基于OpenFOAM做软件开发
基于OpenFOAM做软件开发
Centroid怎么翻译成中文
Centroid怎么翻译成中文
interPlicFoam
我的龟孙啊,这么个简单的玩意卡住了好几天
如何在RANS模拟得到的速度场里加噪声(random velocity fluctuations)?
interPlicFoam
interPlicFoam
如何在RANS模拟得到的速度场里加噪声(random velocity fluctuations)?
interPlicFoam
CCM+到OpenFOAM的网格转换
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
interPlicFoam
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
setFields是否可以在给定的几何域的边界上的网格赋值的时候进行插值
关于snappyHexMesh
interPlicFoam
关于snappyHexMesh
关于snappyHexMesh
关于snappyHexMesh
Daniele Marchisio的CFD Talk登记