65,186
社区成员




void act(int nIndex)
{ int uplimi,dolimi,zfawei;
double ruu,rvv,rww,ur,sp,cd,*juli,yemin;
TCell* g_CellsLimited;
uplimi = whereim(g_Cells,nCount,y[nIndex],'y')-1000;
if(uplimi<=0)
{
uplimi = 1;
}
dolimi = whereim(g_Cells,nCount,y[nIndex],'y')+1000;
if(dolimi>nCount)
{
dolimi = nCount;
}
zfawei = dolimi-uplimi+1;
g_CellsLimited = (TCell*)malloc(zfawei*sizeof(TCell));
juli = (double*)malloc(zfawei*sizeof(double));
copymesh(g_CellsLimited,g_Cells,uplimi,dolimi);
for(int i=1; i<=zfawei; i++)
{
juli[i] = (g_CellsLimited[i].x-x[nIndex])*(g_CellsLimited[i].x-x[nIndex])+(g_CellsLimited[i].y-y[nIndex])*(g_CellsLimited[i].y-y[nIndex])+(g_CellsLimited[i].z-z[nIndex])*(g_CellsLimited[i].z-z[nIndex]);
}
yemin = juli[1];
for(i=1; i<=zfawei; i++)
{
if(juli[i]<yemin)
{
yemin = juli[i];
}
}
for(i=1; i<=zfawei; i++)
{
if(fabs(juli[i]-yemin)<1.0e-6)
{
ruu = g_CellsLimited[i].vx - cx[nIndex];
rvv = g_CellsLimited[i].vy - cy[nIndex];
rww = g_CellsLimited[i].vz - cz[nIndex];
}
}
cd = 64;
sp=pi*diam[nIndex]*diam[nIndex]; //////////颗粒截面积
Fdx[nIndex] = cd*airro*fabs(ruu)*sp*ruu/2;
Fdy[nIndex] = cd*airro*fabs(rvv)*sp*rvv/2;
Fdz[nIndex] = cd*airro*fabs(rww)*sp*rww/2;
Fnsum[1][nIndex] = Fnsum[1][nIndex] + Fdx[nIndex];
Fnsum[2][nIndex] = Fnsum[2][nIndex] + Fdy[nIndex];
Fnsum[3][nIndex] = Fnsum[3][nIndex] + Fdz[nIndex];
cout<<Fnsum[1][nIndex]<<" "<<Fnsum[2][nIndex]<<" "<<Fnsum[3][nIndex]<<endl;
free(g_CellsLimited);
free(juli);
}