| 查看: 2403 | 回复: 7 | ||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | ||
[求助]
求助利用uds求解方程组,uds发散 已有2人参与
|
||
|
在收敛的流场中设置四个uds,求解四个方程,算的是稳态问题,不计算流场,只计算四个标量。 现在我按照uds的格式写好各项,其中对流项和源项都有利用C_UDSI引用其他三个标量,同时还用ON_DEMAND给各标量赋了初值。 代码可以通过编译,问题是开始计算就会显示uds发散,不知道问题出在哪里,向各位高手求助。 谢谢解答!@wuming524 |
» 猜你喜欢
青椒八年已不青,大家都被折磨成啥样了?
已经有11人回复
限项规定
已经有9人回复
免疫学博士有名额,速联系
已经有4人回复
交叉科学部支持青年基金,对三无青椒是个机会吗?
已经有5人回复
国家基金申请书模板内插入图片不可调整大小?
已经有6人回复
国家级人才课题组招收2026年入学博士
已经有5人回复
Fe3O4@SiO2合成
已经有6人回复
青年基金C终止
已经有4人回复
26申博求博导推荐-遥感图像处理方向
已经有4人回复
西南交通大学国家级人才团队2026年博士研究生招生(考核制)—机械、材料、力学方向
已经有3人回复
匿名
用户注销 (小有名气)
- 应助: 31 (小学生)
- 金币: 1248.2
- 散金: 68
- 红花: 7
- 帖子: 220
- 在线: 78.3小时
- 虫号: 0
- 注册: 2015-01-18
- 专业: 工程热物理与能源利用
4楼2016-11-04 07:14:56
qc12345
至尊木虫 (职业作家)
- 应助: 146 (高中生)
- 金币: 13133.3
- 红花: 26
- 帖子: 3247
- 在线: 698.5小时
- 虫号: 3071487
- 注册: 2014-03-19
- 专业: 园艺学与植物营养学

2楼2016-11-03 22:06:45
|
程序如下 #include "udf.h" #include "mem.h" #include "math.h" DEFINE_ON_DEMAND(demandbeginning) { Thread *t; cell_t c; face_t f; Domain *d; d=Get_Domain(1); thread_loop_c(t,d) { begin_c_loop(c,t) { C_UDSI(c,t,0)=0.000001; C_UDSI(c,t,1)=C_U(c,t); C_UDSI(c,t,2)=C_V(c,t); C_UDSI(c,t,3)=C_W(c,t); } end_c_loop(c,t); } } DEFINE_UDS_FLUX(flux0, f, t, i) { Thread *t0,*t1=NULL; cell_t c0,c1=-1; real NV_VEC(psi_vec),NV_VEC(A),flux; NV_D(psi_vec,=,0,0,0); c0=F_C0(f,t); t0=F_C0_THREAD(f,t); F_AREA(A,f,t); if(NULL==F_C1_THREAD(f,t)) { NV_DS(psi_vec,=,C_UDSI(c0,t0,1),C_UDSI(c0,t0,2),C_UDSI(c0,t0,3),*,998); flux=NV_DOT(psi_vec,A); } else { c1=F_C1(f,t); t1=F_C1_THREAD(f,t); NV_DS(psi_vec,=,C_UDSI(c0,t0,1),C_UDSI(c0,t0,2),C_UDSI(c0,t0,3),*,988); NV_DS(psi_vec,+=,C_UDSI(c1,t1,1),C_UDSI(c1,t1,2),C_UDSI(c1,t1,3),*,0.5); flux=NV_DOT(psi_vec,A); } return flux; } DEFINE_UDS_FLUX(flux1, f, t, i) { Thread *t0,*t1=NULL; cell_t c0,c1=-1; real NV_VEC(psi_vec),NV_VEC(A),flux1; NV_D(psi_vec,=,0,0,0); c0=F_C0(f,t); t0=F_C0_THREAD(f,t); F_AREA(A,f,t); if(NULL==F_C1_THREAD(f,t)) { NV_DS(psi_vec,=,C_UDSI(c0,t0,1),C_UDSI(c0,t0,2),C_UDSI(c0,t0,3),*,998); flux1=C_UDSI(c0,t0,0)*NV_DOT(psi_vec,A); } else { c1=F_C1(f,t); t1=F_C1_THREAD(f,t); NV_DS(psi_vec,=,C_UDSI(c0,t0,1),C_UDSI(c0,t0,2),C_UDSI(c0,t0,3),*,988); NV_DS(psi_vec,+=,C_UDSI(c1,t1,1),C_UDSI(c1,t1,2),C_UDSI(c1,t1,3),*,0.5); flux1=(C_UDSI(c0,t0,0)+C_UDSI(c1,t1,0))*0.5*NV_DOT(psi_vec,A); } return flux1; } DEFINE_SOURCE(myudssourceu,c,t,dS,eqn) { real x[ND_ND]; real CD,Re,force,k,source,a,b; Domain *d; d=Get_Domain(1); C_CENTROID(x,c,t); a=pow((C_U(c,t)*C_U(c,t)+C_V(c,t)*C_V(c,t)+C_W(c,t)*C_W(c,t)),0.5); b=pow((C_UDSI(c,t,1)*C_UDSI(c,t,1)+C_UDSI(c,t,2)*C_UDSI(c,t,2)+C_UDSI(c,t,3)*C_UDSI(c,t,3)),0.5); Re=998*pow((a*a-2*a*b+b*b),0.5)*0.00002/0.0000179; if (Re<=1000.0) { CD=24*(1+0.15*pow(Re,0.687))/Re; } else { CD=0.44; } force=CD*Re/24; k=18*0.0000179*force/998/0.00002/0.00002; source=998*C_UDSI(c,t,0)*k*(C_U(c,t)-C_UDSI(c,t,1)); dS[eqn]=-998*C_UDSI(c,t,0)*k; return source; } DEFINE_SOURCE(myudssourcev,c,t,dS,eqn) { real x[ND_ND]; real CD,Re,force,k,source,a,b; Domain *d; d=Get_Domain(1); C_CENTROID(x,c,t); a=pow((C_U(c,t)*C_U(c,t)+C_V(c,t)*C_V(c,t)+C_W(c,t)*C_W(c,t)),0.5); b=pow((C_UDSI(c,t,1)*C_UDSI(c,t,1)+C_UDSI(c,t,2)*C_UDSI(c,t,2)+C_UDSI(c,t,3)*C_UDSI(c,t,3)),0.5); Re=998*pow((a*a-2*a*b+b*b),0.5)*0.00002/0.0000179; if (Re<=1000.0) { CD=24*(1+0.15*pow(Re,0.687))/Re; } else { CD=0.44; } force=CD*Re/24; k=18*0.0000179*force/998/0.00002/0.00002; source=998*C_UDSI(c,t,0)*k*(C_V(c,t)-C_UDSI(c,t,1)); dS[eqn]=-998*C_UDSI(c,t,0)*k; return source; } DEFINE_SOURCE(myudssourcew,c,t,dS,eqn) { real x[ND_ND]; real CD,Re,force,k,source,a,b; Domain *d; d=Get_Domain(1); C_CENTROID(x,c,t); a=pow((C_U(c,t)*C_U(c,t)+C_V(c,t)*C_V(c,t)+C_W(c,t)*C_W(c,t)),0.5); b=pow((C_UDSI(c,t,1)*C_UDSI(c,t,1)+C_UDSI(c,t,2)*C_UDSI(c,t,2)+C_UDSI(c,t,3)*C_UDSI(c,t,3)),0.5); Re=998*pow((a*a-2*a*b+b*b),0.5)*0.00002/0.0000179; if (Re<=1000.0) { CD=24*(1+0.15*pow(Re,0.687))/Re; } else { CD=0.44; } force=CD*Re/24; k=18*0.0000179*force/998/0.00002/0.00002; source=998*C_UDSI(c,t,0)*k*(C_W(c,t)-C_UDSI(c,t,3)); dS[eqn]=-998*C_UDSI(c,t,0)*k; return source; } |
3楼2016-11-03 22:18:08
5楼2016-11-04 10:28:47













回复此楼