|
发表于 2015-4-27 19:43:44
|
显示全部楼层
本例计算带电颗粒的磁场力。带电颗粒从上游进入层流流动的流体内,然后在t=tstart时进入下游的磁场区域,做近似圆周运动(并不完全是圆周运动,因为颗粒所受的磁场力大小是变化的)。
宏P_TIME(p)给出颗粒在流场中运动的时间,p为指针,指向颗粒的轨道。C源程序给出如下。
/***********************************************************************/
/* UDF for computing the ic force on a charged particle */
/***********************************************************************/
#include "udf.h"
#include "dpm.h"
#define Q 1.0 /* particle electric charge */
#define BZ 3.0 /* z component of ic field */
#define TSTART 18.0 /* field applied at t = tstart */
/* Calculate ic force on charged particle. ic */
/* force is particle charge times cross product of particle */
/* velocity with ic field: Fx= q*bz*Vy, Fy= -q*bz*Vx */
DEFINE_DPM_BODY_FORCE(particle_body_force, p, i)
{
float bforce;
if(P_TIME(p)>=TSTART)
{
if(i==0) bforce=Q*BZ*P_VEL(p)[1];
else if(i==1) bforce=-Q*BZ*P_VEL(p)[0];
}
else
bforce=0.0;
/* an acceleration should be returned */
return (bforce/P_MASS(p));
|
|