24小时热门版块排行榜    

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

dqyzgyttro

金虫 (小有名气)

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

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

dqyzgyttro

金虫 (小有名气)

引用回帖:
6楼: Originally posted by xpxp1991 at 2016-11-04 12:22:03
Cell_t用法有问题

是什么问题呢,不太明白

发自小木虫Android客户端
7楼2016-11-04 12:41: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   回复此楼   编辑   查看我的主页
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 关于代码变化问题,想知道的进来 +11 且听虎啸 2026-08-07 14/700 2026-08-08 12:50 by 布布和一二
[基金申请] 这样的filecode谁见过 +3 布布和一二 2026-08-08 5/250 2026-08-08 12:22 by 仁砚薪传
[基金申请] 国基金的申报应该改成非等额制,评价高的钱多评价低的钱少,但是增加资助率 +4 a089 2026-08-07 4/200 2026-08-08 12:15 by arzu_hma
[找工作] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 4/200 2026-08-08 10:39 by 3OOjAIS77qg2
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 Vi50GxzrFcSG 2026-08-07 6/300 2026-08-08 10:19 by 3OOjAIS77qg2
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 4/200 2026-08-08 08:27 by 6vVgjDL4CnGu
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HEQlVqMTIA7d 2026-08-07 3/150 2026-08-08 03:47 by 6vVgjDL4CnGu
[基金申请] 基金中了 +14 laoda193707 2026-08-06 14/700 2026-08-08 00:23 by 实验小白ha
[基金申请] 固定端突然变了,今天 +6 archvillain 2026-08-06 10/500 2026-08-07 16:03 by 医学老男孩
[基金申请] 听说今天filecode变了 +24 布布和一二 2026-08-06 47/2350 2026-08-07 16:02 by zhiyanjiang
[基金申请] filecode与中标关系的预测 +3 布布和一二 2026-08-07 3/150 2026-08-07 15:09 by gltch
[论文投稿] 十年后又回来了,论文投稿求助 +4 哈哈114477 2026-08-01 4/200 2026-08-07 14:39 by jgy194592
[基金申请] 大家散了吧,后缀研究没有意义,别浪费时间了,过好目前的每一天,不要焦虑 +5 Tide man 2026-08-06 7/350 2026-08-07 13:11 by 医学老男孩
[基金申请] filecode +14 等待解的谜 2026-08-06 19/950 2026-08-07 12:20 by wlwhappy
[基金申请] filecode +8 布布和一二 2026-08-06 11/550 2026-08-06 20:41 by tangpu318
[基金申请] 求各位大神看下 100+6 hpkpkpkp 2026-08-05 33/1650 2026-08-06 14:49 by zhiyanjiang
[基金申请] 影响面上的因素 +8 布布和一二 2026-08-05 11/550 2026-08-06 10:41 by 宝贝虫子
[基金申请] 8月时间戳变的,举个手。玩一下,释放压力 +9 archvillain 2026-08-04 11/550 2026-08-05 20:06 by wlwhappy
[基金申请] 有没有H口的?有收到消息的吗? +3 超级海虾 2026-08-04 3/150 2026-08-04 17:26 by 学教育滴
[基金申请] 什么时候能放榜呀? +3 Jacob678 2026-08-03 3/150 2026-08-03 16:14 by gltch
信息提示
请填处理意见