如何在Fluent使用非牛顿流体【转载】
转载自:http://blog.sciencenet.cn/blog-267817-747504.html
1、非牛顿流体:剪应力与剪切应变率之间满足线性关系的流体称为牛顿流体,而把不满足线性关系的流体称为非牛顿流体。
2、fluent中使用非牛顿流体
a、层流状态:直接在材料物性下设置材料的粘度,设置其为非牛顿流体。
b、湍流状态
fluent在设置湍流模型后,会自动将材料的非牛顿流体性质直接改成了牛顿流体,因此需要做一些修改。最基本的方式有两种:1、打开隐藏的湍流模型下非牛顿流体功能;2,直接利用UDF宏DEFINE_PROPERTY定义
3、打开隐藏的湍流模型下非牛顿流体功能
方法为:
(1)在湍流模型中选择标准的k-e模型;
(2)在Fluent窗口输入命令:define/models/viscous/turbulence-expert/turb-non-newtonian然后回车。
(3)输入:y然后回车。
4、利用DEFINE_PROPERTY宏
A:这是一个自定义材料的粘度程序如下,也许对你有帮助。
在记事本中编辑的,另存为"visosity1.c"
#include
"udf.h"
DEFINE_PROPERTY(cell_viscosity,cell,
thread)
{
real
mu_lam;
real
trial;
rate=CELL_STRAIN_RATE_MAG(cell,
thread);
real
temp=C_T(cell, thread);
mu_lam=1.e12;
{
if(rate>1.0e-4
&&
rate<1.e5)
trial=12830000./rate*log(pow((rate*exp(17440.46/temp)/1.535146e8),0.2817)+pow((1.+pow((rate*exp(17440.46/temp)/1.535146e8),0.5634)),0.5));
else if
(rate>=1.e5)
trial=128.3*log(pow((exp(17440.46/temp)/1.535146e8),0.2817)+pow((1.+pow((exp(17440.46/temp)/1.535146e8),0.5634)),0.5));
else
trial=1.283e11*log(pow((exp(17440.46/temp)/1.535146e12),0.2817)+pow((1.+pow((exp(17440.46/temp)/1.535146e12),0.5634)),0.5));
}
else
if(temp>=855.&&temp<905.)
{
if(rate>1.0e-4
&&
rate<1.e5)
trial=12830000./rate*log(pow((rate*4.7063),0.2817)+pow((1.+pow((rate*4.7063),0.5634)),0.5))*pow(10.,-0.06*(temp-855.));
else if
(rate>=1.e5)
trial=243.654*pow(10.,-0.06*(temp-855.));
else
trial=1.47897e10*pow(10.,-0.06*(temp-855.));
}
else
if(temp>=905.)
{
if(rate>1.0e-4
&&
rate<1.e5)
trial=12830./rate*log(pow((rate*4.7063),0.2817)+pow((1.+pow((rate*4.7063),0.5634)),0.5));
else if
(rate>=1.e5)
trial=0.24365;
else
trial=1.47897e7;
}
if(trial<1.e12&&trial>100.)
mu_lam=trial;
else
if(trial<=1.)
mu_lam=1.;
else
mu_lam=1.e12;
return
mu_lam;
}
B:在Fluent中使用Herschel-Bulkley粘性模型:
#include
"udf.h"
real T,vis,
s_mag, s_mag_c,sigma_y,n,k;
real C_1 =
1.0;
real C_2 =
1.0;
real C_3 =
1.0;
real C_4 =
1.0;
int ia
;
DEFINE_PROPERTY(hb_viscosity,c,t)
{
T=C_T(c, t);
s_mag
=CELL_STRAIN_RATE_MAG(c,t);
if(ia==0.0)
{
C_1
=RP_Get_Real("c_1");
C_2
=RP_Get_Real("c_2");
C_3
=RP_Get_Real("c_3");
C_4
=RP_Get_Real("c_4");
ia = 1;
}
k= C_1 ;
n= C_2 ;
sigma_y = C_3 ;
s_mag_c = C_4 ;
if(s_mag <
s_mag_c)
{
vis=sigma_y*(2-s_mag/s_mag_c)/s_mag_c+k*((2-n)+(n-1)*s_mag/s_mag_c)*pow(s_mag_c,(n-1));
}
else
{
vis = sigma_y / s_mag
+k*pow(s_mag, (n-1));
}
return vis;
}
如何在Fluent使用非牛顿流体【转载】的更多相关文章
- Java fluent风格(转载)
转载:java Fluent风格 一.我们先写一个通常的,即不使用fluent风格 1.实体类 package com.xbq.demo.stu; /** * @ClassName: Student ...
- var/let/const区别何在??(转载)
原文地址:http://www.cnblogs.com/liuhe688/p/5845561.html let和const有很多相似之处,先说一说let吧. 1. let添加了块级作用域 我们知道,J ...
- 【FLUENT案例】02:DPM模型
1 引子1.1 案例描述1.2 学习目标1.3 模拟内容2 启动FLUENT并导入网格3 材料设置4 Cell Zones Conditions5 Calculate6 定义Injecions7 定义 ...
- Code First 关系 Fluent API
通过实体框架 Code First,可以使用您自己的域类表示 EF 执行查询.更改跟踪和更新函数所依赖的模型.Code First 利用称为“约定先于配置”的编程模式.这意味着 Code First ...
- Fluent动网格【10】:区域运动案例
本案例主要描述如何在Fluent中处理包含了公转和自转的复合运动.涉及到的内容包括: 多区域模型创建 滑移网格设置 区域运动UDF宏DEFINE_ZONE_MOTION 案例描述 案例几何如图所示. ...
- Fluent动网格【2】:Profile文件
动网格中一个重要任务是部件运动方式的指定.在动网格中指定部件的运动,往往将部件的运动方式指定为其加速度.速度或位移与时间的相关关系,本文主要讲述如何在Fluent中利用瞬态Profile文件指定部件的 ...
- CFD计算
47 求解器为flunet5/6在设置边界条件时,specify boundary types下的types中有三项关于interior,interface,internal设置,在什么情况下设置相应 ...
- 如何在windows中编写R程序包(转载)
网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...
- 【转载】如何在C语言中调用shell命令
转载自:http://blog.csdn.net/chdhust/article/details/7951576 如何在C语言中调用shell命令 在linux操作系统中,很多shell命令使用起来非 ...
随机推荐
- Jenkins配置Publish Over SSH讲解说明
原创 Jenkins配置Publish Over SSH讲解说明 2018-08-22 11:59:30 M.Blog 阅读数 3764更多 分类专栏: Jenkins 版权声明:本文为博主原创文 ...
- 用D3.js画树状图
做项目遇到一个需求,将具有层级关系的词语用树状图的形式展示它们之间的关系,像这样: 或者是这样: 上面的图片只是样例,跟我下面的代码里面用的数据不同 网上有很多这种数据可视化展示的js控件,我这里选择 ...
- 码云和Git使用说明
Git下载网站: https://git-scm.com/download/win 码云网站 :https://gitee.com 下载Git,并一路下一步安装. 鼠标空白处右键点击,出现两个 ...
- ES2015简介和基本语法
ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015.也就是说,ES6就是ES2015. ...
- Access、Trunk和Hybrid三种端口模式
网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...
- Jmeter4.0 _Beanshell解析并获取json响应数据数组长度
我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...
- 隐藏按钮button
<td> <input id="del" type="button" value="删除" onclick="u ...
- gensim中word2vec和其他一些向量的使用
直接上代码吧,word2vec # test from gensim.models.word2vec import Word2Vec txt_file = open('data.txt') sente ...
- 爬虫(二)-创建项目&应用
一.回顾 上篇已经讲解了python-django的环境搭建,本次将继续上次的课程,开始创建项目及应用. 上篇的验证结果为: 本次将加上创建应用之后浏览器打开演示~ 二.创建项目 1)使用django ...
- 通过命令行运行java出现"错误: 找不到或无法加载主类 "解决办法
首先在命令行运行不需要写package路径, 而在ide中一般是有路径的 so举例说明 例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位 ...