OpenFOAM——绕流振动

流体的物性参数为:

密度:1kg/m3

粘度系数:0.01N·s/m2

OpenFOAM——绕流振动          首先进行建模操作,任何建模软件均可,本算例在ICEM建模和进行网格划分,生成的网格如下: 

 

接下来转入OpenFOAM的操作:

首先新建一个文件夹,名字任取,本算例中我将该文件夹命名为:cylinder

 

然后进入OpenFOAM的安装目录,将安装目录下的wingMotion算例(我的目录为/opt/openfoam5/tutorials/ incompressible/pimpleDyMFoam/wingMotion/wingMotion2D_pimpleDyMFoam)下的0.orig文件夹、constant文件夹和system文件夹拷贝到cylinder文件夹下,将0.orig文件夹重命名为0,删除0文件夹下的include文件夹, knutomega这些文件,因为本算例不会用到这些文件夹和文件。 

 

然后将刚才导出的网格文件拷贝到cylinder文件夹下,在cylinder文件夹下打开终端,输入fluentMeshToFoam命令(由于从ICEM当中导出模型的时候就已经进行了缩放,所以这里不用缩放网格): 

  

我们打开constant文件夹

接着我们打开polyMesh文件夹,对其中的boundary文件进行编辑,将UPDOWN边界的Type改为symmetry,记得后面一定要跟上分号,否则后面计算会报错 

 

transportProperties文件修改如下: 

 

设置运动黏度为0.01m2/s

然后我们拷贝oscillatingBox下的dynamicMeshDict字典(我的路径是/opt/openfoam5/tutorials/multiphase

/potentialFreeSurfaceDyMFoam/oscillatingBox/constant/dynamicMeshDict)到constant文件夹下,覆盖当前的dynamicMeshDict,修改覆盖后的dynamicMeshDict文件如下: 

 

接着修改turbulenceProperties文件,此处我们将模拟类型设置为层流(laminar

 

然后对初始边界条件进行设置,下面转入0文件夹下进行操作:

修改0文件夹下pUpointDisplacement文件:

p文件当中的内容如下: 

 

U文件当中的内容如下:

 

pU文件参数的具体含义,详见http://blog.sina.com.cn/s/blog_14d64daa10102wskl.html 

pointDisplacement文件当中的内容如下: 

 

说明一下:比起其他求解器多出来的pointDisplacement字典主要用于指定边界的位移,本算例我们指定圆柱的位移为oscillatingDisplacement类型,那么也就是说圆柱的运动满足表达式y=Asin(ωt),其中amplitude为振幅,这里为一个向量,用于指定边界运动的最大位移,对应表达式中的A,本算例我们指定圆柱在Y方向上下振动,在Y方向的最大位移为2米,所以

amplitude       (0 2 0);

omega关键词对应表达式中的ω

其他的边界不运动,所以

    ".*"

    {

        type            fixedValue;

        value           uniform (0 0 0);

    }

接着我们设置controlDict文件 

 

限制库朗数不超过0.9 

fvSchemes文件修改如下: 

 

fvSolution文件修改如下:

 

为了加快计算,我们采用分块并行计算

因为system目录下已存在decomposeParDict字典,所以我们可以在终端中输入decomposePar直接进行分块 

  

OpenFOAM——绕流振动    在终端中输入mpirun -np 4 pimpleDyMFoam -parallel开始计算:

 

等到计算结束: 

 

将计算结果导入paraview里面进行处理 

  

posted @ 2017-10-24 18:48  硫酸亚铜  阅读(2868)  评论(0编辑  收藏  举报