24小时热门版块排行榜    

查看: 4510  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

mopsite

木虫 (著名写手)

[求助] 用uds求解如下的问题为什么不收敛啊。谢谢! 已有1人参与

用uds求解如下的问题为什么不收敛啊。谢谢!
比较简单的问题,2个方程,求解两个uds,两外2个uds储存数据和得出梯度。算例见附件。
当不加uds1的源项时,可以运算,但是一加uds1的源项,就发散。不知道问题出在哪,怀疑是在用uds求解梯度时不太对,查看可以发现梯度局部边界的值较大。
用uds求解如下的问题为什么不收敛啊。谢谢!
3.jpg#include "udf.h"
#define B_ION 1.5e-4 /* Ion mobility - positive ion estimate */
#define EPS_0 8.85418717e-12


DEFINE_ADJUST(Calc_E_xy,d)
{
Thread *t;
cell_t c;
face_t f;
Thread *t0;
cell_t c0;
real dr0[ND_ND],dr1[ND_ND], xf[ND_ND], dy;

/* Do nothing if gradient isn't allocated yet. */
if (!Data_Valid_P()) return;
thread_loop_c(t,d)
{
if (NULL != THREAD_STORAGE(t,SV_UDS_I(0)) && NULL != T_STORAGE_R_NV(t,SV_UDSI_G(0)))
{
begin_c_loop(c,t)
{
C_UDSI(c,t,2) = -1.*C_UDSI_G(c,t,0)[0];
C_UDSI(c,t,3) = -1.*C_UDSI_G(c,t,0)[1];
}
end_c_loop(c,t)
}
}
thread_loop_f(t,d)
{
if (NULL != THREAD_STORAGE(t,SV_UDS_I(3)) && NULL != T_STORAGE_R_NV(t->t0,SV_UDSI_G(3)))
{
if (BOUNDARY_FACE_THREAD_P(t))
{
begin_f_loop(f,t)
{
c0 = F_C0(f,t);
t0 = THREAD_T0(t);
F_CENTROID(xf,f,t);
C_CENTROID(dr0,c0,t0);
NV_VV(dr1,=,xf,-,dr0);
F_UDSI(f,t,2) = C_UDSI(c0,t0,2) + (C_UDSI_G(c0,t0,2)[0]*dr1[0]);
F_UDSI(f,t,3) = C_UDSI(c0,t0,3) + (C_UDSI_G(c0,t0,3)[1]*dr1[1]);
}
end_f_loop(f,t)
}
}
}
}


/*******************************************************************/
/* UDF_source_phi_rho_11.c for specifying the phi and rho source terms for uds-0 */
/*******************************************************************/
DEFINE_SOURCE(phi_source_temp,c,t,dS,eqn)
{
real phi_source;
dS[eqn] = 0.0;
phi_source = C_UDSI(c,t,1)/EPS_0;
return phi_source;
}
DEFINE_SOURCE(rho_source_temp,c,t,dS,eqn)
{
real rho_source;
real xc[ND_ND];
real dens;
dS[eqn] = 0;
C_CENTROID(xc,c,t);
dens=C_R(c,t);
rho_source = C_UDSI(c,t,1)*B_ION*(C_UDSI_G(c,t,2)[0] + C_UDSI_G(c,t,3)[1]);
rho_source = -rho_source;
return rho_source;
}


DEFINE_UDS_FLUX(rho_ion_flux,f,t,i)
{
cell_t c0, c1 = -1;
Thread *t0, *t1 = NULL;
real NV_VEC(psi_vec), NV_VEC(A), flux = 0.0;
c0 = F_C0(f,t);
t0 = F_C0_THREAD(f,t);
F_AREA(A, f, t);

if (BOUNDARY_FACE_THREAD_P(t))
{

NV_DS(psi_vec, =, F_U(f,t), F_V(f,t), F_W(f,t), *, 1);
flux = NV_DOT(psi_vec, A); /* flux through Face */
}
else
{
c1 = F_C1(f,t); /* Get cell on other side of face */
t1 = F_C1_THREAD(f,t);
NV_DS(psi_vec, =, C_U(c0,t0),C_V(c0,t0),C_W(c0,t0),*,1.0);
NV_DS(psi_vec, +=, C_U(c1,t1),C_V(c1,t1),C_W(c1,t1),*,1.0);  
flux = NV_DOT(psi_vec, A)/2.0; /* Average flux through face */
}
  return flux;
}

[ Last edited by mopsite on 2013-12-17 at 18:38 ]
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : new.zip
  • 2013-12-17 17:47:22, 227.24 K

» 收录本帖的淘帖专辑推荐

传热传质

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mopsite

木虫 (著名写手)

引用回帖:
8楼: Originally posted by longma135 at 2013-12-19 11:06:01
不应该写成SV_UDSI(i)么...

参考了那个温度梯度的写法,看这个链接 http://combust.hit.edu.cn:8080/f ... tml/udf/node238.htm
9楼2013-12-19 11:12:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

gearboy78

禁虫 (小有名气)

本帖内容被屏蔽

3楼2013-12-19 08:01:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mopsite

木虫 (著名写手)

引用回帖:
3楼: Originally posted by gearboy78 at 2013-12-19 08:01:17
不收敛的可能性太多,例如控制方程本身不对,松弛因子太大,编程不对等等。

谢谢 回复,您说的控制方程不对,是指哪个地方啊。 如果这个地方不对的话,就是根上不对了。
还请高手点拨点拨啊,叩谢了。。。
4楼2013-12-19 08:19:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mopsite

木虫 (著名写手)

引用回帖:
3楼: Originally posted by gearboy78 at 2013-12-19 08:01:17
不收敛的可能性太多,例如控制方程本身不对,松弛因子太大,编程不对等等。

感谢您的提醒,控制方程可能是这样的,我修改下程序试下,谢谢。
用uds求解如下的问题为什么不收敛啊。谢谢!-1
eq.jpg

5楼2013-12-19 09:46:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 求调剂院校信息 +4 CX 330 2026-03-21 4/200 2026-03-21 23:48 by ms629
[考研] 一志愿东华大学控制学硕320求调剂 +3 Grand777 2026-03-21 3/150 2026-03-21 19:23 by 简之-
[考研] 326求调剂 +4 mlpqaz03 2026-03-15 4/200 2026-03-21 19:10 by ColorlessPI
[考研] 302求调剂 +12 呼呼呼。。。。 2026-03-17 12/600 2026-03-21 17:29 by ColorlessPI
[考研] 265求调剂 +12 梁梁校校 2026-03-19 14/700 2026-03-21 13:38 by lature00
[考研] 303求调剂 +5 睿08 2026-03-17 7/350 2026-03-21 03:11 by JourneyLucky
[考研] 274求调剂 +10 S.H1 2026-03-18 10/500 2026-03-20 23:51 by JourneyLucky
[考研] 330求调剂 +4 小材化本科 2026-03-18 4/200 2026-03-20 23:13 by JourneyLucky
[考研] 中南大学化学学硕337求调剂 +3 niko- 2026-03-19 6/300 2026-03-20 21:58 by luoyongfeng
[考研] 289求调剂 +6 怀瑾握瑜l 2026-03-20 6/300 2026-03-20 20:30 by 学员8dgXkO
[考研] 求调剂 +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
[考研] 0856调剂,是学校就去 +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by 无懈可击111
[考研] 085410人工智能专硕317求调剂(0854都可以) +4 xbxudjdn 2026-03-18 4/200 2026-03-20 09:07 by 不168
[考研] 材料工程专硕调剂 +5 204818@lcx 2026-03-17 6/300 2026-03-18 22:55 by 204818@lcx
[考研] 344求调剂 +6 knight344 2026-03-16 7/350 2026-03-18 20:13 by walc
[考研] 材料,纺织,生物(0856、0710),化学招生啦 +3 Eember. 2026-03-17 9/450 2026-03-18 10:28 by Eember.
[考研] 301求调剂 +4 A_JiXing 2026-03-16 4/200 2026-03-17 17:32 by ruiyingmiao
[考研] 一志愿苏州大学材料工程(085601)专硕有科研经历三项国奖两个实用型专利一项省级立项 +6 大火山小火山 2026-03-16 8/400 2026-03-17 15:05 by 无懈可击111
[考研] 一志愿南京大学,080500材料科学与工程,调剂 +4 Jy? 2026-03-16 4/200 2026-03-17 11:02 by gaoqiong
[考研] [导师推荐]西南科技大学国防/材料导师推荐 +3 尖角小荷 2026-03-16 6/300 2026-03-16 23:21 by 尖角小荷
信息提示
请填处理意见