24小时热门版块排行榜    

查看: 1655  |  回复: 3
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 Akun 的 10 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Akun

新虫 (初入文坛)

[交流] 有关动网格面被分割,该怎么实现并行下使用

最近在做颗粒沉积方面的模拟,用到了define_dpm_erosion这个宏,模拟的情况是圆管壁面沉积。
1.模拟过程包含两部分:a.erosion宏的沉积判定;b.管壁面根据沉积高度进行define_grid_motion的动网格执行;
2.因为流域颗粒比较多,所以计划采用多核进行计算,缩短计算时间;
3.用八核计算时,发现管壁面被分成了4各部分,因为grid_motion中要用到begin_f_loop,是否需要进行并行化语句;
4.目前serial模式没有问题,并行会因为动网格更新时出现负体积而报错,我猜是因为并行将壁面分割的原因(问题可能就出现在分割面重合的那几个节点上)
以下是我grid_motion中的部分语言:中间我还用到了数组计算每个节点的位移高度
DEFINE_GRID_MOTION(dongwangge,domain,dt,time,dtime)
{
       
        Thread *tf=DT_THREAD(dt);
        face_t f;
        int i,j;
        int m,n,l;
        real cos_theta,sin_theta;
        real sum=0;
        int step;
        int cha;
        FILE *fp;
    real vf[1000][2];
        real vn[1000][2];
        real angle[1000];
        real node[1000][2];
        real A[ND_ND];
        real A1[ND_ND];
        Node *v;
        Node *vs;
        Thread *tf0;
    cell_t c0;
       
        step=N_TIME;
        cha=step-(step/200)*200;
        if(cha==0)
        {
        .......(利用数组计算了每个节点应该位移的高度)
        SET_DEFORMING_THREAD_FLAG(THREAD_T0(tf));//    开始动网格
        i=0;
        n=0;
        begin_f_loop(f,tf)
         {         
                 f_node_loop(f,tf,n)
                 {
                        v=F_NODE(f,tf,n);
                        vs=F_NODE_SHADOW(f,tf,n);
                        if(NODE_POS_NEED_UPDATE(v))
                        {
                                NODE_POS_UPDATED(v);
                                cos_theta=vn[0]/NV_MAG(vn);
                                sin_theta=vn[1]/NV_MAG(vn);
                                if(angle<0.965926)
                                {
                                        NODE_X(v)=(node[i-1][0]+node[0]+node[i+1][0])/3;
                                        NODE_Y(v)=(node[i-1][1]+node[1]+node[i+1][1])/3;//把节点位置移动至三角形重心位置
                                        NODE_X(vs)=(node[i-1][0]+node[0]+node[i+1][0])/3;
                                    NODE_Y(vs)=(node[i-1][1]+node[1]+node[i+1][1])/3;
                                }
                                NODE_X(v)=NODE_X(v)-HEIGHT_NODE*cos_theta;
                                NODE_Y(v)=NODE_Y(v)-HEIGHT_NODE*sin_theta;                  //网格位置更新
                               
                                NODE_X(vs)=NODE_X(vs)-HEIGHT_NODE*cos_theta;
                                NODE_Y(vs)=NODE_Y(vs)-HEIGHT_NODE*sin_theta;

                                i++;
                         }

                  }
          }
        end_f_loop(f,tf)
        begin_f_loop(f,tf)
        {
                   c0 = F_C0(f, tf);
           tf0 = F_C0_THREAD(f,tf);
           for (i=1; i<9; i++)
                        {
                           F_UDMI(f,tf,i)=0.;
                           C_UDMI(c0,tf0,i)=0.;
                        }

        }
    end_f_loop(f, tf)

        }
        else return;

}

有关动网格面被分割,该怎么实现并行下使用
八核分布图.png


有关动网格面被分割,该怎么实现并行下使用-1
壁面四核分布图.png
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

346507037

铁虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
我做的可能与你有点区别,也是颗粒沉积,用到了自适应网格技术,如果有共同点可以私信交流
4楼2022-05-02 21:19:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

1573624128

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
你好,可以参考一下你的程序吗?最近在做泵的磨损形态,或者留个联系方式交流一下。谢谢!
2楼2018-10-10 12:08:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

砰啪噼里啪啦

新虫 (初入文坛)


小木虫: 金币+0.5, 给个红包,谢谢回帖
您好,方便留个联系方式交流一下嘛?
3楼2022-05-02 21:08:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 核心初审被拒,理由是“选题的意义不明确,文章写得不像是科技论文”,怎么改 5+3 工藤雷花樱 2024-05-27 8/400 2024-05-29 10:09 by topedit
[有机交流] 液相纯度高,但产品析不太出来 10+4 cui19236 2024-05-27 8/400 2024-05-29 09:09 by chu-yue
[教师之家] 中年 +8 459582015 2024-05-28 9/450 2024-05-29 08:44 by tangfh1973
[基金申请] 讨论贴:好本子一定会被打招呼的淘汰吗 +29 ioe3937 2024-05-27 37/1850 2024-05-29 07:22 by kldb880
[教师之家] 被惯着的学生终究要吃大亏 +28 535743368 2024-05-24 30/1500 2024-05-28 21:51 by lyfbangong
[考博] 招聘催化、储能博士 +7 dfjsf 2024-05-24 11/550 2024-05-28 21:01 by 求上岸的
[基金申请] 信息学部函评结束了吗? +5 ducan21 2024-05-28 6/300 2024-05-28 20:12 by nending2
[硕博家园] 又想换工作 +12 brightmj 2024-05-27 15/750 2024-05-28 19:35 by hahamyid
[基金申请] E05青基有几个评审 +4 KYXY123 2024-05-28 4/200 2024-05-28 19:25 by popt2t
[基金申请] E10开始送了,希望有好运 +5 sail 2024-05-27 5/250 2024-05-28 18:36 by 芝小芝
[论文投稿] EI期刊审稿人邮箱问题 5+3 shier妈妈 2024-05-27 4/200 2024-05-28 14:53 by topedit
[找工作] 生物医药科研助理 +3 贴贴rr 2024-05-22 5/250 2024-05-28 14:08 by yyliao
[有机交流] 奇怪的物质 100+4 桃桃PXS 2024-05-27 7/350 2024-05-28 10:22 by 091602
[材料综合] 求助,刚入门MOF合成,实验总是失败 20+3 张月半 2024-05-25 8/400 2024-05-28 09:20 by 我想更懂你29
[基金申请] 化学口面上 +7 乐丰松庆 2024-05-23 17/850 2024-05-27 10:23 by ddr6021023
[基金申请] 转发,”朋友说招呼都定点打到他那里了" +25 babu2015 2024-05-23 30/1500 2024-05-27 05:38 by wangzhenyft
[基金申请] 化学B口多少分能上会呀 +7 WOWO159357 2024-05-22 17/850 2024-05-24 09:00 by 一路向东
[有机交流] 苯磺酰氯与醇羟基反应 5+4 杨怼怼? 2024-05-22 12/600 2024-05-23 15:59 by mrzhl1986
[考博] 邀请申请深圳大学计算机与软件学院专业学位博士研究生(具身智能机器人方向) +3 Qiang_Li 2024-05-22 5/250 2024-05-23 14:28 by Qiang_Li
[论文投稿] 因为邮箱故障,没有收到论文接受后进入生产的邮件 5+3 VCOISTNT 2024-05-22 5/250 2024-05-23 10:03 by bobvan
信息提示
请填处理意见