| 查看: 1352 | 回复: 15 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[求助]
udf 并行计算 已有1人参与
|
|||
|
请教各位,以下udf 单核可以成功计算,求相应多核计算程序 #include "udf.h" #include "math.h" DEFINE_PROFILE(unsteady_temperature, thread, position) { real t, temperature; face_t f; begin_f_loop(f, thread) { t = RP_Get_Real("flow-time" ;temperature = 295.869+5.3462*pow(10,-18)*pow(t,4)-6.3431*pow(10,-13)*pow(t,3)+1.2431*pow(10,-8)*t*t+0.00042227*t; F_PROFILE(f, thread, position) = temperature; } end_f_loop(f, thread) } |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : 多核.doc
2015-05-27 23:35:00, 14.5 K
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有3人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急
已经有3人回复
售SCI文章,我:8O.5.5.1O.54,科目全,可十急
已经有3人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急
已经有3人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急
已经有4人回复
|
achilFes1990 : 您好!谢谢您前段时间给我的帮助,不好意思又来打扰您,请问能不能再方便的时间给我指点迷津,我要编一个udf程序,定义时间和温度的关系,关系式为y=y0+A/t0*exp(0.5*(w/t0)∧2-(x-xc)/t0)*(erf(z/sqrt(2))+1)/2 式中: double z=(x-xc)/w-w/t0;y0=-4.63764;A=81.9784;xc=5.98023;w=3.3487;t0=5.90205。 编写了以下udf程序: #include <udf.h> #include <math.h> #define ERF_PI 3.141592653589793 #define ERF_N 100 double erf(double x)////erf(x) = the cumulation of { 2/sqrt(pi)*exp(-z*z) } from 0 to x; //error function { // 2/sqrt(pi) * { ∑[(-1)^n / n! * x^(2n+1)/(2n+1)] + x } double res = x; double factorial = 1; //n! double x_pow = x; int one = 1, n; for( n=1; n<100; n++ ){ factorial *= n; one *= -1; x_pow *= x*x; res += one / factorial * x_pow / ( 2*n+1 ); } res *= 2 / sqrt(ERF_PI); return res; } double norm_cdf(double y)//cumulation distribution function of standard normal distribution { real time = CURRENT_TIME; y=(time-5.98023)/3.3487-3.3487/5.90205 return ( 1 + erf( y / sqrt(2) ) ) / 2; } DEFINE_PROFILE(unsteady_temperature, t, i) { real time = CURRENT_TIME; real temperature; face_t f; begin_f_loop(f, t) { temperature = -4.6376+6.9448*exp(1.1742-time/5.90205)*(erf(y/sqrt(2))+1)/2; F_PROFILE(f, t, i) = temperature; } end_f_loop(f, thread) } 导入fluent出现以下错误: ers\user\Desktop\udf unsteady temperature w 1.c: line 27: parse error. Error: C:\Users\user\Desktop\udf unsteady temperature w 1.c: line 38: y: undeclared variable 望前辈给我指点迷津 |
16楼2015-09-16 08:42:52
3楼2015-06-01 10:05:56
4楼2015-06-02 11:31:31
achilFes1990
木虫 (著名写手)
- 应助: 363 (硕士)
- 金币: 5307.5
- 红花: 21
- 帖子: 1400
- 在线: 197.1小时
- 虫号: 1115537
- 注册: 2010-10-07
- 性别: GG
- 专业: 海洋工程

5楼2015-06-02 12:59:42










;
回复此楼
yanboliu
20