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 ...
随机推荐
- 基于tensorflow的简单鼠标键盘识别
import cv2 as cvimport tensorflow as tfimport numpy as npimport random ##以下为数据预处理,分类为cata,总共样本为cata* ...
- 关于OA流程相关数据表的设计
一.前言 近期有些同学问起流程的表设计,终于有时间能写下博客,并整理下之前所发布的文章. 之前的文章讲到的表设计,没有给全且还存在漏洞,在这里向各位同学表示歉意.这是我个人最新领悟的一些流程思维,欢迎 ...
- 6.Javascript如何处理循环的异步操作
前沿:参考ES6语法的async/await的处理机制 先上一段代码 function getMoney(){ var money=[100,200,300] for( let i=0; i<m ...
- JavaScript设计模式与开发实践随笔(一)
编程语言按照数据类型大体可以分为两类,一类是静态类型语言,另一类是动态类型语言. 静态类型语言在编译时便已确定变量的类型,而动态类型语言的变量类型要到程序运行的时 候,待变量被赋予某个值之后,才会具有 ...
- Cheat Engine 基本用法
打开游戏 当前血量2620 打开Cheat Engine 扫描2620 掉点血 再次扫描2600 此时,会根据第一次扫描结果,再次扫描 扫描成功 将数据放到修改区,点击箭头 修改数据 双击Value进 ...
- ubuntu升级python版本(3.5 -> 3.6)
#获取最新的python3.6,将其添加至当前apt库中,并自动导入公钥 $ sudo add-apt-repository ppa:jonathonf/python-3.6 $ sudo apt-g ...
- java版ftp简易客户端(可以获取文件的名称及文件大小)
java版ftp简易客户端(可以获取文件的名称及文件大小) package com.ccb.ftp; import java.io.IOException; import java.net.Socke ...
- 提高用git下载代码时的成功率
在用git clone下载一些比较大的仓库时,经常会遇到由于仓库体积过大,网络也不稳定,导致下了半截就中断了,可以参考如下的下载方法. 先用创建一个空目录,然后用git init初始化,然后用git ...
- Windows & Ubuntu 双系统完美卸载Ubuntu(不残留,无污染)
双系统卸载Ubuntu时,如若直接从Windows磁盘管理里格式化Ubuntu分区,由于Ubuntu的引导盘的原因,会导致电脑启动时出现问题,所以不建议这样的操作. 卸载Ubuntu前需要区分BIOS ...
- HAProxy的基础配置详解
HAProxy是高性能的企业级负载均衡调度器,同时支持四层TCP和七层HTTP协议的负载均衡调度,以及支持基于cookie的持久性,支持正则表达式及web状态统计.自动故障切换等优点,因此广泛被应 ...