流体的物性参数为:

密度: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. Django 信号使用问题

    Django 信号使用问题: 在使用django内置信号修改新注册的用户密码的时候,发现内置信号没有被触发.百度&官方文档找到了答案 1.信号的函数应该放在哪里? 这段代码应该放在哪里? 严格 ...

  2. 大数据之kafka-05.讲聊聊Kafka的版本号

    今天聊聊kafka版本号的问题,这个问题实在是太重要了,我觉得甚至是日后能否用好kafka的关键.上一节我们介绍了kafka的几种发行版,其实不论是哪种kafka,本质上都内嵌了最核心的Apache ...

  3. django 的form登录 注册

    #!/usr/bin/env python # -*- coding: utf8 -*- #__Author: "Skiler Hao" #date: 2017/3/30 15:4 ...

  4. 六、Linux_SSH服务器状态

    一.保持Xshell连接Linux服务器状态 1.登录服务器后 cd /etc/ssh/ vim sshd_config 找到 ClientAliveInterval 0和ClientAliveCou ...

  5. cadvisor应用

    cadvisor主页:https://github.com/google/cadvisor 容器主页:https://hub.docker.com/r/google/cadvisor cAdvisor ...

  6. equals与hashCode

    当我们需要将自己的类存入HashMap或HashSet时一般都要重写其equals与hashCode方法,但在重写时要符合规范否则会出问题. 1.equals方法 首先equals方法需要满足如下几点 ...

  7. C++(四十九) — set、multiset 容器的基本操作

     1.set的基础知识 set的特性是:所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value)和键值(key),set元素的键值就是实值,实值就是键值.set不允 ...

  8. 微信小程序~TabBar底部导航切换栏

    底部导航栏这个功能是非常常见的一个功能,基本上一个完成的app,都会存在一个导航栏,那么微信小程序的导航栏该怎么实现呢?经过无数的踩坑,终于实现了,好了,先看看效果图. 对于底部导航栏,小程序上给出的 ...

  9. 微信小程序~下拉刷新真机测试不弹回的处理办法

    问题描述: 下拉刷新在手机上不会自动回弹,开发工具可以 解决办法: 主动调用wx.stopPullDownRefresh /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDow ...

  10. qt事件机制(转)

    学习了一段时间的Qt之后,发现Qt的事件机制和其他语言的机制有些不同.Qt除了能够通过信号和槽机制来实现一些Action动作之外,还可以用对象所带的事件,或者用户自定义的事件来实现对象的一些行为处理. ...