This commit is contained in:
James E McClure 2015-07-04 16:34:39 -04:00
parent 9f2840ccdc
commit 5299fd64ea
2 changed files with 143 additions and 134 deletions

View File

@ -1115,7 +1115,7 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
ny = ColorGrad[N+n];
nz = ColorGrad[2*N+n];
C = sqrt(nx*nx+ny*ny+nz*nz);
if (C == 0.0) C=1.0;
if (C==0.0) C=1.0;
nx = nx/C;
ny = ny/C;
nz = nz/C;
@ -1146,9 +1146,24 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
nb = f0+f1+f2+f3+f4+f5+f6;
nab = 1.0/(na+nb);
//........................................................................
delta = beta*na*nb*nab*0.1111111111111111*nx;
if (na*nb*nab<0.0)) delta=0.0;
//....Instantiate the density distributions
// Generate Equilibrium Distributions and stream
// Stationary value - distribution 0
A_even[n] = 0.3333333333333333*na;
B_even[n] = 0.3333333333333333*nb;
// Non-Stationary equilibrium distributions
//feq[0] = 0.1111111111111111*(1+4.5*ux);
//feq[1] = 0.1111111111111111*(1-4.5*ux);
//feq[2] = 0.1111111111111111*(1+4.5*uy);
//feq[3] = 0.1111111111111111*(1-4.5*uy);
//feq[4] = 0.1111111111111111*(1+4.5*uz);
//feq[5] = 0.1111111111111111*(1-4.5*uz);
//...............................................
// q = 0,2,4
// Cq = {1,0,0}, {0,1,0}, {0,0,1}
delta = beta*na*nb*nab*0.1111111111111111*nx;
if (!(na*nb*nab>0)) delta=0;
a1 = na*(0.1111111111111111*(1+4.5*ux))+delta;
b1 = nb*(0.1111111111111111*(1+4.5*ux))-delta;
a2 = na*(0.1111111111111111*(1-4.5*ux))-delta;
@ -1158,13 +1173,11 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
A_even[N+n] = a2;
B_odd[n] = b1;
B_even[N+n] = b2;
//........................................................................
//...............................................
// q = 2
// Cq = {0,1,0}
delta = beta*na*nb*nab*0.1111111111111111*ny;
if (na*nb*nab<0.0)) delta=0.0;
if (!(na*nb*nab>0)) delta=0;
a1 = na*(0.1111111111111111*(1+4.5*uy))+delta;
b1 = nb*(0.1111111111111111*(1+4.5*uy))-delta;
a2 = na*(0.1111111111111111*(1-4.5*uy))-delta;
@ -1174,12 +1187,11 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
A_even[2*N+n] = a2;
B_odd[N+n] = b1;
B_even[2*N+n] = b2;
//........................................................................
//...............................................
// q = 4
// Cq = {0,0,1}
delta = beta*na*nb*nab*0.1111111111111111*nz;
if (na*nb*nab<0.0)) delta=0.0;
if (!(na*nb*nab>0)) delta=0;
a1 = na*(0.1111111111111111*(1+4.5*uz))+delta;
b1 = nb*(0.1111111111111111*(1+4.5*uz))-delta;
a2 = na*(0.1111111111111111*(1-4.5*uz))-delta;
@ -1189,7 +1201,6 @@ __global__ void dvc_MassColorCollideD3Q7(char *ID, double *A_even, double *A_od
A_even[3*N+n] = a2;
B_odd[2*N+n] = b1;
B_even[3*N+n] = b2;
//........................................................................
}
}

View File

@ -141,7 +141,6 @@ __global__ void dvc_SwapD3Q7(char *ID, double *disteven, double *distodd, int N
if (!(f4 < 0.0)){
distodd[N+n] = f4;
disteven[2*N+nn] = f3;
// }
}
//........................................................................
nn = n+Nx*Ny; // neighbor index (pull convention)
@ -151,7 +150,6 @@ __global__ void dvc_SwapD3Q7(char *ID, double *disteven, double *distodd, int N
if (!(f6 < 0.0)){
distodd[2*N+n] = f6;
disteven[3*N+nn] = f5;
// }
}
}
}
@ -173,7 +171,7 @@ __global__ void dvc_ComputeDensityD3Q7(char *ID, double *disteven, double *dist
n = S*blockIdx.x*blockDim.x + s*blockDim.x + threadIdx.x;
if (n<N){
id = ID[n];
if ( id > 0 ){
if (id > 0 ){
// Read the distributions
f0 = disteven[n];
f2 = disteven[N+n];