已知每个网格点的坐标及对应的电磁力,如何用UDF加载动量源项?

浏览:4531 回答:3
由于模型复杂,小弟先在Ansys中做了电磁分析,已经导出对应网格节点上的坐标和电磁力,但Fluent中如何在对应网格节点上加载动量源项?
下面是我自己写的udf,大神看看这样行么?
#include "udf.h"
void main()
{
int array[147981][5]={ 1. 0.32138272E+00 0.13086820E+01 0.39000000E+01 0.54072349E+05
2. 0.32138272E+00 0.13086820E+01 0.37000000E+01 0.54259471E+05
3. 0.32138272E+00 0.13086820E+01 0.35000000E+01 0.55718859E+05
4. 0.32138272E+00 0.13086819E+01 0.33000000E+01 0.56582548E+05
....
....
....
147977. 0.15785034E+01 0.30281812E+01 0.45983921E+01 0.00000000E+00
147978. -0.95409145E-01 0.31507640E+01 0.32660221E+01 0.00000000E+00
147979. 0.14035977E+01 0.31281651E+01 0.28568534E+01 0.00000000E+00
147980. 0.20558205E+01 0.29351827E+01 0.40465541E+01 0.00000000E+00
147981. 0.12748586E+01 0.26448660E+01 0.36117445E+01 0.00000000E+00
}
int i;
for(i=0;i<147981;i++)
{
string heatsource[147981];
heatsource=i;
DEFINE_SOURCE(heatsource,c,t,dS,eqn)
{
real source;
cell_t c;
Thread *t;
int n;
Domain *domian;
Thread *c_thread;
cell_t c;
real source;
int n;
Node *v;
thread_loop_c (c_thread,domain)
{
begin_c_loop (c,c_thread)
{
c_node_loop (c,t,n)
{
v = C_NODE(c,t,n);
if(fabs(NODE_X(v)-array[1])<1e-6&&fabs(NODE_Y(v)-array[2])<1e-6&&fabs(NODE_Z(v)-array[3])<1e-6)
{
source=array[4];
dS[eqn]=0;
}
}
}
end_c_loop (c,t)
}
return source;
}
}
}
邀请回答 我来回答

全部回答

(2)
默认 最新
用户_27543
大佬这问题解决了吗?想请教一下。
2024年2月20日
评论 点赞
fishleong1
大侠,你做出来了吗?可否加个扣扣,小弟要向你请教啊。。
2015年11月18日
评论 1 点赞

没解决?试试专家一对一服务

换一批
    App下载
    技术邻APP
    工程师必备
    • 项目客服
    • 培训客服
    • 平台客服

    TOP