From 7bc2f4f6bf43713761c5bdfe389257723957a53c Mon Sep 17 00:00:00 2001 From: James E McClure Date: Wed, 8 Jul 2015 15:24:37 -0400 Subject: [PATCH 01/17] Added MPI version of lbpm_random_pp so that arbitrary size blobs are possible --- tests/lbpm_random_pp.cpp | 180 ++++++++++++++++++++++++++++++++------- 1 file changed, 149 insertions(+), 31 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 52b4f8f1..fdf70eb4 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -56,39 +56,53 @@ inline void GenerateResidual(char *ID, int Nx, int Ny, int Nz, double Saturation float sat = 0.f; Number = 0; // number of features while (sat < Saturation){ - Number++; - // Randomly generate a point in the domain - x = Nx*float(rand())/float(RAND_MAX); - y = Ny*float(rand())/float(RAND_MAX); - z = Nz*float(rand())/float(RAND_MAX); + if (rank==0){ + Number++; + // Randomly generate a point in the domain + x = (Nx-2)*nprocx*float(rand())/float(RAND_MAX); + y = (Ny-2)*nprocy*float(rand())/float(RAND_MAX); + z = (Nz-2)*nprocz*float(rand())/float(RAND_MAX); - bin = int(floor(binCount*float(rand())/float(RAND_MAX))); - sizeX = SizeX[bin]; - sizeY = SizeY[bin]; - sizeZ = SizeZ[bin]; + bin = int(floor(binCount*float(rand())/float(RAND_MAX))); + sizeX = SizeX[bin]; + sizeY = SizeY[bin]; + sizeZ = SizeZ[bin]; + } + MPI_Bcast(&x,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&y,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&z,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&sizeX,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&sizeY,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); -// cout << "Sampling from bin no. " << floor(bin) << endl; -// cout << "Feature size is: " << sizeX << "x" << sizeY << "x" << sizeZ << endl; + if (x+sizeX < (iproc+1)*(Nx-2) && y+sizeY < (jproc+1)*(Ny-2) && z+sizeZ < (kproc+1)*(Nz-2) && + x-sizeX > iproc*(Nx-2) && y-sizeY > jproc*(Nz-2) && z-sizeZ > kproc*(Nz-2) ){ - for (k=z;k> binCount; +// printf("Number of blob sizes: %i \n",binCount); + SizeX = new int [binCount]; + SizeY = new int [binCount]; + SizeZ = new int [binCount]; + for (bin=0; bin> SizeX[bin]; + Dist >> SizeY[bin]; + Dist >> SizeZ[bin]; + // printf("Blob %i dimension: %i x %i x %i \n",bin, SizeX[bin], SizeY[bin], SizeZ[bin]); + } + Dist.close(); // Generate the residual NWP if (rank==0) printf("Initializing with NWP saturation = %f \n",Saturation); - GenerateResidual(id,nx,ny,nz,Saturation); + // GenerateResidual(id,nx,ny,nz,Saturation); + + int x,y,z,bin; + int sizeX,sizeY,sizeZ; + float sat = 0.f; + Number = 0; // number of features + while (sat < Saturation){ + if (rank==0){ + Number++; + // Randomly generate a point in the domain + x = (Nx-2)*nprocx*float(rand())/float(RAND_MAX); + y = (Ny-2)*nprocy*float(rand())/float(RAND_MAX); + z = (Nz-2)*nprocz*float(rand())/float(RAND_MAX); + + bin = int(floor(binCount*float(rand())/float(RAND_MAX))); + sizeX = SizeX[bin]; + sizeY = SizeY[bin]; + sizeZ = SizeZ[bin]; + } + MPI_Bcast(&x,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&y,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&z,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&sizeX,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&sizeY,1,MPI_INT,0,MPI_COMM_WORLD); + MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); + + if (x+sizeX < (iproc+1)*(Nx-2) && y+sizeY < (jproc+1)*(Ny-2) && z+sizeZ < (kproc+1)*(Nz-2) && + x-sizeX > iproc*(Nx-2) && y-sizeY > jproc*(Nz-2) && z-sizeZ > kproc*(Nz-2) ){ + + x -= iproc*(Nx-2); + y -= jproc*(Ny-2); + z -= kproc*(Nz-2); + + for (k=z;k Date: Wed, 8 Jul 2015 15:29:35 -0400 Subject: [PATCH 02/17] Added MPI version of lbpm_random_pp so that arbitrary size blobs are possible --- tests/lbpm_random_pp.cpp | 108 ++------------------------------------- 1 file changed, 5 insertions(+), 103 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index fdf70eb4..4f315435 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -12,107 +12,6 @@ #include #include -inline void GenerateResidual(char *ID, int Nx, int Ny, int Nz, double Saturation) -{ - //....................................................................... - int i,j,k,n,Number,N; - int x,y,z,ii,jj,kk; - int sizeX,sizeY,sizeZ; - int *SizeX, *SizeY, *SizeZ; - -#ifdef NORANDOM - srand(10009); -#else - srand(time(NULL)); -#endif -// float bin; - //....................................................................... - N = Nx*Ny*Nz; - - int bin, binCount; - ifstream Dist("BlobSize.in"); - Dist >> binCount; -// printf("Number of blob sizes: %i \n",binCount); - SizeX = new int [binCount]; - SizeY = new int [binCount]; - SizeZ = new int [binCount]; - for (bin=0; bin> SizeX[bin]; - Dist >> SizeY[bin]; - Dist >> SizeZ[bin]; - // printf("Blob %i dimension: %i x %i x %i \n",bin, SizeX[bin], SizeY[bin], SizeZ[bin]); - } - Dist.close(); - //....................................................................... -// cout << "Generating blocks... " << endl; - // Count for the total number of oil nodes - int count = 0; - // Count the total number of non-solid nodes - int total = 0; - for (i=0;i iproc*(Nx-2) && y-sizeY > jproc*(Nz-2) && z-sizeZ > kproc*(Nz-2) ){ - - x -= iproc*(Nx-2); - y -= jproc*(Ny-2); - z -= kproc*(Nz-2); - - for (k=z;k Date: Wed, 8 Jul 2015 15:32:10 -0400 Subject: [PATCH 03/17] fix compile for lbpm_random_pp --- tests/lbpm_random_pp.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 4f315435..462bf90b 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -135,6 +135,7 @@ int main(int argc, char **argv) int bin, binCount; ifstream Dist("BlobSize.in"); Dist >> binCount; + int *SizeX, *SizeY, *SizeZ; // printf("Number of blob sizes: %i \n",binCount); SizeX = new int [binCount]; SizeY = new int [binCount]; @@ -202,8 +203,8 @@ int main(int argc, char **argv) n = kk*Nx*Ny+jj*Nx+ii; - if (ID[n] == 2){ - ID[n] = 1; + if (id[n] == 2){ + id[n] = 1; //count++; } @@ -215,7 +216,7 @@ int main(int argc, char **argv) for (int k=0; k Date: Wed, 8 Jul 2015 15:32:39 -0400 Subject: [PATCH 04/17] fix compile for lbpm_random_pp --- tests/lbpm_random_pp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 462bf90b..54c8dd2c 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -159,7 +159,7 @@ int main(int argc, char **argv) int Ny = ny; int Nz = nz; float sat = 0.f; - Number = 0; // number of features + int Number = 0; // number of features while (sat < Saturation){ if (rank==0){ Number++; From 62a7e9b9c4a9c7db265b8a7bf05552025cf1b9b6 Mon Sep 17 00:00:00 2001 From: James McClure Date: Wed, 8 Jul 2015 16:04:58 -0400 Subject: [PATCH 05/17] debugging lpbm_random_pp --- tests/lbpm_random_pp.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 54c8dd2c..4a767950 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -180,8 +180,9 @@ int main(int argc, char **argv) MPI_Bcast(&sizeY,1,MPI_INT,0,MPI_COMM_WORLD); MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); - if (x+sizeX < (iproc+1)*(Nx-2) && y+sizeY < (jproc+1)*(Ny-2) && z+sizeZ < (kproc+1)*(Nz-2) && - x-sizeX > iproc*(Nx-2) && y-sizeY > jproc*(Nz-2) && z-sizeZ > kproc*(Nz-2) ){ + if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); + if (x-sizeX < (iproc+1)*(Nx-2) && y-sizeX < (jproc+1)*(Ny-2) && z-sizeX < (kproc+1)*(Nz-2) && + x+sizeX > iproc*(Nx-2) && y+sizeY > jproc*(Ny-2) && z+sizeZ > kproc*(Nz-2) ){ x -= iproc*(Nx-2); y -= jproc*(Ny-2); @@ -224,7 +225,8 @@ int main(int argc, char **argv) } MPI_Allreduce(&count,&countGlobal,1,MPI_INT,MPI_SUM,MPI_COMM_WORLD); sat = float(countGlobal)/totalGlobal; - + if (rank==0) printf("New count=%i\n",countGlobal); + if (rank==0) printf("New saturation=%f\n",sat); } if (InitialWetting == 1) FlipID(id,nx*ny*nz); From 7d3e600417d404c5855bf36d20e9d5d3f83d9549 Mon Sep 17 00:00:00 2001 From: James E McClure Date: Wed, 8 Jul 2015 16:12:14 -0400 Subject: [PATCH 06/17] debugging lbpm_random_pp --- tests/lbpm_random_pp.cpp | 50 +++++++++++++++++++++------------------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 4a767950..d9fbfca3 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -181,26 +181,28 @@ int main(int argc, char **argv) MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); - if (x-sizeX < (iproc+1)*(Nx-2) && y-sizeX < (jproc+1)*(Ny-2) && z-sizeX < (kproc+1)*(Nz-2) && - x+sizeX > iproc*(Nx-2) && y+sizeY > jproc*(Ny-2) && z+sizeZ > kproc*(Nz-2) ){ - x -= iproc*(Nx-2); - y -= jproc*(Ny-2); - z -= kproc*(Nz-2); + for (k=z;knprocx*(Nx-2)) ii-=nprocx*(Nx-2); + if (jj>nprocy*(Ny-2)) jj-=nprocy*(Ny-2); + if (kk>nprocz*(Nz-2)) kk-=nprocz*(Nz-2); + + // Check if this is in the subdomain + if (ii < (iproc+1)*(Nx-2) && jj < (jproc+1)*(Ny-2) && kk < (kproc+1)*(Nz-2) && + ii > iproc*(Nx-2) && jj > jproc*(Ny-2) && kk > kproc*(Nz-2) ){ + + // Map from global to local coordinates + ii -= iproc*(Nx-2); + jj -= jproc*(Ny-2); + kk -= kproc*(Nz-2); n = kk*Nx*Ny+jj*Nx+ii; @@ -214,15 +216,15 @@ int main(int argc, char **argv) } } count = 0; - for (int k=0; k Date: Wed, 8 Jul 2015 16:15:09 -0400 Subject: [PATCH 07/17] Parallel version of lbpm_random_pp now available --- tests/lbpm_random_pp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index d9fbfca3..ad48a734 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -180,7 +180,7 @@ int main(int argc, char **argv) MPI_Bcast(&sizeY,1,MPI_INT,0,MPI_COMM_WORLD); MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); - if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); + //if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); for (k=z;k Date: Wed, 8 Jul 2015 16:20:04 -0400 Subject: [PATCH 08/17] lbpm_random_pp reports the final saturation --- tests/lbpm_random_pp.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index ad48a734..3b6697a5 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -233,6 +233,21 @@ int main(int argc, char **argv) if (InitialWetting == 1) FlipID(id,nx*ny*nz); + + count = 0; + for (int k=0; k Date: Thu, 9 Jul 2015 11:28:40 -0400 Subject: [PATCH 09/17] Fixing compile errors when compiling without MPI --- README.visit | 7 +++---- common/MPI_Helpers.cpp | 33 +++++++++++++++++++++++++++++++++ common/MPI_Helpers.h | 16 ++++++++++++++-- tests/lbpm_disc_pp.cpp | 3 ++- 4 files changed, 52 insertions(+), 7 deletions(-) diff --git a/README.visit b/README.visit index 22e59e04..e455be77 100644 --- a/README.visit +++ b/README.visit @@ -4,9 +4,9 @@ Checkout code and create a cmake script to compile plug-in. Example commands for Rhea: Load the proper modules - module load visit - module load cmake + module unload intel gcc module load gcc/4.8.2 + module load cmake Configure cmake to build the plug-in cmake \ @@ -16,12 +16,11 @@ Configure cmake to build the plug-in -D USE_MPI=false \ -D USE_CUDA=false \ -D USE_VISIT=true \ - -D VISIT_ROOT_DIR=/sw/rhea/visit \ + -D VISIT_ROOT_DIR=/sw/rhea/visit/2.9.0/linux-x86_64 \ -D USE_TIMER=false \ ../../LBPM-WIA - Build the visit plug-in make visit diff --git a/common/MPI_Helpers.cpp b/common/MPI_Helpers.cpp index c2c2c702..23978cba 100644 --- a/common/MPI_Helpers.cpp +++ b/common/MPI_Helpers.cpp @@ -162,11 +162,27 @@ int MPI_Waitall( int, MPI_Request[], MPI_Status[] ) { return 0; } +int MPI_Wait( MPI_Request*, MPI_Status* ) +{ + return 0; +} int MPI_Bcast( void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm ) { ERROR("Not implimented yet"); return 0; } +int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm) +{ + ERROR("Not implimented yet"); + return 0; +} +int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status *status) +{ + ERROR("Not implimented yet"); + return 0; +} int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) { @@ -185,6 +201,13 @@ int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, ERROR("Not implimented yet"); return 0; } +int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm) +{ + ERROR("Not implimented yet"); + return 0; +} int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, @@ -194,6 +217,16 @@ int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, ERROR("Not implimented yet"); return 0; } +int MPI_Comm_group(MPI_Comm comm, MPI_Group *group) +{ + ERROR("Not implimented yet"); + return 0; +} +int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm) +{ + ERROR("Not implimented yet"); + return 0; +} double MPI_Wtime( void ) { return 0.0; diff --git a/common/MPI_Helpers.h b/common/MPI_Helpers.h index fa386b2d..14752bcd 100644 --- a/common/MPI_Helpers.h +++ b/common/MPI_Helpers.h @@ -18,28 +18,40 @@ #define MPI_COMM_WORLD 0 #define MPI_COMM_SELF 0 #define MPI_STATUS_IGNORE NULL - enum MPI_Datatype { MPI_LOGICAL, MPI_CHAR, MPI_INT, MPI_DOUBLE }; - enum MPI_Op { MPI_SUM }; + enum MPI_Datatype { MPI_LOGICAL, MPI_CHAR, MPI_UNSIGNED_CHAR, MPI_INT, + MPI_UNSIGNED, MPI_LONG, MPI_UNSIGNED_LONG, MPI_LONG_LONG, MPI_FLOAT, MPI_DOUBLE }; + enum MPI_Op { MPI_MIN, MPI_MAX, MPI_SUM }; + enum MPI_Group { }; // Fake MPI functions int MPI_Init(int*,char***); int MPI_Finalize(); int MPI_Comm_size( MPI_Comm, int *size ); int MPI_Comm_rank( MPI_Comm, int *rank ); int MPI_Barrier(MPI_Comm); + int MPI_Wait(MPI_Request*,MPI_Status*); int MPI_Waitall(int,MPI_Request[],MPI_Status[]); int MPI_Bcast(void*,int,MPI_Datatype,int,MPI_Comm); + int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, + MPI_Comm comm); + int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, int tag, + MPI_Comm comm, MPI_Status *status); int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request); int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request); int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); + int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, + void *recvbuf, int recvcount, MPI_Datatype recvtype, + MPI_Comm comm); int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status); double MPI_Wtime( void ); + int MPI_Comm_group(MPI_Comm comm, MPI_Group *group); + int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); #endif diff --git a/tests/lbpm_disc_pp.cpp b/tests/lbpm_disc_pp.cpp index cf18b633..afd54222 100644 --- a/tests/lbpm_disc_pp.cpp +++ b/tests/lbpm_disc_pp.cpp @@ -5,12 +5,13 @@ #include #include #include -#include #include "pmmc.h" #include "Domain.h" #include "Extras.h" #include "Communication.h" +#include "MPI_Helpers.h" // This includes mpi.h + /* * Pre-Processor to generate signed distance function from disc packing From 9bd945db95e1b3c70412e59bc6f389676bdbf0e7 Mon Sep 17 00:00:00 2001 From: Mark Berrill Date: Thu, 9 Jul 2015 11:59:36 -0400 Subject: [PATCH 10/17] Updating visit documentation --- README.visit | 9 ++++++--- cmake/FindVisIt.cmake | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.visit b/README.visit index e455be77..890ad605 100644 --- a/README.visit +++ b/README.visit @@ -8,6 +8,7 @@ Load the proper modules module load gcc/4.8.2 module load cmake + Configure cmake to build the plug-in cmake \ -D CMAKE_BUILD_TYPE:STRING=Release \ @@ -16,19 +17,21 @@ Configure cmake to build the plug-in -D USE_MPI=false \ -D USE_CUDA=false \ -D USE_VISIT=true \ - -D VISIT_ROOT_DIR=/sw/rhea/visit/2.9.0/linux-x86_64 \ + -D VISIT_ROOT_DIR=/sw/redhat6/visit \ -D USE_TIMER=false \ ../../LBPM-WIA Build the visit plug-in + make install -j 8 make visit -Check that the visit plug-in installed in ~/.visit/2.7.1/linux-x86_64/plugins/databases +Check that the visit plug-in installed in ~/.visit/2.9.0/linux-x86_64/plugins/databases +where 2.9.0 is the current version of visit on rhea It should have created several shared libraries: libELBMDatabase_par.so libELBMDatabase_ser.so libILBMDatabase.so libMLBMDatabase.so -Install visit on local machine (2.7.3) +Install visit on local machine (2.9.0) Start visit on local machine diff --git a/cmake/FindVisIt.cmake b/cmake/FindVisIt.cmake index fdd7bd4b..3c1dfd4d 100644 --- a/cmake/FindVisIt.cmake +++ b/cmake/FindVisIt.cmake @@ -45,7 +45,7 @@ MACRO( VISIT_PLUGIN SRC_DIR TARGET ) ENDFOREACH() ADD_CUSTOM_TARGET( ${SRC_DIR} - COMMAND ${VISIT_XML_CMAKE} ${TARGET}.xml + COMMAND ${VISIT_XML_CMAKE} -clobber ${TARGET}.xml COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} . From bdcd2619fdaadd623fe770542ad7a011b2d8ec12 Mon Sep 17 00:00:00 2001 From: James E McClure Date: Thu, 9 Jul 2015 20:31:27 -0400 Subject: [PATCH 11/17] Added depth to lbpm_disc_pp as command line argument --- tests/lbpm_disc_pp.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/lbpm_disc_pp.cpp b/tests/lbpm_disc_pp.cpp index 1364a9f0..80ffb22f 100644 --- a/tests/lbpm_disc_pp.cpp +++ b/tests/lbpm_disc_pp.cpp @@ -151,6 +151,8 @@ int main(int argc, char **argv) MPI_Request req1[18],req2[18]; MPI_Status stat1[18],stat2[18]; + int depth; + if (rank == 0){ printf("********************************************************\n"); printf("Running Disc Packing Pre-Processor for LBPM-WIA \n"); @@ -200,8 +202,10 @@ int main(int argc, char **argv) MPI_Bcast(&Lz,1,MPI_DOUBLE,0,MPI_COMM_WORLD); //................................................. MPI_Barrier(MPI_COMM_WORLD); - + // ************************************************************** + if (argc > 1) depth=atoi(argv[1]); + else depth=Nz; if (nprocs != nprocx*nprocy*nprocz){ printf("nprocx = %i \n",nprocx); @@ -227,6 +231,7 @@ int main(int argc, char **argv) printf("Process grid = %ix%ix%i \n", nprocx,nprocy,nprocz); printf("Sub-domain size = %ix%ix%i \n", Nx,Ny,Nz); printf("Physical domain size = %fx%fx%f \n",Lx,Ly,Lz); + printf("Micromodel depth = %i voxels" depth); } @@ -284,6 +289,7 @@ int main(int argc, char **argv) printf("************ \n"); } + if (nprocz > 1 && rank==0) printf("Disc packs are 2D -- are you sure you want nprocz > 1? \n"); //....................................................................... SignedDistanceDiscPack(SignDist.get(),ndiscs,cx,cy,rad,Lx,Ly,Lz,Nx,Ny,Nz, iproc,jproc,kproc,nprocx,nprocy,nprocz); @@ -300,6 +306,11 @@ int main(int argc, char **argv) // Assign the Signed Distance where valid if (dst < SignDist(i,j,k)) SignDist(i,j,k) = dst; + // Assign the micromodel depth + dst = 1.0*(k-2); + if (1.0*(depth+2-k) < dst) dst = 1.0*(depth+2-k); + if (dst < SignDist(i,j,k)) SignDist(i,j,k) = dst; + n = k*Nx*Ny+j*Nx+i; id[n] = 0; } From 6e3bde21fb9ede30069b5d724298071822f676e3 Mon Sep 17 00:00:00 2001 From: James E McClure Date: Thu, 9 Jul 2015 20:37:24 -0400 Subject: [PATCH 12/17] fix typo --- tests/lbpm_disc_pp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lbpm_disc_pp.cpp b/tests/lbpm_disc_pp.cpp index b248a334..bbc84a07 100644 --- a/tests/lbpm_disc_pp.cpp +++ b/tests/lbpm_disc_pp.cpp @@ -232,7 +232,7 @@ int main(int argc, char **argv) printf("Process grid = %ix%ix%i \n", nprocx,nprocy,nprocz); printf("Sub-domain size = %ix%ix%i \n", Nx,Ny,Nz); printf("Physical domain size = %fx%fx%f \n",Lx,Ly,Lz); - printf("Micromodel depth = %i voxels" depth); + printf("Micromodel depth = %i voxels",depth); } From dd46521bf7ff6f410248a70929f1c0a2d838e05d Mon Sep 17 00:00:00 2001 From: James E McClure Date: Thu, 9 Jul 2015 22:05:39 -0400 Subject: [PATCH 13/17] edit lbpm_disc_pp --- tests/lbpm_disc_pp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/lbpm_disc_pp.cpp b/tests/lbpm_disc_pp.cpp index bbc84a07..9874a1b5 100644 --- a/tests/lbpm_disc_pp.cpp +++ b/tests/lbpm_disc_pp.cpp @@ -310,7 +310,7 @@ int main(int argc, char **argv) // Assign the micromodel depth dst = 1.0*(k-2); if (1.0*(depth+2-k) < dst) dst = 1.0*(depth+2-k); - if (dst < SignDist(i,j,k)) SignDist(i,j,k) = dst; + if (dst < SignDist(i,j,k)) SignDist(i,j,k) = dst; n = k*Nx*Ny+j*Nx+i; id[n] = 0; From e30966d91dd6c80df30a2b8438449ee7a7b00ec7 Mon Sep 17 00:00:00 2001 From: James E McClure Date: Thu, 9 Jul 2015 22:25:23 -0400 Subject: [PATCH 14/17] fixed the depth in lbpm_disc_pp --- tests/lbpm_disc_pp.cpp | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/tests/lbpm_disc_pp.cpp b/tests/lbpm_disc_pp.cpp index 9874a1b5..59a43356 100644 --- a/tests/lbpm_disc_pp.cpp +++ b/tests/lbpm_disc_pp.cpp @@ -300,17 +300,19 @@ int main(int argc, char **argv) for (k=0;k Date: Fri, 10 Jul 2015 10:38:57 -0400 Subject: [PATCH 15/17] lbpm_random_pp seems to work on hokiespeed --- tests/lbpm_random_pp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 3b6697a5..398f5a68 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -180,7 +180,7 @@ int main(int argc, char **argv) MPI_Bcast(&sizeY,1,MPI_INT,0,MPI_COMM_WORLD); MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); - //if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); + if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); for (k=z;k Date: Fri, 10 Jul 2015 10:43:08 -0400 Subject: [PATCH 16/17] Revert "lbpm_random_pp seems to work on hokiespeed" This reverts commit e2953090ee1b51dde975a706c02f375603a8bd10. --- tests/lbpm_random_pp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/lbpm_random_pp.cpp b/tests/lbpm_random_pp.cpp index 398f5a68..3b6697a5 100644 --- a/tests/lbpm_random_pp.cpp +++ b/tests/lbpm_random_pp.cpp @@ -180,7 +180,7 @@ int main(int argc, char **argv) MPI_Bcast(&sizeY,1,MPI_INT,0,MPI_COMM_WORLD); MPI_Bcast(&sizeZ,1,MPI_INT,0,MPI_COMM_WORLD); - if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); + //if (rank==0) printf("Broadcast block at %i,%i,%i \n",x,y,z); for (k=z;k Date: Fri, 10 Jul 2015 10:43:46 -0400 Subject: [PATCH 17/17] updateing lbpm_disc_pp --- tests/lbpm_disc_pp.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/tests/lbpm_disc_pp.cpp b/tests/lbpm_disc_pp.cpp index 59a43356..50a1e8cb 100644 --- a/tests/lbpm_disc_pp.cpp +++ b/tests/lbpm_disc_pp.cpp @@ -312,8 +312,6 @@ int main(int argc, char **argv) // Assign the Signed Distance where valid if (dst < SignDist(i,j,k)) SignDist(i,j,k) = dst; - - n = k*Nx*Ny+j*Nx+i; id[n] = 0; }