找回密码
 注册
查看: 1794|回复: 1

求助:利用Adjust宏求和问题

[复制链接]
发表于 2012-12-12 20:05:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
我想求出区域6的最下面一层网格中UDM1的和值,程序如下,主要思路借鉴自gearboy78,表示感谢。但是经验证,求出来的和值是整个区域上的,求助,应该怎么改。
DEFINE_ADJUST(adjust,d)
{
        int n,n1=0;
        real sum_udm1=0.;
    Thread *tf, *t=Lookup_Thread(d,6);
        cell_t c;
    face_t f;
    cxboolean IsBottomCell=FALSE;

        begin_c_loop(c,t)
        {
                c_face_loop(c, t, n)
                {
                        tf=C_FACE_THREAD(c,t,n);
                        if(THREAD_ID(tf)==38)/*区域底面的ID*/
                                IsBottomCell=TRUE;
                }

                if(IsBottomCell)
                {
                        sum_udm1+=C_UDMI(c,t,1);
                        n1++;
                }
        }
        end_c_loop(c,t)
        CX_Message("Sum-UDM1 is:%f \n",sum_udm1);
        CX_Message("n is:%d \n",n1);
}
发表于 2012-12-13 08:53:31 | 显示全部楼层
DEFINE_ADJUST(adjust,d)
{
        int n,n1=0;
        real sum_udm1=0.;
    Thread *tf, *t=Lookup_Thread(d,6);
        cell_t c;
    face_t f;
    cxboolean IsBottomCell;

        begin_c_loop(c,t)
        {
               IsBottomCell=FALSE;  //对每个cell,在判断是否邻接前先设置为false
                c_face_loop(c, t, n)
                {
                        tf=C_FACE_THREAD(c,t,n);
                        if(THREAD_ID(tf)==38)/*区域底面的ID*/
                                IsBottomCell=TRUE;
                }

                if(IsBottomCell)
                {
                        sum_udm1+=C_UDMI(c,t,1);
                        n1++;
                }
        }
        end_c_loop(c,t)
        CX_Message("Sum-UDM1 is:%f \n",sum_udm1);
        CX_Message("n is:%d \n",n1);
}


原帖由 东东仔52 于 2012-12-12 12:05 发表
我想求出区域6的最下面一层网格中UDM1的和值,程序如下,主要思路借鉴自gearboy78,表示感谢。但是经验证,求出来的和值是整个区域上的,求助,应该怎么改。
DEFINE_ADJUST(adjust,d)
{
        int n,n1=0;
        real sum_ ...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表