流体的物性参数为:

密度:1kg/m3

粘度系数:0.01N·s/m2

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

接下来转入OpenFOAM的操作:

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

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

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

我们打开constant文件夹

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

transportProperties文件修改如下:

设置运动黏度为0.01m2/s

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

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

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

文件夹下进行操作:

修改0文件夹下p、U和pointDisplacement文件:

p文件当中的内容如下:

U文件当中的内容如下:

p和U文件参数的具体含义,详见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直接进行分块:

    在终端中输入mpirun -np 4 pimpleDyMFoam -parallel开始计算:

等到计算结束:

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

OpenFOAM——绕流振动的更多相关文章

  1. 绕流振动UDF【转载】

    宏DEFINE_GRID_MOTION用来移动任意边界和流体区域内的网格节点.它提供了对节点和网格最大限度的操作,可以将刚体运动.变形和相对运动等结合起来.但是使用此UDF时,每一个时间步都必须执行. ...

  2. OpenFOAM&Gmsh&CFD圆柱绕流(两个圆柱)

    问题: 圆柱绕流问题,模拟仿真有两个圆柱.一个源的流体变化情况. 解决步骤: 1.使用Gmsh画出网格,并保存cylindertwo.msh 2.以Cavity为基础创建新的Case:Cylinder ...

  3. OpenFOAM——圆柱绕流对流换热

    本算例来自<ANSYS FLUENT技术基础与工程应用:流动传热与环境污染控制领域> TOP和DOWN为对称边界(symmetry),入口速度为0.01m/s,入口温度为300K,圆柱温度 ...

  4. OpenFOAM当中监测力和阻力系数

    首先准备好我们自己的平常算例文件,本次我们以圆柱绕流的算例来说明用法 我们找到constant文件夹 打开其中的transportProperties文件 我们将其中的: nu             ...

  5. OpenFOAM设置监测点(探针)

    首先准备好我们自己的平常算例文件,本次我们以圆柱绕流的算例来说明用法 然后我们在/opt/openfoam4/etc/caseDicts/postProcessing/probes文件夹下找到prob ...

  6. 【一起学OpenFOAM】03 OpenFOAM基本使用流程

    OpenFOAM初学者常常对于软件的使用流程感到很迷惑,与其他的具有GUI的CFD软件不同,OpenFOAM的所有操作均为基于文本操作,譬如说里面各种计算模型.计算参数.流程控制参数等,均为通过修改对 ...

  7. 【一起学OpenFOAM】系列由来

    1 为什么要学习OpenFOAM 掐指算起来,接触CFD也差不多有十个年头了,其间一直使用的商用CFD软件,有Fluent.CFX.StarCCM+等,这些商用软件各有其优缺点,都能较好的解决常规的工 ...

  8. 【一起学OpenFoam】02 软件准备

    "工欲善其事必先利其器",在利用OpenFoam解决我们的工程问题之前,首先要做的事情是搭建一个OpenFoam运行环境.很遗憾的是,OpenFoam的原生开发系统是Linux,因 ...

  9. OpenSUSE下编译安装OpenFoam

    在不是Ubuntu系统下安装OpenFoam,需要采用编译安装的方式.以下以OpenSuSE为例进行编译安装. 1 软件包准备 需要下载两个程序包: OpenFOAM-4.x-version-4.1. ...

随机推荐

  1. 学习笔记之Vim

    Vim (text editor) - Wikipedia https://en.wikipedia.org/wiki/Vim_(text_editor) Vim (/vɪm/;[4] a contr ...

  2. 如何解决div背景色半透明,里面的图片不透明问题

    用rgba可以实现,不能用opacity 背景做成透明的背景图,opacity属性影响子集的,除非把两者独立开~

  3. Python运算符大全

    一. Python的算术运算 Python的算术运算符与C语言类似,略有不同.包括加(+).减(-).乘(*).除(/).取余(%).按位或(|).按位与(&).按位求补(~).左移位(< ...

  4. 实战AudioToolbox--在iOS平台上播放音频

    上午看了关于AudioToolbox.framework相关的资料,结合网上的资料对AudioToolbox的基本使用有了整体上的认识,上一篇文章 笔谈AudioToolbox(一) 中提到使用Aud ...

  5. day 04 作业 预科

    目录 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定义方式和使用方法. 数字类型 字符串类型 列表 字典 词云图 作业 1.分别列出 数字类型.字符串类型.列表.字典 的 作用.定 ...

  6. Pthon魔术方法(Magic Methods)-bool

    Pthon魔术方法(Magic Methods)-bool 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.bool方法 __bool__: 内建函数bool(),或者对象放在逻 ...

  7. Cloudera Certified Associate Administrator案例之Configure篇

    Cloudera Certified Associate Administrator案例之Configure篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.下载CDH集群中最 ...

  8. spring cloud (四) 请求熔断 feign

    1 pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns="h ...

  9. <? extends T> 及 <? super T> 重温

    <? extends T> 及<? super T> 重温 本文针对泛型中<? extends T> 及<? super T>的主要区别及使用用途进行讨 ...

  10. selenium中的等待方法及区别

    等待是为了使脚本执行更加稳定 常用的休眠方式: 1.time模块的sleep方法 :引入from time import sleep 2.implicitly_wait():设置webdriver等待 ...