24小时热门版块排行榜    

查看: 562  |  回复: 2

japus1988

新虫 (初入文坛)

[求助] 求助属性,这样写udf可以用来求二阶导数嘛? 已有1人参与

我想利用下面的代码来求C_VOF的二阶导数,然后添加一个动量源项,可以编译成功,但是为什么一开始计算就会出现divergence detected in AMG solver: x-momentum 的错误啊

#define domain_ID 1
DEFINE_ADJUST(adjust_gradient,domain)
{
  Thread *t;
   cell_t c;
   face_t f;
   domain=Get_Domain(domain_ID);
   thread_loop_c(t,domain)
     {
      begin_c_loop(c,t)
         {
         C_UDSI(c,t,0)=C_VOF(c,t);
         }
      end_c_loop(c,t)
     }
}
DEFINE_ADJUST(adjust_gradient,domain)
{
   Thread *t;
   cell_t c;
   face_t f;
   domain=Get_Domain(domain_ID);
   thread_loop_c(t,domain)
     {
      begin_c_loop(c,t)
         {
         C_UDSI(c,t,1)=C_UDSI(c,t,0)[0];
         }
      end_c_loop(c,t)
     }
}
DEFINE_ADJUST(adjust_gradient,domain)
{
   Thread *t;
   cell_t c;
   face_t f;
   domain=Get_Domain(domain_ID);
   thread_loop_c(t,domain)
     {
      begin_c_loop(c,t)
         {
         C_UDSI(c,t,2)=C_UDSI(c,t,0)[1];
         }
      end_c_loop(c,t)
     }
}
这样的话C_UDSI_G(c,t,1)[0]和C_UDSI_G(c,t,2)[1]是不是就是二阶导数了?

[ Last edited by japus1988 on 2012-12-10 at 20:10 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

b07988

金虫 (正式写手)

星期六可以休息

【答案】应助回帖

★ ★ ★
感谢参与,应助指数 +1
japus1988: 金币+2, ★★★很有帮助, 谢谢,我也发现了这个问题了 2012-12-11 20:05:39
xiegangmai: 金币+1, 谢谢参与 2012-12-11 20:33:28
The value of domain_id is always 1 for the mixture domain.所以#define domain_ID 应该为2或者3
后面的就不清楚正确不正确了。
先做最重要的事情,再做次重要的事情
2楼2012-12-11 00:13:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

highway1

新虫 (初入文坛)

【答案】应助回帖

楼主问题解决了吗?
3楼2018-05-02 17:04:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 japus1988 的主题更新
信息提示
请填处理意见