Hi guys,
I got a problem during the calculation of drag coefficient of a circular cylinder as in the example problem of Cylinder2D.
For Re=100, the computation yields drag coefficient Cd = 12.5 (Cd = Fd/ u \rho^2 r). I cannot find out what wrong with my codes. For each boundary lattice nodes, I first sum up all distribution functions which are non zero as follows,
T Fd = T();
typedef descriptors::D2Q9DescriptorBase<T> L;
if (grid[iX][iY][0]==0){
for (int iPop=1; iPop<=8; ++iPop) {
if ( grid[iX][iY][iPop] != 0 ){
int nextX = iX + L::c[iPop][0];
int nextY = iY + L::c[iPop][1];
if (iPop>4)
Fd -= ( ( grid[iX][iY][iPop] + grid[nextX][nextY][iPop-4] ) * L::c[iPop][0] );
else
Fd -= ( ( grid[iX][iY][iPop] + grid[nextX][nextY][iPop+4] ) * L::c[iPop][0] );
}
Then, I sum up all the Fds on boundary nodes, and divided by (\rho u^2 r). As in the example, rho = 1, u = 0.02, r = 7.
The final Cd is approximately 12 which is apparently wrong. can anybody here give me a help plealse? Thank you.