confused
This commit is contained in:
parent
9f2840ccdc
commit
5299fd64ea
33
gpu/Color.cu
33
gpu/Color.cu
@ -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;
|
||||
//........................................................................
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -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];
|
||||
|
Loading…
Reference in New Issue
Block a user