如何在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命令使用起来非 ...
随机推荐
- python取字母以及数字随机数
一.这里用到了:String模块ascii_letters和digits ''.join(random.sample(string.ascii_letters + string.digits, 9)) ...
- Oracle 11g 服务器结构
Oracle 服务器主要又实例.数据库.程序全局区和前台进程组成. 实例可以进一步划分为系统全局区(SGA)和后台进程(PMON.SMON等)两部分,其中,SGA 使用操作系统的内存资源,而后台进程需 ...
- ECSHOP(3.0.0升级3.6.0)帮助教程
说明: 本文档只针对于未做过二开的ECSHOP3.0 用户 1.准备材料 先确保正在使用的ECShop系统版本为ecshop3.0.0并且代码没有经过二次开发,然后下载最新的ECShop3.6.0安装 ...
- angularcli 第三篇(数据循环*ngFor、条件判断*ngIf)
1.数据循环 *ngFor (1)普通循环 <ul> <li *ngFor = "let item of list" > {{ item }} </l ...
- LeetCode - 206、反转链表
反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL /** * 列表定 ...
- MySQL5.7数据库的基本操作命令
MySQL5.7中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 登录MySQL mysql -u root -p Enter password:密码 ...
- 【转】Http和Https下的cookie的写入问题
网站https:// 可以登陆, 但是切换到http的时候不能登陆. 原因是:https访问的时候,返回的cookie设置了secure=1, 切换成http访问的时候, 这个时候不能操作那个cook ...
- Nginx请求处理流程
因为 Nginx 运行在企业内网的最外层也就是边缘节点,那么他处理的的流量是其他应用服务器处理流量的数倍,甚至几个数量级,我们知道任何一种问题在不同的数量级下,他的解决方案是完全不同的,所以在 Ngi ...
- onclick与click的区别
用法: Obj.click(function(){ }); Obj.onclick=function(){ } 相同:效果一样. 区别: 用户或浏览器执行的某种动作,例如click load,mous ...
- LSTM神经网络输入输出究竟是怎样的?
LSTM图和词向量输入分析