fluent在运行时改变重力方向方法总结
Fluent版本:19.0(其他版本应该也适用)
这里我们用一个简单的算例(同心环中的自然对流)来说明
算例来自《ANSYS Fluid Dynamics Verification Manual》中的VMFL009: Natural Convection in a Concentric Annulus. 

外环温度为327K,内环温度为373K
圆环内流体的物性参数为:

通过计算瑞利数,本算例应该采用层流模型进行计算
网格模型如下:

首先我们不考虑重力
打开Fluent,读入网格(建议在ICEM导出网格的时候就进行缩放,这样可以避免在Fluent当中scale了)







计算很快完成
温度云图如下:

我们可以看出自然对流在没有施加重力的作用下,和导热几乎是一样的
接下来我们考虑重力对自然对流的影响,我们在Y的负向施加9.81m/s2的重力加速度,只需在上面算例的基础上勾选重力选项,然后输入对应的重力加速度



那么如果我们重力是随时间变化的怎么办呢?我们可以采用下面三种方式来让重力随时间变化
方法一:采用UDF当中的DEFINE_ADJUST宏来实现重力随时间变化,我们仍然采用本算例,我们仍然勾选重力选项(如果不勾选,则不能改变重力),但是我们不输入重力加速度的值,而采用默认值0,在UDF中指定重力,我们编写如下的代码:

编译该UDF,挂载该UDF

然后

如果没有上面的步骤,否则UDF指定的重力将不生效

通过对面我们可以看出GUI施加重力和UDF施加重力的效果是一样的,计算结果是完全一致的,如果我们想要重力随时间变化,我们可以在UDF中采用RP_Get_Real(“flow-time”)或者CURRENT_TIME来根据时间变化调整重力方向
方法二:通过UDF在Fluent当中添加到动量源项的方式
我们编写如下的代码:

编译该UDF
挂载该UDF

然后计算

我们可以看到通过添加动量源项的方式与GUI施加重力的效果也是一致的,施加动量源项需要注意一下量纲,返回源项的值时,需要重力与源项之间相差一个密度,需要用重力乘密度以后再返回。如果想要重力随时间变化,同上,可以在UDF中采用RP_Get_Real(“flow-time”)或者CURRENT_TIME来根据时间变化调整重力方向。
方法三:通过编写scheme来实现改变重力
我们编写如下的scheme代码:
(define (ChangeGravity)
(begin
(rpsetvar 'gravity/y -9.81)
(%models-changed)
)
)
然后将文本文件重命名为以.scm为后缀名(我命名为demo.scm)
我们仍然勾选重力选项(如果不勾选,则不能改变重力),但是我们不输入重力加速度的值,而采用默认值0。


然后计算

从计算结果我们看到和scheme施加重力的方式和GUI施加重力的方式也是一致的,随时间变化在scheme当中为(rpgetvar 'flow-time),然后根据获取的时间来改变重力
fluent在运行时改变重力方向方法总结的更多相关文章
- Activity系列讲解---Activity运行时的屏幕方向,全屏,窗体模式的设置
Android内置了方向感应器的支持.Android会根据所处的方向自动在竖屏与横屏间切换.但是有的应用程序只能在横/竖屏时运行,比如某些游戏,此时我们要锁定该Activity运行时的屏幕方向,< ...
- 如何在运行时改变App的图标
在你完成应用程序的beta版本后,最后会有些人去帮你测试,使你去完善应用程序……或者会有投资青睐.但是如果测试人员有一种简单地方式去检查构建版本的应用程序会不会有帮助呢? 这个教程将会向你展示这些,向 ...
- JVM运行时数据区--本地方法栈
本地方法栈 1.Java虚拟机栈用于管理Java方法的调用,而本地方法栈用于管理本地方法(一般非Java实现的方法)的调用 2.本地方法栈,也是线程私有的. 3.允许被实现成固定或者是可动态拓展的内存 ...
- 【JVM第五篇--运行时数据区】方法区
写在前面的话:本文是在观看尚硅谷JVM教程后,整理的学习笔记.其观看地址如下:尚硅谷2020最新版宋红康JVM教程 一.栈.堆.方法区的关系 虚拟机运行时的数据区如下所示: 即方法区是属于线程共享的内 ...
- EF6 Create Different DataContext on runtime(运行时改变连接字符串)
引言 在使用EF时,有时我们需要在程序运行过程中动态更改EF的连接字符串,但不幸的时EF是否对 ConfigurationManager.RefreshSection("xxx" ...
- 运行时改变控件的大小(点击后立刻ReleaseCapture,然后计算位移,最后发消息改变位置)——最有趣的是TPanel其实也有窗口标题,因此可发HTCAPTION消息
//光标在控件不同位置时的样式 // 由于拐角这点手动精确实在困难 所以用范围 范围+3 这样很容易就找到这一点了 procedure CtrlMouseMove(Ctrl: TWinControl; ...
- 关于Animator状态在运行时的正负方向播放
如果直接在脚本里改播放速度,会报出如下警告: 之前没有很好的解决方法,但根据评论里的新方法,我试了下,可以控制播放正负方向了:
- ugui在运行时改变RectTransform的大小
http://blog.csdn.net/BeiFuDeNvWang/article/details/50838266 在代码中动态改变RectTransform大小的方法如下所示: 1:直接对siz ...
- 第2月第6天 iOS 运行时添加属性和方法
http://blog.csdn.net/meegomeego/article/details/18356169 第一种:runtime.h里的方法 BOOL class_addProperty(Cl ...
随机推荐
- Appium中app的元素定位
app定位方式,本文只讲Android手机的定位方式. 前提条件是adb连接到模拟器或者是手机(具体连接方式这里不再讲解),证明已连接到设备 adb devices app元素定位工具一:UI Aut ...
- 一步一步学Spring Boot 2 微服务项目实战 - 黄文毅-2018年8月第一次印刷
properties 配置文件的优先级高于.yml .在properties文件中配置了server.port=8080 同时在.yml中配置了server.port=8090 Spring Boo ...
- angular创建一个独立弹窗服务
1.说明: 这个服务用于创建一个modal(弹窗),通常下,这个弹窗会插入到body的底部,并且拥有自己的作用域($scope),也可以和外界通讯. 2.逻辑: (1).创建模版 (2).拿到模版里要 ...
- jQuery中的DOM操作(三)
一.查找节点 [返回jQuery对象]$(选择器字符串); 使用jQuery函数,里面参数为选择器字符串,查询符合条件的BOM对象并返回jQuery对象eg: $('div.one spa ...
- DataPipeline丨「自定义」数据源,解决复杂请求逻辑外部数据获取难题
A公司专注为各种规模和复杂程度的金融投资机构提供一体化投资管理系统,系统主要由投资组合管理.交易执行管理.实时监控管理.风险管理等功能模块构成.随着企业管理产品数量的不断增多,大量数据分散在各券商系统 ...
- Python学习的开端
C语言太麻烦了,所以我打算自学Python. 自学选的书是<父与子的编程之旅>,这本书还是比较通俗易懂的. 贴上书上教我编写的猜数字游戏代码 import random secret = ...
- iview 多选下拉列表选项回显问题
如,简单的多选Select, <Select v-model="model" filterable clearable transfer multiple > < ...
- pandas 之 字符串处理
import numpy as np import pandas as pd Python has long been a popular raw data manipulation language ...
- vue2.0 在页面中使用process获取全局路径的时候 报错 process is not defined
如果是刚配置好的全局变量需要 重新启动一下vue才能通过proccess.env.xxx 获取到 如果想在html中使用 需要在data中声明一个变量 然后在vue生命周期中 将process.env ...
- python-gitlab 之更改 merge_method
参考: https://docs.gitlab.com/ee/api/projects.html https://python-gitlab.readthedocs.io/en/stable/gl_o ...