fluent能读取&符号吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fluent能读取&符号吗相关的知识,希望对你有一定的参考价值。

fluent能读取&符号,步骤分步阅读
1.打开fluent,file-read-case&data,将fluent文件读取进去。
2.点击surface-Iso-Surface,打开iso-surface界面。
3.surface of constant 用来选择我们想要的数据类型,譬如,求压力等高图,则在surface of constant选择pressure。求坐标值,选择grid。
4.from surface表示要从哪一个面上选取。如果要选择模型内部,则选default-interior。
iso-values表示在哪个位置截取。图中表示在模型的内部,以Y轴为常数,在y=0.00331921处截取平面。
在new surface name中进行重命名,命名为y1。点击create创建,创建好的面可以在from surface中查看得到。
5.类似的,在from surface 中选择y1面,在surface of constant中选择z-coordinate.
iso-values中选择Z坐标值。重命名为y1z=0,点击create,创建完成。
6.点击plot-xyplot.
surface 中选择刚才创建的那条线,y1z=0.
在y axis function中选择所需要的数据值,可以是压力pressure,速度等。
x axis function一般为坐标值。
点击plot,就可以了。
7.如果想要把该数据读取出来,放到别的处理软件上处理。
在 write to file上打勾,然后点击 write,以文本文档(.txt)的方式保存。就可以导入到其他软件上进行处理了。
参考技术A FLUENT提供了多种指定材料特性的方法,包括多项式函数、分段线性函数等。用户定义的函数也可以用来指定材料属性和可变的剖面。然而,使用表格式的实验数据或复杂的函数,不能很容易地分析表达是困难的。

附加的用户定义函数演示了如何将制表数据读入FLUENT并用于指定UDF中的重要属性。这个例子对应于把粘度指定为温度的函数。表格数据应该是一个ascii文件(两列格式),文件中的行数在UDF中指定。在这个例子中,数据文件被称为“viscosity.dat”,有53行(对)数据。粘度将在表格值之间线性插值。

#include "udf.h"

int NPts_mu = 53; /* number of entries in viscosity table */

/* Locate the place in the interpolation vector using bisection algorithm*/
int locate(float xx[], int n, float x)

int j = 0;
int jm = 0;
int jl = 0;
int ju = n+1;
int ascnd = 0;

ascnd = (xx[n] >= xx[1]);
while (ju-jl > 1)

jm = (ju+jl) >> 1;
if (x >= xx[jm] == ascnd)
jl = jm;
else
ju = jm;


if (x == xx[1])
j = 1;
else if (x == xx[n])
j = n-1;
else
j = jl;

return j;


float *temp_vec_mu,*visc_vec;
#define FAST_LOOKUP TRUE /* use bisection algorithm for interpolation */
#define TABLE_MESSAGES TRUE
#define DISPLAY_TABLES TRUE

/* Obtaine mu given temperature */
float get_mu_from_T(float xdata)

int i = 0;
int j = 0;
float xL,xU,ydata;

#if FAST_LOOKUP
j = locate(temp_vec_mu,NPts_mu,xdata);
xL = temp_vec_mu[j];
xU = temp_vec_mu[j+1];
ydata = visc_vec[j] + (xdata-xL)/(xU-xL)*( visc_vec[j+1] - visc_vec[j] );
#else
for ( i=1; i<NPts_mu ;i++ )

xL = temp_vec_mu[i];
xU = temp_vec_mu[i+1];
if ( (xdata>=xL)&&(xdata<=xU) )

ydata = visc_vec[i] + (xdata-xL)/(xU-xL)*( visc_vec[i+1] - visc_vec[i] );
break;


#endif

if ( xdata>temp_vec_mu[NPts_mu] )

#if TABLE_MESSAGES
Message("n temperature is above the bound of visc-array n");
#endif
ydata = visc_vec[NPts_mu];

if ( xdata<temp_vec_mu[1] )

#if TABLE_MESSAGES
Message("n temperature is below the bound of visc-array n");
#endif
ydata = visc_vec[1];


return ydata;


/* Read in the data file containing viscosity as a function of temperature */
DEFINE_ON_DEMAND(read_viscosity)

int i = 0;
float xdata,ydata;
FILE* fp;

fp = fopen("viscosity.dat","r");
if ( fp!=NULL )

#if !RP_NODE
Message(" n");
Message("Reading file viscosity.dat n");
Message(" n");
#endif

else

#if !RP_NODE
Message(" n");
Message("Error opening file n");
Message(" n");
#endif


temp_vec_mu = (float *) malloc(NPts_mu*sizeof(float));
visc_vec = (float *) malloc(NPts_mu*sizeof(float));

if ( (temp_vec_mu==NULL)||(visc_vec==NULL) )

#if !RP_NODE
Message("Memory allocation error n");
#endif


for ( i=1;i<=NPts_mu;i++ )

fscanf(fp,"%f %e n",&xdata,&ydata);
temp_vec_mu[i] = xdata;
visc_vec[i] = ydata;
#if DISPLAY_TABLES
#if !RP_NODE
Message("%.1f %e n",temp_vec_mu[i],visc_vec[i]);
#endif

#else

#if !RP_NODE
Message(" n");
#endif
#endif

fclose(fp);


/* Interpolate viscosity from look-up table and assign to cell value */
DEFINE_PROPERTY(viscosity,c,t)

float mu_lam;
float temp = C_T(c,t);

/* interpolate mu_lam */
mu_lam = get_mu_from_T(temp);

return mu_lam;


/*
Sample data file "viscosity.dat":

500.0 3.03460E-05
700.0 3.94144E-05
1000.0 5.07830E-05
1200.0 5.71540E-05
1500.0 6.62424E-05
1800.0 7.51254E-05
2100.0 8.19802E-05
2400.0 9.23992E-05
2700.0 1.00744E-04
3000.0 1.08866E-04
3500.0 1.21942E-04
4000.0 1.34458E-04
4500.0 1.46520E-04
5000.0 1.58330E-04
5500.0 1.70196E-04
6000.0 1.82438E-04
6500.0 1.94962E-04
7000.0 2.06702E-04
7200.0 2.10910E-04
7500.0 2.16686E-04
8000.0 2.25596E-04
8500.0 2.34400E-04
9000.0 2.43092E-04
9500.0 2.51136E-04
10000.0 2.57698E-04
10500.0 2.61604E-04
11000.0 2.61396E-04
11500.0 2.55446E-04
12000.0 2.42620E-04
12500.0 2.22876E-04
13000.0 1.97606E-04
13500.0 1.69612E-04
14000.0 1.41774E-04
14500.0 1.16876E-04
15000.0 9.62224E-05
15500.0 8.01648E-05
16000.0 6.83390E-05
16500.0 6.00368E-05
17000.0 5.44842E-05
17500.0 5.09870E-05
18000.0 4.89790E-05
18500.0 4.80194E-05
19000.0 4.80168E-05
19500.0 4.83648E-05
20000.0 4.86812E-05
20500.0 4.89374E-05
21000.0 4.89330E-05
21500.0 4.84956E-05
22000.0 4.75116E-05
22500.0 4.59512E-05
23000.0 4.51756E-05
23500.0 4.43232E-05
24000.0 4.40476E-05
*/
参考技术B 可以读取的,fluent是可以读取&符号的了 参考技术C
链接命令里缺少函数或变量相应的lib文件。如果是非默认包含的库函数,需要手动修改makefile文件或输入配置文件。
参考技术D fluent能读取&符号吗?
你好,对勾上边有个叉表示网格已经画好了,不能转到fluent里面,可能是路径有中文,另存到一个无中文的路径,重新打开,很高兴为你解答

fluent中的UDF能用vs2010编译吗?

我的电脑用的是刚安装的WIN7,下了vs2010程序,用vs编译了UDF 代码后,在fluent导入过程中,出现
"'nmake' 不是内部或外部命令,也不是可运行的程序或批处理文件。"
想请教各位高手这是个什么问题,该怎么解决.
恩,谢谢了,我的邮箱是qq369329828@yahoo.com.cn

当然没有问题,所谓 UDF 编译后就是一个 DLL 文件

使用 nmake 的话,需要先设定环境变量

可以在 cmd 中执行 Path\To\VC\vcvarsall.bat

然后敲 fluent 的启动命令

=========================

win7 并没什么特殊,当然可以
参考技术A 给你一个可以解决这个问题的小插件吧,可以不用安装vs,希望可以帮助你,我发你邮箱里啊本回答被提问者采纳

以上是关于fluent能读取&符号吗的主要内容,如果未能解决你的问题,请参考以下文章

fluent udf读取udm的值

如何在fluent中得到机翼弦向表面压力分布

fluent中的UDF能用vs2010编译吗?

ansys能仿真金属相变吗,ansys workbench 能够做哪些

Fluent 和 Query Expression — 两者相比有啥好处吗?

Fluent 和 Query Expression — 两者相比有啥好处吗?