注册 登录
流体中文网 返回首页

gearboy的个人空间 http://cfluid.com/?15372 [收藏] [复制] [分享] [RSS]

日志

UDF求欧拉模型中颗粒撞击壁面的角度

已有 1844 次阅读2013-4-17 14:11 |个人分类:UDF使用技巧

#include "udf.h"

#define WALL_ID 4  // the wall id to be computed collision angle
#define PARTICLE_PHASE_ID 1 // the phase id of particle phase

DEFINE_ON_DEMAND(report_angle)
{
        face_t f;
        cell_t c0;
        real cos_angle,angle;
        real NV_VEC(f_normal),NV_VEC(particle_velocity);
        Domain*mixture_domain,*particle_domain;
        Thread*wall_thread,*particle_t0;

        mixture_domain=Get_Domain(1);
        particle_domain=DOMAIN_SUB_DOMAIN(mixture_domain,PARTICLE_PHASE_ID);
        wall_thread=Lookup_Thread(particle_domain,WALL_ID);
        begin_f_loop(f,wall_thread)
        {
                c0=F_C0(f,wall_thread);
                particle_t0=THREAD_T0(wall_thread);
#if RP_3D
                NV_D(particle_velocity,=,C_U(c0,particle_t0),C_V(c0,particle_t0),C_W(c0,particle_t0));
#else
                NV_D(particle_velocity,=,C_U(c0,particle_t0),C_V(c0,particle_t0),0);
#endif
                F_AREA(f_normal,f,wall_thread);
                cos_angle=NV_DOT(particle_velocity,f_normal)/MAX(NV_MAG(particle_velocity)*NV_MAG(f_normal),1E-10);
                angle=90.0-acos(cos_angle)/M_PI*180.0;
                Message0("face id=%d,angle between particle velocity and wall face=%f degree\n",f,angle);
        }
        end_f_loop(f,wall_thread);
}

发表评论 评论 (1 个评论)

回复 筱炜轩 2013-6-24 10:21
看不懂,俺是菜鸟。:lol

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

返回顶部