转载自: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. Jenkins配置Publish Over SSH讲解说明

    原创 Jenkins配置Publish Over SSH讲解说明 2018-08-22 11:59:30 M.Blog 阅读数 3764更多 分类专栏: Jenkins   版权声明:本文为博主原创文 ...

  2. 用D3.js画树状图

    做项目遇到一个需求,将具有层级关系的词语用树状图的形式展示它们之间的关系,像这样: 或者是这样: 上面的图片只是样例,跟我下面的代码里面用的数据不同 网上有很多这种数据可视化展示的js控件,我这里选择 ...

  3. 码云和Git使用说明

    Git下载网站: https://git-scm.com/download/win 码云网站     :https://gitee.com 下载Git,并一路下一步安装. 鼠标空白处右键点击,出现两个 ...

  4. ES2015简介和基本语法

    ECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准.因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015.也就是说,ES6就是ES2015. ...

  5. Access、Trunk和Hybrid三种端口模式

    网络交换机(英语:Network switch)是一个扩大网络的器材,能为子网中提供更多的连接端口,以便连接更多的电脑. 通俗来说其起到的作用就是把一个网络端口分成多个网络端口 交换机和路由器的区别 ...

  6. Jmeter4.0 _Beanshell解析并获取json响应数据数组长度

    我们在做jmeter接口测试的时候,有时候碰到开发没返回数据total,只返回了一条条记录,可是呢,我们又需要知道到底返回了多少条数据时,咋办呢?咋办呢?咋办呢? 不要急,接下来,让我们见证奇迹是如何 ...

  7. 隐藏按钮button

    <td> <input id="del" type="button" value="删除" onclick="u ...

  8. gensim中word2vec和其他一些向量的使用

    直接上代码吧,word2vec # test from gensim.models.word2vec import Word2Vec txt_file = open('data.txt') sente ...

  9. 爬虫(二)-创建项目&应用

    一.回顾 上篇已经讲解了python-django的环境搭建,本次将继续上次的课程,开始创建项目及应用. 上篇的验证结果为: 本次将加上创建应用之后浏览器打开演示~ 二.创建项目 1)使用django ...

  10. 通过命令行运行java出现"错误: 找不到或无法加载主类 "解决办法

    首先在命令行运行不需要写package路径, 而在ide中一般是有路径的 so举例说明 例如程序名为HelloWorldTest.java,程序中含有package helloWorld语句,而该包位 ...