Trying to resolve difference between solution of CPU and GPU color model

This commit is contained in:
James McClure 2015-07-03 18:44:55 -04:00
parent 91e53327a6
commit 16aa6838cc
3 changed files with 12 additions and 12 deletions

View File

@ -1177,7 +1177,7 @@ extern "C" void MassColorCollideD3Q7(char *ID, double *A_even, double *A_odd, do
b1 = nb*(0.1111111111111111*(1+4.5*ux));
a2 = na*(0.1111111111111111*(1-4.5*ux));
b2 = nb*(0.1111111111111111*(1-4.5*ux));
if (C > 0.0){
if (na*nb > 0.0){
delta = na*nb/(na+nb)*0.1111111111111111*nx;
a1 += beta*delta;
a2 -= beta*delta;
@ -1195,7 +1195,7 @@ extern "C" void MassColorCollideD3Q7(char *ID, double *A_even, double *A_odd, do
b1 = nb*(0.1111111111111111*(1+4.5*uy));
a2 = na*(0.1111111111111111*(1-4.5*uy));
b2 = nb*(0.1111111111111111*(1-4.5*uy));
if (C > 0.0){
if (na*nb > 0.0){
delta = na*nb/(na+nb)*0.1111111111111111*ny;
a1 += beta*delta;
a2 -= beta*delta;
@ -1213,7 +1213,7 @@ extern "C" void MassColorCollideD3Q7(char *ID, double *A_even, double *A_odd, do
b1 = nb*(0.1111111111111111*(1+4.5*uz));
a2 = na*(0.1111111111111111*(1-4.5*uz));
b2 = nb*(0.1111111111111111*(1-4.5*uz));
if (C > 0.0){
if (na*nb > 0.0){
delta = na*nb/(na+nb)*0.1111111111111111*nz;
a1 += beta*delta;
a2 -= beta*delta;

View File

@ -16,8 +16,8 @@ __global__ void dvc_InitDenColor(char *ID, double *Den, double *Phi, double das
n = S*blockIdx.x*blockDim.x + s*blockDim.x + threadIdx.x;
if (n<N){
id=ID[n];
//.......Back out the 3-D indices for node n..............
id=ID[n];
//.......Back out the 3-D indices for node n..............
//k = n/(Nx*Ny);
//j = (n-Nx*Ny*k)/Nx;
//i = n-Nx*Ny*k-Nx*j;
@ -1108,7 +1108,7 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
if (n<N)
id = ID[n];
if ( id > 0){
if ( id != 0){
//.....Load the Color gradient.........
nx = ColorGrad[n];
@ -1165,7 +1165,7 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
b1 = nb*(0.1111111111111111*(1+4.5*ux));
a2 = na*(0.1111111111111111*(1-4.5*ux));
b2 = nb*(0.1111111111111111*(1-4.5*ux));
if (C > 0.0){
if (na*nb > 0.0){
delta = na*nb/(na+nb)*0.1111111111111111*nx;
a1 += beta*delta;
a2 -= beta*delta;
@ -1183,7 +1183,7 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
b1 = nb*(0.1111111111111111*(1+4.5*uy));
a2 = na*(0.1111111111111111*(1-4.5*uy));
b2 = nb*(0.1111111111111111*(1-4.5*uy));
if (C > 0.0){
if (na*nb > 0.0){
delta = na*nb/(na+nb)*0.1111111111111111*ny;
a1 += beta*delta;
a2 -= beta*delta;
@ -1201,7 +1201,7 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
b1 = nb*(0.1111111111111111*(1+4.5*uz));
a2 = na*(0.1111111111111111*(1-4.5*uz));
b2 = nb*(0.1111111111111111*(1-4.5*uz));
if (C > 0.0){
if (na*nb > 0.0){
delta = na*nb/(na+nb)*0.1111111111111111*nz;
a1 += beta*delta;
a2 -= beta*delta;

View File

@ -128,7 +128,7 @@ __global__ void dvc_SwapD3Q7(char *ID, double *disteven, double *distodd, int N
if (!(i+1<Nx)) nn -= Nx; // periodic BC along the x-boundary
//if (i+1<Nx){
f2 = disteven[N+nn]; // pull neighbor for distribution 2
if (f2 > 0.0){
if (!(f2 < 0.0)){
distodd[n] = f2;
disteven[N+nn] = f1;
}
@ -138,7 +138,7 @@ __global__ void dvc_SwapD3Q7(char *ID, double *disteven, double *distodd, int N
if (!(j+1<Ny)) nn -= Nx*Ny; // Perioidic BC along the y-boundary
//if (j+1<Ny){
f4 = disteven[2*N+nn]; // pull neighbor for distribution 4
if (f4 > 0.0){
if (!(f4 < 0.0)){
distodd[N+n] = f4;
disteven[2*N+nn] = f3;
// }
@ -148,7 +148,7 @@ __global__ void dvc_SwapD3Q7(char *ID, double *disteven, double *distodd, int N
if (!(k+1<Nz)) nn -= Nx*Ny*Nz; // Perioidic BC along the z-boundary
//if (k+1<Nz){
f6 = disteven[3*N+nn]; // pull neighbor for distribution 6
if (f6 > 0.0){
if (!(f6 < 0.0)){
distodd[2*N+n] = f6;
disteven[3*N+nn] = f5;
// }