| 查看: 673 | 回复: 0 | ||||
[求助]
能量源项编程问题
|
![]() 所编写的能量源项程序如下:#include "udf.h" DEFINE_SOURCE(heat_flux,cell,thread,ds,eqn) { real x[ND_ND]; real time,r; real source_heat; int k,u; C_CENTROID(x,cell,thread); time=CURRENT_TIME; k=(int)((int)(time)/6); u=(int)(time)%6; r=0; if(u>=0&&u<2) { r=sqrt(pow(x[0]+0.2-0.2*(time-6*k),2)+pow(x[1]-0.2,2)); if(r<=0.06&&x[2]>=0&&x[2]<=0.001&&x[1]<=0.2) { source_heat=8e11*exp(-3000*pow((r-0.005),2)); ds[eqn] =0; } else if(r<=0.06&&x[2]>=0&&x[2]<=0.001&&x[1]>0.2) { source_heat=4e11*exp(-3000*pow((r-0.005),2)); ds[eqn] =0; } } else { source_heat= ds[eqn] =0; } Message("u=%d,k=%d\n",u,k); Message("source_heat=%f\n",source_heat); return source_heat; } 存在问题:所有输出的能量值source_heat都为0 模型简介:t=0时刻,在xy平面上,热源中心位于(-0.2,0.2);随时间增加,在0-2S内热源沿y=0.2直线运动;热源扫描区域为半径为r=0.06的圆形。在当前时刻,热源中心为(-0.2+0.2*(time-6*k), 0.2),所以有热源的圆形半径r=sqrt(pow(x[0]+0.2-0.2*(time-6*k),2)+pow(x[1]-0.2,2)) 以下方式查看r值: r=sqrt(pow(x[0]+0.2-0.2*(time-6*k),2)+pow(x[1]-0.2,2)); Message("r=%f\n",r); 发现输出的r值没有小于0.1的,不知道是刷屏太快还是确实没有? 如果确实无小于0.1的值,热源输出值为0,也就正常;可问题是r应该有小于0.06的值,因为x[0],x[1]的取值范围为[-0.35,0.35],也就是说r的输出值应该在[0,0.06]内有值!! 仔细检查了下,实在找不出哪出现问题了 ![]() ![]() 高手们帮忙看看吧,谢谢!!! ![]() |
» 收录本帖的淘帖专辑推荐
fluent模拟问题 | 电弧 |
» 猜你喜欢
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有11人回复
表哥与省会女结婚,父母去帮带孩子被省会女气回家生重病了
已经有9人回复
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有10人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有10人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有11人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有11人回复

找到一些相关的精华帖子,希望有用哦~
能量源项中有温度对时间的微分,需要用uds吗?
已经有16人回复
Erlang程序设计中文版(带源代码)-云计算和多核时代的编程语言
已经有36人回复
matlab实例编程一百个源程序
已经有107人回复
fluent能量源项中温度T对时间的t的偏导数,即dT/dt如何用udf编写能量源项
已经有6人回复
时间函数的能量方程源项怎么表达
已经有3人回复
能量方程源项udf
已经有4人回复
【求助】求助或讨论一下关于能量传递源项中各个焓值的含义
已经有3人回复
科研从小木虫开始,人人为我,我为人人















回复此楼

点击这里搜索更多相关资源