24小时热门版块排行榜    

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

dqyzgyttro

金虫 (小有名气)

[求助] 求助利用uds求解方程组,uds发散 已有2人参与

在收敛的流场中设置四个uds,求解四个方程,算的是稳态问题,不计算流场,只计算四个标量。
现在我按照uds的格式写好各项,其中对流项和源项都有利用C_UDSI引用其他三个标量,同时还用ON_DEMAND给各标量赋了初值。
代码可以通过编译,问题是开始计算就会显示uds发散,不知道问题出在哪里,向各位高手求助。
谢谢解答!@wuming524
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dqyzgyttro

金虫 (小有名气)

引用回帖:
4楼: Originally posted by xpxp1991 at 2016-11-04 07:14:56
初值用define-init

用了,似乎问题没解决呢

发自小木虫Android客户端
5楼2016-11-04 10:28:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

qc12345

至尊木虫 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
??UDS?????????????н??!
聽海
2楼2016-11-03 22:06:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dqyzgyttro

金虫 (小有名气)

程序如下
#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
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

匿名

用户注销 (小有名气)

感谢参与,应助指数 +1
本帖仅楼主可见
4楼2016-11-04 07:14:56
已阅   申请仿真EPI   回复此楼   编辑   查看我的主页
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[教师之家] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 7lpolszZVXgi 2026-08-14 4/200 2026-08-15 01:08 by 4wMiSEwB6436
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 00:16 by 4wMiSEwB6436
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +23 医学老男孩 2026-08-13 49/2450 2026-08-14 20:02 by zhaifei
[基金申请] filecode +6 cratir 2026-08-14 10/500 2026-08-14 18:29 by 笑叹辞穷
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[基金申请] 好奇怪的filecode +6 布布和一二 2026-08-08 7/350 2026-08-14 13:38 by Equinoxhua
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[基金申请] filecode +15 documentary 2026-08-10 17/850 2026-08-14 10:08 by kissu88
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[基金申请] 我的国基提前知道中了,可是同事的操作让我实在接受不了,怎么会有这样的人 +10 家与远方 2026-08-10 15/750 2026-08-14 02:08 by 绵羊哥哥
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 确定了,国自然21号放榜 +6 布布和一二 2026-08-10 7/350 2026-08-10 19:15 by 2000zf36392
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 据悉今年马上要出结果了 +7 瞬息宇宙 2026-08-10 8/400 2026-08-10 12:42 by Vivilian
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] fileCode有新解读? +10 Tide man 2026-08-08 18/900 2026-08-09 12:55 by 仁砚薪传
信息提示
请填处理意见