ansys fluent udf manual 下载_FLUENT流固耦合柱体结构涡激振动仿真案例解析

19cafe96293b246275cb357e5a5aebb0.png

作者 | 陈东阳博士 仿真秀科普作者

d2b440875f7d1ef9cc7dc311d11342f3.gif

一、柱体结构涡激振动定义

对于海洋工程、风工程上普遍采用的圆柱形断面结构物,流体绕过柱体时会产生交替发放的泻涡,这种交替发放的泻涡又会在柱体上生成顺流向及横流向周期性变化的脉动压力。

如果此时柱体是弹性支撑的,或者柔性管体允许发生弹性变形,那么脉动流体力将引发柱体(管体)的周期性振动,这种规律性的柱状体振动反过来又会改变其尾流的泻涡发放形态。这种流体-结构物相互作用的问题被称作"涡激振动"(Vortex-Induced Vibration :VIV),它是典型的一种流固耦合振动现象。

二、柱体结构涡激振动动力学模型及仿真方法简介

进行二维弹性支撑柱体的数值模拟是研究海洋工程和风工程中柱体结构涡激振动现象和机理的重要手段。

根据牛顿第二定律,2-DOF弹性支撑的柱体运动的控制方程可以写为:

557024093c2e3f6767a86de9052bfab1.png

(1)

式中, m为圆柱体的质量, c为结构阻尼系数, k为结构刚度系数。

式(1)又可以写为:

57ef9b7b87cba32975bb1ae57a830262.png

(2)

式(2)中,柱体固有频率

f238c2c156b1553fbbfa38bd3bd152ad.png

阻尼比

b242f9cb413ed86f07520a5fa2e74a3b.png

对于涡激振动的数值模拟大多以柱体的横向振动研究为主,同时考虑横向和来流向的耦合振动研究相对较少。其主要原因在于,对柱体结构涡激振动数值模拟,必须保证柱体周围网格质量非常好,才能有效预测涡激振动响应。

一般使用网格质量高的结构化网格,但是当柱体结构发生较大振动位移时,周围流场网格会发生畸变,甚至产生负网格,导致计算失败。如果再考虑流向耦合振动,计算难度将非常大,计算成功率也将明显降低。

如果采用非结构化网格,且采用网格重构技术,可以吸收柱体较大的振动位移,但是非结构化网格质量相比结构化网格质量较差,且采用非结构化网格必定需要大大增加网格量,从而大大增加了计算时间。

此外,如果对于涡激振动抑制装置设计研究,也就是在柱体结构表面形状变复杂的情况下,网格划分难度和计算难度也将大大增加。因此,寻求一种既可以保证网格质量,又能不大幅度增加网格数量,且可以避免网格畸变或者负网格问题的方法十分重要。

基于CFD商业软件FLUENT和结构动力学原理,通过用户自定义函数(UDF)及嵌套网格技术,建立了2-DOF弹性支撑柱体结构VIV数值模型。非定常不可压缩流体RANS方程为:

6855fdb668086638a7059d0a4ba2c1bc.png

(4)

a4e306d608801cfdf118619eb46e0f4c.png

(5)

式(5)中,

ba6b1cfe24afd24059fe9634a7e532c1.png

式中,

ac809b14fc7519b34c36f0f716a345c2.png

为不可压缩流体的密度;

38a1ebc3c9957e9acbb771e44ecccf95.png

表示

30f0cbf5317204de2c157a0a59046350.png

方向上的瞬时速度分量,

74b63bca132615e3577c6de096022b25.png

73217636d361a9a81e25fb1e00c5445a.png

方向上速度脉动量,

b63c9f69a8b7ed2b5430fa216669088f.png

为速度的时间平均值;

32f7fff03531b4a1c70b99945cac5bbd.png

分别表示笛卡尔坐标系、时间、压力、运动粘度;

905d1420d3bd3b03e3da9c3cc761119d.png

为湍流黏度,下标“t”表示湍流;

5fc5857199f7f69e9a4271536ed13538.png

为湍动能;

8ec9e200d47357e3c68dc09d606ef793.png

是“Kronecker delta”符号,就是当

e1724dda3f28e7842d1bca8e87e3aa4a.png

时,

156b59b6174e7e09309f1011865536d1.png

,当

80eb2d12a423782c32d747291f083b9b.png

时,

c98f25985644f9010e1afb6f37d5634f.png

。湍流模型选用SST k–ω湍流模型。通过计算流场,可以得到二维柱体表面的压力分布,进而可以得到作用在二维柱体上的升力和阻力系数:

4b63eca8d90b49538ac5fe703e91f2ff.png

(6)

cee8ec9adf4e26077e075a8ef5fe4108.png

(7)

结合方程(2),2-DOF弹性支撑的柱体运动的控制方程可以写为:

95188a36c8281f0d5bc70ec2eb454d8e.png

(8)

3ec1d338705e82121886061e68dfa3d0.png

(a) 两自由度弹性支撑刚性柱体

20f8f57b62f2817f595e8195fece17e1.png

(b) 二维两自由度弹性支撑刚性柱体VIV模型

图1 2-DOF弹性支撑圆柱体VIV模型示意图

95c16dce0cd9cb499ce7dbe85bd60ca8.png

(a) 背景网格与嵌套网格

6f536015fe30c6ba83694e3ee523f29e.png

(b) 挖洞和插值

7cbae975d96393f52791a76cbeac36e5.png

(c) 整个流体域的网格

图2 2-DOF弹性支撑圆柱体流场计算网格

两自由度弹性支撑刚性柱体在流体作用下的结构示意图如图1(a)所示,二维2-DOF振动柱体VIV模型示意图如图1(b)所示。一般柱体流场的尾迹区域需要大于等于22.5D(D为柱体直径),整体局域高度一般需要大于等于20D,柱体振动才不受流体区域边界的影响。

因此,综合考虑计算条件的情况下,流场域的尺寸大小如图1(b)中标注所示,尾迹区域30D,柱体前端和上下距离柱体都是10D。包围这柱体的组分网格外边界直径大小为3D。流场入口边界条件为速度入口,出口为压力出口,上下壁面为滑移壁面,柱体表面即动边界为无滑移壁面。

流场随着柱体边界的改变而改变,通过动网格技术来实现流场中柱体边界的运动。嵌套网格技术是最新的动网格技术,主要适用于刚性边界运动问题。如图2所示,流场域网格划分采用的是嵌套网格。如图2(a)所示,背景网格和嵌套网格都使用结构化网格,靠近柱体表面部分为边界层网格(

bee820d651126b432e9447ec3ad4e9a0.png

),较好的保证了网格质量。

采用嵌套网格技术,可以无需担心网格畸变以及负网格导致求解失败等问题。同时,不会较多的增加计算量。嵌套网格即多重网格相互重叠组合成的一组网格。有可能存在两套或者两套以上的网格相互重叠。

嵌套网格求解的大致思路为:首先划分包裹柱体的组分网格(组分网格数量为5262),和外流场的背景网格(背景网格数量为15731),求解器识别嵌套网格边界,对被组分网格遮蔽的背景网格部分进行“挖洞”,然后对嵌套区域边界单元进行插值,将背景区域的边界单元变量信息插值到嵌套区域的边界单元(如图2(b)所示),最后进行流场计算。整个流场的计算网格如图2(c)所示。

对于流场的数值计算,时间项采用全隐式积分方法,对流项则采用二阶迎风离散格式。控制方程中速度分量与压力的耦合则采用COUPLED算法进行处理。初始条件为

d5bd529e4a3c312396273ad52b42ea80.png

e91cff6696886d9e399652253c5abc20.png

图3 2-DOF弹性支撑圆柱体VIV计算流程图

流场域求解基于CFD商业软件FLUENT,根据边界条件获得流场和二维柱体表面的压力、速度等信息。提取作用在柱体表面的力,然后代入柱体的结构运动方程,通过求解二维柱体的运动方程,得到当前时间步长下的柱体运动的位移和速度。同时利用得到的柱体位移和瞬时速度,更新流场网格,然后进行下一个时间步的计算。这个双向流固耦合仿真过程是通过FLUENT软件的用户自定义函数(UDF)来实现的。

UDF中可以使用标准C语言的库函数,也可使用FLUENT中预定义的宏。通过预定义宏可以获得FLUENT计算过程中的流场数据。FLUENT中用户自定义函数是通过DEFINE宏来实现的。基于CFD的2-DOF弹性支撑柱体VIV数值求解的计算流程图如图3所示。图中的虚线框内为通过C语言编制的UDF程序来实现。

三、部分仿真结果展示

5a976008af62c1c8209766e9c851f4ca.png

(a)不同约化速度下的振幅分布

925c57c0ca4857c62322ed38ff349928.png

(b)频率比随约化速度变化图

图4 基于CFD模型的2-DOF柱体VIV计算结果

柱体涡激振动的最大幅值及频率比随不同约化速度的变化如图4所示,与实验数据对比,误差较小,验证了本文计算方法的正确性。

从图4(a)可以看出,数值仿真出3种响应分支,在

90ce66489cf7e696ff1c09fc43d1bb57.png

=3~4之间的时候,原始分支向上端分支转变;当

51f16754d0a424dbaab377cb05d4dbeb.png

=5~6之间的时候,出现下端分支。在上端分支中振幅达到最大值0.98,而在下端分支中振幅最大值0.642;从

b49de680ad2cc8611ebba1e137f33985.png

=11的时候开始,圆柱体的响应位移又回落到一个很小的数值。

从图4(b)可以看出,在频率“锁定”区间

b49de680ad2cc8611ebba1e137f33985.png

=4~10内,柱体的实际振动频率

7bd04982ac7cbc73febcde25bd5ff82c.png

与固定柱体的泄涡频率

ade717923b46c1ba4fb9e11f23add92a.png

分离,不再符合

55a43d893886edb1df749725fac99200.png

Re数关系图。同时,柱体的实际涡泻频率

92ddd530420c9ebb63d959a46771506f.png

与柱体固有频率

b3b9dbfb355679899deffc8364995b38.png

比值稳定在1.15附近,而在解锁区域,柱体的实际振动频率

b6b5d54cab0d03e002ebf4029dcbf488.png

与固定柱体的涡脱频率

3e0659bec9aaa52e8fdd1ab49e0661e5.png

相同,这与前人的实验结果大致相同。

704224ddd46b549fc089d7fb5dd61a4c.png
e918cb8277918e7d683f6092d63ab762.png

图5 时,不同时刻的涡量云图(周期T=3.34s)

图5给出了

b49de680ad2cc8611ebba1e137f33985.png

=5时弹性支撑柱体的75s~78.5s的涡量云图,包含了一个周期的运动,从图中可以看出,

b49de680ad2cc8611ebba1e137f33985.png

=5时的涡脱模式为P+S模式(即一个涡脱周期内有一个单个涡+一对涡形成)。

Govardhan 和 Williamson 的实验研究表明一般在柱体振幅较大时候涡脱模式为P+S或者2P(即在一个涡脱周期内有2对尾涡形成),在振幅较小的时候涡脱模式为2S(即在一个涡脱周期内有2个单独的尾涡形成)。图5中的黑虚线为柱体的原始位置,红点为柱体当前时刻的中心位置,从图中可以看出,柱体振动游走的轨迹是一个“8”字形。

四、基于ANSYS FLUENT的流固耦合仿真教程20讲

以上是ANSYS FLUENT流固耦合仿真教程中的柱体结构涡激振动仿真案例。自2020年4月,我在仿真秀官网/App同时发布了一套精品课《FLUENT 流固耦合方法与技能 20讲》掌握ANSYS流固耦合仿真方法和关键技巧。当前已经更新10期。

限时特价(限20名)

限时优惠:399元(价值:499 元 )

课程永久保存,随时回放,可开具发票

讲师提供vip群学习答疑和模型下载

课程安排:

3bc6c9aef1c8700ca5cd8e54800d93ee.png

作者:陈东阳博士 仿真秀专栏作者

6dfa2488cafcc7e0a144fca14d08c695.png

进入直播间观看《Fluent 流固耦合方法与技能20讲》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305426.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL Server的数据导入MySQL数据库方法简介

第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数…

添加图标_win10系统轻松添加显示桌面图标的操作方法

win10系统想必大家都非常熟悉吧,然而有时候可能会碰到win10系统对win10系统添加显示桌面图标进行设置,比如近日有用户到本站反映说对win10系统添加显示桌面图标设置的情况,到底该怎么设置win10系统添加显示桌面图标呢?我们只用按照…

分享干货:靠刷算法题,真的可以刷进大厂吗?

在国外 Facebook,Google 等互联网巨头中,算法无疑是面试中的重头戏,不过,在最近几年国内互联网大厂面试中,算法的比重也越来越高,算法不扎实,笔试可能就直接被刷了。那你知道大厂的技术面为什么…

SwitchBox系列 - 介绍

很多客户问到了如何让iAMT能够穿过防火墙或网关被管理,他们中的部分也了解到了Intel工程师开发的SwitchBox方案,但都不是很了解。基于此,我正好有机会来共享一些在SwitchBox方面的经验和理解。虽然Intel AMT技术是基于TCP/IP协议上的&#xf…

获取两个数据的交集_MySQL交集和差集的实现方法

在MySQL中,只支持Union(并集)集合运算,而对于交集Intersect和差集Except并不支持。那么如何才能在MySQL中实现交集和差集呢?一般在MySQL中,我们可以通过in和not in来间接实现交集和差集,当然也有一定局限性&#xff0c…

Asp.Net Core之Identity应用(上篇)

一、前言在前面的篇章介绍中,简单介绍了「IdentityServer4」持久化存储机制相关配置和操作数据,实现了数据迁移,但是未对用户实现持久化操作说明。在总结中我们也提到了,因为「IdentityServer4」本就支持了接入其他认证方式&#…

c++ 读文件_第十六节:读文件,文件的创建,写文件,文件的读写以及鼠标键盘事件和图形绘制...

读文件//读文件文件的创建public 写文件public 文件的读写重点:文件类主要功能:创建,读属性,写属性,删除等文件读写操作File类File类的对象用来获取文件本身的信息,如文件所在目录、文件长度、文件读写权限…

docker安装jenkins并用docker部署net

1. 部署jenkins1.1 创建jenkins的工作目录//创建工作目录 mkdir /var/jenkins_home //赋予权限 chown -R 1000 /var/jenkins_home1.2 通过docker部署1.2.1 拉取镜像docker pull jenkinsci/blueocean1.2.2 生成容器#注意:切换一行执行命令 docker run -u root -d…

ie插件获取dom_读书笔记《DOM编程艺术》DOM

DOM的理解1.1 D:当创建了一个网页并把它加载到Web浏览器中时,DOM就生成了,它将我们编写的网页文档转换成一个文档对象。1.2 O:“对象”是一种自足的数据集合,相关联的变量称为这个对象的属性,只能通过这个对…

针对Fluent-Bit采集容器日志的补充

hello,之前我写过《一套标准的ASP.NET Core容器化应用日志收集分析方案》,在公司团队、微信公众号、Github上反映良好。其中配置Fluent-bit使用Forward协议收集容器日志,需要在Docker-Compose App配置Loging DriverFluentd实践中,…

在每个运行中运行多个查询_在Kubernetes中运行OpenEBS

什么是OpenEBS?现在,OpenEBS是kubernetes下与容器原生和容器附加存储类型相关通用的领先开源项目之一。 通过为每个工作负载指定专用的存储控制器,OpenEBS遵循容器附加存储或CAS的脚步。 为了向用户提供更多功能,OpenEBS具有精细的…

如何在 C# 8 中使用默认接口方法

C# 8 中新增了一个非常有趣的特性,叫做 默认接口方法 (又称虚拟扩展方法),这篇文章将会讨论 C# 8 中的默认接口方法以及如何使用。在 C# 8 之前,接口不能包含方法定义,只能在接口中定义方法签名,还有一个就是接口的成员…

.Net下二进制形式的文件(图片)的存储与读取 [ZT]

.Net下图片的常见存储与读取凡是有以下几种:存储图片:以二进制的形式存储图片时,要把数据库中的字段设置为Image数据类型(SQL Server),存储的数据是Byte[].1.参数是图片路径:返回Byte[]类型: publicbyte[] GetPictureData(stringimagepath) { /**…

c++tcp接收文件缓存多大合适_网易面经:深剖TCP协议的流量控制和拥塞控制,你懂了吗?...

1.自我介绍项目2.RPC框架和普通http有什么区别和优势? 基于Tcp封装还是http封装的3.rpc是长连接吗?如果要传输一个特别大的文件 底层还是基于流吗? Nio是一个什么IO模型?4.github了的watch star fork5.异常和error的区别&#xff…

如何在 ASP.Net Core 中使用 LoggerMessage

ASP.NET Core 是一个开源的、跨平台的、轻量级模块化框架,可用于构建高性能、可伸缩的web应用程序,你也许不知道 ASP.NET Core 中有一个藏得很深,而且非常强大的特性,那就是 LoggerMessage,与内建的 Logger 相比&#…

模拟器显示空白图片_Kawaks街机模拟器,还是小时候的味道!

APP菜园打造属于我们自己的APP帝国1.打开支付宝app,首页搜索 “8221050” 然后点击快捷功能,天天领红包。2.软件领取流程:1.认真阅读下软件介绍;2.找到图片下方的“获取链接”复制;3.打开手机上的浏览器粘贴链接搜索(…

ASP.NET Core 查看应用状态和统计

在日常开发中,我们需要关注 .NET 应用的资源使用情况,方便排查问题和扩容。通过 Ajax 请求获取统计信息,展示成图表,如下图:CLRStats 插件,一个统计 .NET 应用资源使用情况的插件,包含&#xff…

【Vscode】调试DotNet Core代码

Visual Studio作为宇宙第一的IDE,开发调试.net core app,无一能出其右,我们还需要去了解Visual Studio Code吗?答案是肯定。杀鸡焉用牛刀:就一个hello world的Console App,还需要打开Visual Studio吗&#…

pandownload 卢本伟_PanDownload复活了!60MB/s!附下载地址

最近几天,听说PanDownload 复活了有人接盘了,重新制作上线推出了更加强劲的复活版!但是笔者去下载了一下,发现并不能使用于是经过百般搜寻,发现被人提供的已经是旧版了于是,我找到了最新版,9月2…

linux安装rz命令_Linux 安装dep安装包命令

rootlsy-ubuntu:~# dpkg -i sublime-text_build-3126_amd64.deb 正在选中未选择的软件包 sublime-text。(正在读取数据库 ... 系统当前共安装有 256092 个文件和目录。)正准备解包 sublime-text_build-3126_amd64.deb ...正在解包 sublime-text (3126) ...正在设置 sublime-tex…