24小时热门版块排行榜    

查看: 641  |  回复: 5
当前主题已经存档。

夏之篮

木虫 (正式写手)

[交流] 【求助】请教差分得到的代数方程组如何C语言实现

rt,有没有这样的模板?
我的问题具体是这样的,如下图一个电势和电流密度的差分后的形式(由电势泊松方程及电流连续性方程推导得到),怎么样写成C描述呢?

说明:计算区域的网格划分方式,ax、ay分别为x轴和y轴方向上的网格步长,i、j为节点坐标序号。这个网格步长在C程序中如何表示?i和j又如何处理呢?

谢谢!

[ Last edited by 夏之篮 on 2009-12-29 at 16:56 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

★ ★ ★ ★
余泽成(金币+2,VIP+0):谢谢应助! 12-29 19:02
夏之篮(金币+2,VIP+0):谢谢,辛苦了~~ 12-29 19:48
for(k=1,k<=max_iter, k++){
u[i,j]=1/(2*ax*ax+ay*ay)*(ax*ax*(u[i+1,j]+u[i-1,j])+ay*ay*(u[i,j+1]+u[i,j-1])+ax*ax*ay*ay*rho[i,j]/epsilon);
...
}

剩下你自己参考这个写

[ Last edited by hakekill on 2009-12-29 at 16:14 ]
2楼2009-12-29 16:08:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

夏之篮

木虫 (正式写手)

上面还搞不定呢!不是我想要的啊!
我的ax、ay分别为x轴和y轴方向上的网格步长,i、j为节点坐标序号。这个网格步长在C程序中如何表示?i和j又如何处理呢?
3楼2009-12-29 19:48:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

★ ★ ★ ★ ★ ★ ★ ★
nono2009(金币+2,VIP+0):谢谢应助! 12-29 20:36
夏之篮(金币+6,VIP+0):谢谢,基本完成我的提问,不好意思,留俩回答我接下来的问题吧,不排除增加悬赏哈~ 12-29 21:24
这个都是通过定义变量来完成的,如网格步长都取0.5
ax=0.5;
ay=0.5;
i,j分别是你的网格节点数,假如网格节点为4x4的
rows = 4;
cols = 4;

float u[3,3], rho[3, 3];

max_iter = 10;

for(k=1, k    for(i = 0, i < rows, i++){
       for(j = 0, j < cols, j++){
           ax2 = ax * ax;
           ay2 = ay * ay;
           epsilon = ??;
           u[i,j]=1/2*(ax2+ay2)*(ax2*(u[i+1,j]+u[i-1,j])+ay2*(u[i,j+1]+u[i,j-1])+ax2*ay2*rho[i,j]/epsilon);
..
}
}
}

大致情况是这样的

[ Last edited by hakekill on 2009-12-29 at 20:07 ]
4楼2009-12-29 20:05:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

夏之篮

木虫 (正式写手)

谢谢思路,接着回答我的问题?

引用回帖:
Originally posted by hakekill at 2009-12-29 20:05:
这个都是通过定义变量来完成的,如网格步长都取0.5
ax=0.5;
ay=0.5;
i,j分别是你的网格节点数,假如网格节点为4x4的
rows = 4;
cols = 4;

float u[3,3], rho[3, 3];

max_iter = 10;

for(k=1, k< ...

是这样的,我这方程式编好后需要使用UDF加载到FLUENT中的,因为模型的网格划分为非结构网格,x轴和y轴方向上的网格步长都不为定值,我们是不知道的,我觉得应该采用某一个宏去循环遍历线上的所有网格,
此外,这个网格节点(你说的rows和cols)也不知道,也该通过宏读取吧,还有这个max_iter也不知道,那该如何处理?

呵呵,恰逢你也使用FLUENT就好,不知我这个想法,这个实现方式是否可行?

谢谢你的关注,并期待各位专家的高见!
5楼2009-12-29 21:26:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hakekill

木虫 (小有名气)

★ ★ ★ ★
夏之篮(金币+2,VIP+0):感谢!我自定义两个变量,我就是对如何用宏实现搞不定,找不到你的联系方式,这是我的QQ(357287329),方便的话,迫切需要你进一步的指导,谢谢! 12-29 21:54
jjdg(金币+2,VIP+0):辛苦了! 12-29 22:05
你如果是用udf的话,就不是我写的程序了,在fluent里面循环和我写的不一样的。

你这个要用fluent自己的宏来搞,比较复杂一点,而且你这个感觉是自己定义了uds,不知道我的理解对不对,不过这个问题已经远超过的能力了

[ Last edited by hakekill on 2009-12-29 at 21:33 ]
6楼2009-12-29 21:31:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 夏之篮 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见