liuwei870313 发表于 2012-7-8 09:59:23

fluent中MHD模块用UDF添加外部磁场

小弟想用udf的形式给MHD模块中外部磁场赋值,赋值的效果想跟自带的MHD模块一样,结果计算的时候发现,外部磁场赋值成功了,计算的时候却发散了
我计算的问题是磁流体泵;变化的磁场驱动流体运动。
我的udf:
#include "udf.h"
DEFINE_INIT(my_init_BO_y,domain)
{
        cell_t c;
        Thread *t;
        real xc;
        real temp1,temp2;
        temp1=0.02;
        temp2=0.2;
        /* loop over all cell threads in the domain */
        thread_loop_c(t,domain)
        {
                /* loop over all cells */
                begin_c_loop_all(c,t)
                {
                        C_CENTROID(xc,c,t);
                        if(xc<1.0) C_UDMI(c,t,2)=cos(2*3.1415*60.0/360.0);
                        else if(xc<2.0) C_UDMI(c,t,2)=cos(2*3.1415*120.0/360.0);
                        else if(xc<3.0) C_UDMI(c,t,2)=cos(2*3.1415*180.0/360.0);
                        else if(xc<4.0) C_UDMI(c,t,2)=cos(2*3.1415*240.0/360.0);
                        else if(xc<5.0) C_UDMI(c,t,2)=cos(2*3.1415*300.0/360.0);
                        elseC_UDMI(c,t,2)=cos(2*3.1415*360.0/360.0);
                        C_UDMI(c,t,4)=sqrt(C_UDMI(c,t,2)*C_UDMI(c,t,2));




                }
                end_c_loop_all(c,t)
        }
}
DEFINE_ADJUST(adjust_b0_y,d)
{
        cell_t c;
        Thread *t;
        real xc;
        real current_time;
        current_time=RP_Get_Real("flow-time");
/*        current_time=CURRENT_TIME;*/
        thread_loop_c(t,d)
        {
                begin_c_loop_all(c,t)
                {
                        C_CENTROID(xc,c,t);
                        if(xc<1.0) C_UDMI(c,t,2)=cos(2*3.1415*60.0/360.0+2.0*3.1415*current_time);
                        else if(xc<2.0) C_UDMI(c,t,2)=cos(2*3.1415*120.0/360.0+2.0*3.1415*current_time);
                        else if(xc<3.0) C_UDMI(c,t,2)=cos(2*3.1415*180.0/360.0+2.0*3.1415*current_time);
                        else if(xc<4.0) C_UDMI(c,t,2)=cos(2*3.1415*240.0/360.0+2.0*3.1415*current_time);
                        else if(xc<5.0) C_UDMI(c,t,2)=cos(2*3.1415*300.0/360.0+2.0*3.1415*current_time);
                        elseC_UDMI(c,t,2)=cos(2*3.1415*360.0/360.0+2.0*3.1415*current_time);
                        C_UDMI(c,t,4)=sqrt(C_UDMI(c,t,2)*C_UDMI(c,t,2));

                       



                }
                end_c_loop_all(c,t)
        }

}



现在主要的问题是:计算几步后就会发散,发现感应磁场不正确,外部磁场是我想要的,

[ 本帖最后由 liuwei870313 于 2012-7-8 10:02 编辑 ]

liuwei870313 发表于 2012-7-9 09:03:58

怎么没有人回复一下呢?

Tingle 发表于 2012-8-8 22:52:18

回复 2# liuwei870313 的帖子

高手啊,小弟还在摸索中...

xumianguang 发表于 2012-8-13 21:08:31

您好

我最近也在做这方面,可否一起讨论一下。
我的QQ号

4 7***10 37****257(加些符号主要是避免被搜索引擎搜到)

tyhbd 发表于 2015-1-7 09:34:47

做这方面的人看起来不多啊,很多问题都没有人回复啊

jiaoshou1001 发表于 2018-4-15 09:51:43




这个问题后来解决了没有,如何解决的

sintaye 发表于 2018-5-30 11:46:59

高手高手·····

依水 发表于 2022-3-24 16:34:17

朋友们,请问fluent做化学非平衡流场模拟,本来可以正常运行。可是加载MHD模块后会出现Received signal SIGSEGV报错,请问这是什么原因呢?

瓜大小菜鸡 发表于 2023-7-17 16:30:17

依水 发表于 2022-3-24 16:34
朋友们,请问fluent做化学非平衡流场模拟,本来可以正常运行。可是加载MHD模块后会出现Received signal SIG ...

我也有类似的情况,请问您解决了吗
页: [1]
查看完整版本: fluent中MHD模块用UDF添加外部磁场