楼主您好,请问您提到的“interFOAM一直有些问题,如交界面出现褶皱,交界面相对速度不正常的大”的信息是在哪里获取到的?我最近在自己的计算中也发现了这个问题,但是一直不知道如何解释以及如何避免。。。。谢谢~
范准
帖子
-
-
我是这样做的:
在求解器中,添加这样的代码:IOdictionary meshProperties ( IOobject ( "meshProperties", runTime.constant(), mesh, IOobject::MUST_READ, IOobject::NO_WRITE ) ); scalar xnumber(int(readScalar(meshProperties.lookup("xnumber")))); scalar ynumber(int(readScalar(meshProperties.lookup("ynumber"))));
在算例文件夹的constant文件夹中,创建一个名为meshProperties的文件,内容为
/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.x | | \\ / A nd | Web: www.OpenFOAM.org | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile { version 2.0; format ascii; class dictionary; object meshProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // xnumber 20; ynumber 10;
这样一来,参数xnumber和参数ynumber的值,就是通过算例文件夹里面的参数设定文件读取的了
-
@yfclark 刚刚开始苦逼的直博。。。。。。。
-
@东岳 举个例子,我希望把他从上面这样的网格,
变化成下面这样的网格
我试验过很多次,当实际底部边界的斜率比较大的时候,比如说0.2啊0.3啊这样的,画出来的网格边界就能够很好地保留实际边界的斜率,例如下图,
但是当我实际底部边界的斜率很小很小,例如此算例为0.002时,画出来就成了第一幅图那样了
-
@东岳 谢谢东岳前辈指导,我也发现随着网格的细化,这些台阶会越来越小,但是这也带来着计算量的迅速增加,怎样在保持原有网格数量的基础上,达到消除台阶的目的,这正是我目前死磕的地方。
-
是这样的,我画了一个长方体的背景网格,现在有一个斜率大概只有0.002的微微倾斜的边界面,是平面,我生成了STL格式的边界模型之后,用snappyHexMesh进行切割扣除,发现这个微微倾斜的斜面并不能够被很好地保留下这种几何特征,而是变成了下面这种,水平线-台阶-水平线-台阶-水平线,这样的形式,而不是一个连续的斜线。
不知道要怎么才能够完美保留微微倾斜变截面的几何特征,而避免这种台阶式的突变呢?谢谢各位前辈赐教~ -
@netbuger 哇!确实是这样的!我把这个选项取消掉就能够看得到了!谢谢前辈指点~~
-
@宝丁 我也是将边界设置成了不同的组!应该就是这个问题。多谢多谢~~~
-
不知道各位前辈有没有遇到过一种情况,就是在还没有进行计算的算例中(也就是只有0、constant、system文件夹。已经完成blockMesh和setFields等)打开ParaView查看初始条件,没办法加载出初始场的信息。
举个例子,在正常情况下,打开算例Apply的时候是这样的,我们可以在Cell Arrays中选择需要加载的场,
但是在某些算例中,Apply的时候是这样的
在Cell Arrays中并未显示任何可以加载的场。
不知道为什么会出现这种问题?我目前找到的一个歪门邪道的解决办法是把0文件夹改名为1,然后再打开ParaVIew查看,查看完了把名字再改回0。
-
是的,现在我遇到的一个问题就是GCC的版本问题,还不知道怎么在单机状态下把GCC的版本更新了。。这个还需要我去探究
-
可以用一个名叫groovyBC的第三方插件,自由定义边界条件
-
@一二 哇,受教了受教了,谢谢前辈指点迷津~~~~~
-
在用fieldAverage工具的时候遇到了一个问题,比如说整个计算时间是0-10秒,假设这个流动5秒后才稳定,那么我只能对5-10秒内的流场进行时均,请问这应该怎么做呢?
我目前想到的非正式解决办法是,把整个计算分成两个算例,第一个算例正常计算0-5秒,然后第二个算例从5秒开始计算5-10秒并在计算过程中时均。不知道还有没有更巧妙些的办法呢?
希望各位前辈不吝赐教~
-
@东岳
哇,前辈好~~~ -
实在不行,用PS?。。。。
-
如题,最近导师想让我了解一下噪声相关的东西。不知道能不能用OpenFOAM计算噪音,如果不能,那需要用OpenFOAM计算出流场的压力场,然后导入到其他软件里面计算噪音咯?希望前辈们不吝赐教~
-
Colorful Fluid Dynamics
-
@dzw05 明白了,也就是说,water并不是一个真正原始的量,这个量的值实际上是由alpha1来指定的,那么我想输出water,直接就输出alpha1就行了。我刚刚试了一下,确实是这样的。多谢啦~~~~
-
@bestucan 那也是学长,厉害了~
-
@bestucan 嗯,这个链接对了,谢谢前辈~~~
-
怎样输出interFoam中的项分数?例如dambreak中的alpha.water
我需要获取某个网格处相分数的数据,我是这样写的:alpha.water[sphereCellsI[i]]
但是编译的时候会报错:
turbinesupdate.H:467:36: error: ‘class Foam::DynamicList<Foam::List<Foam::List<double> > >’ has no member named ‘water’ if( mag(alpha.water[sphereCellsI[i]]-0.5) < mindisalpha )
也就是说alpha.water并不是一个变量啊,而且这也不符合C++里面变量名称的规则呀
那么,我怎样才能得到这个数据呢?
请各位大佬多多指教~~~ -
@bestucan 多谢,额,,,您给的链接挂掉了。。。
-
如题,OpenFOAM的2.0.x/3.0.x版本是什么意思?,和2.0.0/3.0.0有什么区别吗?并没有看到OF官方有过.x版本
而且,这种.x版本的ThirdParty包在GitHub上都是残缺的,为什么呢?
可能这个这个问题太过低级了,但是还是希望各位大佬指教指教。。。 -
@东岳 大致明白了,这里相当于是用新的算法代替了传统的散度操作,从而在能达到原有求散度目的的情况下避免了直接求散度造成的麻烦。多谢前辈!!!
-
遇到过两次这样的问题。
一是在interFoam中的interface.correct()函数中,有代码如下:// Face unit interface normal flux nHatf_ = nHatfv & Sf; // Simple expression for curvature K_ = -fvc::div(nHatf_);
nHatf_是一个标量
二是正如前辈在interFoam解析中提到此处fvc::div()的处理相同于icoFoam中的fvc::div(phiHbyA)
在icoFoam的代码中同样出现了对标量求散度的现象,在此省略。
上述interFoam代码的对应物理公式为κ=−∇⋅n,其中n为自由表面的单位法向量,并未出现对标量求散度的情况。
所以,为什么在interFoam中,强行对标量求了散度?
期待有人能为小白解答一下疑惑,在此谢过了~ -
@yong-li 不用谢~~~
-
@bestucan 对的,我这个操作的核心其实就是创建那个文件,只不过是用自定义命令的形式编写了一遍。这样更加方便使用
-
针对OpenFOAM与ParaView依赖关系不正确的情况
即输入paraFoam后出现如下反馈:FATAL ERROR: ParaView reader module libraries do not exist Please build the reader module before continuing: cd $FOAM_UTILITIES/postProcessing/graphics/PV3Readers ./Allwclean ./Allwmake
即无法正常使用paraFoam命令便捷进行后处理的问题,可以采用以下非正式方式解决:
摁Ctrl+Alt+T进入终端(Terminal)
编辑环境变量,即执行sudo gedit $HOME/.bashrc
在文件底部增添如下命令:alias para="touch FZ.foam ~/OpenFOAM/ParaView-5.4.1-822-g597adef-Qt5-MPI-Linux-64bit/bin/paraview"
保存,退出。
在终端(Terminal)下打开的算例目录,执行para命令
点击左上方“打开”
在算例目录下拉到最下面,双击FZ.foam,成功导入这之后,每次需要导入的时候,只需要在算例目录执行para命令然后点打开再双击FZ.foam就可以了。
PS:我感觉这个问题和版本有关,我使用OpenFOAM2.0.x就会出现这个问题,使用OpenFOAM3.0.1的时候就可以正常使用paraFoam开启ParaView
范准
作于2018年2月2日,更新于2018年3月28日 -
我看到硫酸亚铜的博客上发表过他使用interFoam运算的气泡上升问题,感觉还是写得很详细的,链接如下
http://blog.sina.com.cn/s/blog_14d64daa10102xigq.html
如果有问题你可以@他试试
求解:interFOAM网格收敛做不到
如何从字典读入一串系数
请问snappyHexMesh扣除小斜率边界时产生的台阶应该怎样处理?
请问snappyHexMesh扣除小斜率边界时产生的台阶应该怎样处理?
请问snappyHexMesh扣除小斜率边界时产生的台阶应该怎样处理?
请问snappyHexMesh扣除小斜率边界时产生的台阶应该怎样处理?
某些算例中ParaView无法查看初始场的信息?
某些算例中ParaView无法查看初始场的信息?
某些算例中ParaView无法查看初始场的信息?
OpenFOAM 无网络安装教程
U*sin(t)边界条件
fieldAverage怎样对指定时间范围求时均?
fieldAverage怎样对指定时间范围求时均?
OpenFOAM无法调用ParaView的解决办法
静止水中气泡上升流线图输出
OpenFOAM可以用来算流场中的噪音吗?
测试颜色
怎样输出interFoam中的项分数?
OpenFOAM的2.0.x版本是什么意思?
OpenFOAM的2.0.x版本是什么意思?
怎样输出interFoam中的项分数?
OpenFOAM的2.0.x版本是什么意思?
OpenFOAM的2.0.x版本是什么意思?
OpenFOAM对标量求散度?
OpenFOAM对标量求散度?
interFoam 模拟单个气泡在静水中上升问题
OpenFOAM无法调用ParaView的解决办法
OpenFOAM无法调用ParaView的解决办法
interFoam 模拟单个气泡在静水中上升问题