refactoring lbpm_color_simulator

This commit is contained in:
James E McClure
2015-06-24 16:57:25 -04:00
parent e0064e5240
commit ef9fddc25b

View File

@@ -356,9 +356,9 @@ int main(int argc, char **argv)
} }
sum=0; sum=0;
pore_vol = 0.0; pore_vol = 0.0;
for ( k=1;k<Nz-1;k++){ for ( k=0;k<Nz;k++){
for ( j=1;j<Ny-1;j++){ for ( j=0;j<Ny;j++){
for ( i=1;i<Nx-1;i++){ for ( i=0;i<Nx;i++){
n = k*Nx*Ny+j*Nx+i; n = k*Nx*Ny+j*Nx+i;
if (Averages.SDs(n) > 0.0){ if (Averages.SDs(n) > 0.0){
id[n] = 2; id[n] = 2;
@@ -371,19 +371,12 @@ int main(int argc, char **argv)
} }
} }
// Generate the residual NWP if (rank==0) printf("Initialize from segmented data: solid=0, NWP=1, WP=2 \n");
// if (BoundaryCondition==0 && InitialCondition==0 && rank==0) printf("Initializing with NWP saturation = %f \n",wp_saturation); sprintf(LocalRankFilename,"ID.%05i",rank);
// if (BoundaryCondition==0 && InitialCondition==0) GenerateResidual(id,Nx,Ny,Nz,wp_saturation); FILE *IDFILE = fopen(LocalRankFilename,"rb");
// if (InitialCondition == 2){ if (IDFILE==NULL) ERROR("Error opening file: %s\n",LocalRankFilename);
if (rank==0) printf("Initialize from segmented data: solid=0, NWP=1, WP=2 \n"); fread(id,1,N,IDFILE);
sprintf(LocalRankFilename,"ID.%05i",rank); fclose(IDFILE);
FILE *IDFILE = fopen(LocalRankFilename,"rb");
if (IDFILE==NULL) ERROR("Error opening file: ID.xxxxx");
fread(id,1,N,IDFILE);
fclose(IDFILE);
// CopyToDevice(ID, id, N);
// }
// Set up kstart, kfinish so that the reservoirs are excluded from averaging // Set up kstart, kfinish so that the reservoirs are excluded from averaging
int kstart,kfinish; int kstart,kfinish;
@@ -438,15 +431,6 @@ int main(int argc, char **argv)
id[(Nz-1)*Nx*Ny] = id[(Nz-1)*Nx*Ny+Nx-1] = id[(Nz-1)*Nx*Ny+(Ny-1)*Nx] = id[(Nz-1)*Nx*Ny+(Ny-1)*Nx + Nx-1] = 0; id[(Nz-1)*Nx*Ny] = id[(Nz-1)*Nx*Ny+Nx-1] = id[(Nz-1)*Nx*Ny+(Ny-1)*Nx] = id[(Nz-1)*Nx*Ny+(Ny-1)*Nx + Nx-1] = 0;
//......................................................... //.........................................................
/* // If positive phi_s is chosen, flip the ID for the wetting and non-wetting phase
if (phi_s > 0.0 && BoundaryCondition==0){
phi_s = -phi_s;
das = (phi_s+1.0)*0.5;
dbs = 1.0 - das;
if (rank == 0) printf("Resetting phi_s = %f, das = %f, dbs = %f \n", phi_s, das, dbs);
FlipID(id,Nx*Ny*Nz);
}
*/
// Initialize communication structures in averaging domain // Initialize communication structures in averaging domain
for (i=0; i<Dm.Nx*Dm.Ny*Dm.Nz; i++) Dm.id[i] = id[i]; for (i=0; i<Dm.Nx*Dm.Ny*Dm.Nz; i++) Dm.id[i] = id[i];
Dm.CommInit(MPI_COMM_WORLD); Dm.CommInit(MPI_COMM_WORLD);
@@ -980,7 +964,6 @@ int main(int argc, char **argv)
AllocateDeviceMemory((void **) &B_odd, 3*dist_mem_size); // Allocate device memory AllocateDeviceMemory((void **) &B_odd, 3*dist_mem_size); // Allocate device memory
//........................................................................... //...........................................................................
double *Phi,*Den; double *Phi,*Den;
// double *Copy;
double *ColorGrad, *Velocity, *Pressure, *dvcSignDist; double *ColorGrad, *Velocity, *Pressure, *dvcSignDist;
//........................................................................... //...........................................................................
AllocateDeviceMemory((void **) &Phi, dist_mem_size); AllocateDeviceMemory((void **) &Phi, dist_mem_size);
@@ -996,7 +979,6 @@ int main(int argc, char **argv)
cDistOdd = new double[9*N]; cDistOdd = new double[9*N];
//........................................................................... //...........................................................................
// Copy signed distance for device initialization // Copy signed distance for device initialization
CopyToDevice(dvcSignDist, Averages.SDs.get(), dist_mem_size); CopyToDevice(dvcSignDist, Averages.SDs.get(), dist_mem_size);
//........................................................................... //...........................................................................