转载自: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使用非牛顿流体【转载】的更多相关文章

  1. Java fluent风格(转载)

    转载:java Fluent风格 一.我们先写一个通常的,即不使用fluent风格 1.实体类 package com.xbq.demo.stu; /** * @ClassName: Student ...

  2. var/let/const区别何在??(转载)

    原文地址:http://www.cnblogs.com/liuhe688/p/5845561.html let和const有很多相似之处,先说一说let吧. 1. let添加了块级作用域 我们知道,J ...

  3. 【FLUENT案例】02:DPM模型

    1 引子1.1 案例描述1.2 学习目标1.3 模拟内容2 启动FLUENT并导入网格3 材料设置4 Cell Zones Conditions5 Calculate6 定义Injecions7 定义 ...

  4. Code First 关系 Fluent API

    通过实体框架 Code First,可以使用您自己的域类表示 EF 执行查询.更改跟踪和更新函数所依赖的模型.Code First 利用称为“约定先于配置”的编程模式.这意味着 Code First ...

  5. Fluent动网格【10】:区域运动案例

    本案例主要描述如何在Fluent中处理包含了公转和自转的复合运动.涉及到的内容包括: 多区域模型创建 滑移网格设置 区域运动UDF宏DEFINE_ZONE_MOTION 案例描述 案例几何如图所示. ...

  6. Fluent动网格【2】:Profile文件

    动网格中一个重要任务是部件运动方式的指定.在动网格中指定部件的运动,往往将部件的运动方式指定为其加速度.速度或位移与时间的相关关系,本文主要讲述如何在Fluent中利用瞬态Profile文件指定部件的 ...

  7. CFD计算

    47 求解器为flunet5/6在设置边界条件时,specify boundary types下的types中有三项关于interior,interface,internal设置,在什么情况下设置相应 ...

  8. 如何在windows中编写R程序包(转载)

    网上有不少R包的编译过程介绍,挑选了一篇比较详细的,做了稍许修改后转载至此,与大家分享 如何在windows中编写R程序包 created by helixcn modified by binaryf ...

  9. 【转载】如何在C语言中调用shell命令

    转载自:http://blog.csdn.net/chdhust/article/details/7951576 如何在C语言中调用shell命令 在linux操作系统中,很多shell命令使用起来非 ...

随机推荐

  1. python取字母以及数字随机数

    一.这里用到了:String模块ascii_letters和digits ''.join(random.sample(string.ascii_letters + string.digits, 9)) ...

  2. Oracle 11g 服务器结构

    Oracle 服务器主要又实例.数据库.程序全局区和前台进程组成. 实例可以进一步划分为系统全局区(SGA)和后台进程(PMON.SMON等)两部分,其中,SGA 使用操作系统的内存资源,而后台进程需 ...

  3. ECSHOP(3.0.0升级3.6.0)帮助教程

    说明: 本文档只针对于未做过二开的ECSHOP3.0 用户 1.准备材料 先确保正在使用的ECShop系统版本为ecshop3.0.0并且代码没有经过二次开发,然后下载最新的ECShop3.6.0安装 ...

  4. angularcli 第三篇(数据循环*ngFor、条件判断*ngIf)

    1.数据循环 *ngFor (1)普通循环 <ul> <li *ngFor = "let item of list" > {{ item }} </l ...

  5. LeetCode - 206、反转链表

    反转一个单链表. 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL /** * 列表定 ...

  6. MySQL5.7数据库的基本操作命令

    MySQL5.7中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束): 登录MySQL mysql -u root -p Enter password:密码 ...

  7. 【转】Http和Https下的cookie的写入问题

    网站https:// 可以登陆, 但是切换到http的时候不能登陆. 原因是:https访问的时候,返回的cookie设置了secure=1, 切换成http访问的时候, 这个时候不能操作那个cook ...

  8. Nginx请求处理流程

    因为 Nginx 运行在企业内网的最外层也就是边缘节点,那么他处理的的流量是其他应用服务器处理流量的数倍,甚至几个数量级,我们知道任何一种问题在不同的数量级下,他的解决方案是完全不同的,所以在 Ngi ...

  9. onclick与click的区别

    用法: Obj.click(function(){ }); Obj.onclick=function(){ } 相同:效果一样. 区别: 用户或浏览器执行的某种动作,例如click load,mous ...

  10. LSTM神经网络输入输出究竟是怎样的?

    LSTM图和词向量输入分析