Updating macros.cmake to be consistent with other projects, fixing resulting compile errors

This commit is contained in:
Mark Berrill
2015-08-21 16:56:43 -04:00
parent ae11d108ae
commit 4f6bceffc8
35 changed files with 1037 additions and 330 deletions

View File

@@ -6,10 +6,10 @@
#include <stdexcept>
#include <fstream>
#include "pmmc.h"
#include "ScaLBL.h"
#include "common/pmmc.h"
#include "common/ScaLBL.h"
#include "common/MPI_Helpers.h"
#include "Communication.h"
#include "common/Communication.h"
//#define CBUB
//#define WRITE_SURFACES
@@ -123,14 +123,13 @@ int main(int argc, char **argv)
// Variables that specify the computational domain
string FILENAME;
unsigned int nBlocks, nthreads;
int Nx,Ny,Nz; // local sub-domain size
int nspheres; // number of spheres in the packing
double Lx,Ly,Lz; // Domain length
double D = 1.0; // reference length for non-dimensionalization
// Color Model parameters
int timestepMax, interval;
double tau,Fx,Fy,Fz,tol,err;
double tau,Fx,Fy,Fz,tol;
double alpha, beta;
double das, dbs, phi_s;
double din,dout;
@@ -146,8 +145,6 @@ int main(int argc, char **argv)
int SimCount; // Number of simulations is 2 x SimCount
double SimDelta; // Percent differenc between force pairs
int RESTART_INTERVAL=20000;
if (rank==0){
//.............................................................
// READ SIMULATION PARMAETERS FROM INPUT FILE
@@ -232,7 +229,8 @@ int main(int argc, char **argv)
//.................................................
MPI_Barrier(MPI_COMM_WORLD);
RESTART_INTERVAL=interval;
//int RESTART_INTERVAL=interval;
// **************************************************************
// **************************************************************
double Ps = -(das-dbs)/(das+dbs);
@@ -1462,7 +1460,6 @@ int main(int argc, char **argv)
}
}
err = 1.0;
sat_w_previous = 1.01; // slightly impossible value!
if (rank==0) printf("Begin timesteps: error tolerance is %f \n", tol);
for (int SimNumber=0; SimNumber < 2*SimCount; SimNumber++){

View File

@@ -1,21 +1,21 @@
# Copy files for the tests
INSTALL_LBPM_EXE( lb2_Color_wia_mpi )
INSTALL_LBPM_EXE( lbpm_permeability_simulator )
INSTALL_LBPM_EXE( lbpm_color_simulator )
INSTALL_LBPM_EXE( lbpm_sphere_pp )
INSTALL_LBPM_EXE( lbpm_random_pp )
INSTALL_LBPM_EXE( lbpm_segmented_pp )
INSTALL_LBPM_EXE( lbpm_segmented_decomp )
INSTALL_LBPM_EXE( lbpm_disc_pp )
INSTALL_LBPM_EXE( lbpm_captube_pp )
INSTALL_LBPM_EXE( lbpm_BlobAnalysis )
INSTALL_LBPM_EXE( TestBubble )
INSTALL_LBPM_EXE( BasicSimulator )
INSTALL_LBPM_EXE( ComponentLabel )
INSTALL_LBPM_EXE( BlobAnalysis )
INSTALL_LBPM_EXE( BlobIdentify )
INSTALL_LBPM_EXE( BlobIdentifyParallel )
#INSTALL_LBPM_EXE( BlobAnalyzeParallel )
ADD_LBPM_EXECUTABLE( lb2_Color_wia_mpi )
ADD_LBPM_EXECUTABLE( lbpm_permeability_simulator )
ADD_LBPM_EXECUTABLE( lbpm_color_simulator )
ADD_LBPM_EXECUTABLE( lbpm_sphere_pp )
ADD_LBPM_EXECUTABLE( lbpm_random_pp )
ADD_LBPM_EXECUTABLE( lbpm_segmented_pp )
ADD_LBPM_EXECUTABLE( lbpm_segmented_decomp )
ADD_LBPM_EXECUTABLE( lbpm_disc_pp )
ADD_LBPM_EXECUTABLE( lbpm_captube_pp )
ADD_LBPM_EXECUTABLE( lbpm_BlobAnalysis )
ADD_LBPM_EXECUTABLE( TestBubble )
ADD_LBPM_EXECUTABLE( BasicSimulator )
ADD_LBPM_EXECUTABLE( ComponentLabel )
ADD_LBPM_EXECUTABLE( BlobAnalysis )
ADD_LBPM_EXECUTABLE( BlobIdentify )
ADD_LBPM_EXECUTABLE( BlobIdentifyParallel )
#ADD_LBPM_EXECUTABLE( BlobAnalyzeParallel )
CONFIGURE_FILE( ${CMAKE_CURRENT_SOURCE_DIR}/cylindertest ${CMAKE_CURRENT_BINARY_DIR}/cylindertest COPYONLY )

View File

@@ -6,7 +6,7 @@
#include <iostream>
#include <math.h>
#include "analysis/analysis.h"
#include "TwoPhase.h"
#include "common/TwoPhase.h"
#define NUM_AVERAGES 30
@@ -198,7 +198,7 @@ int main(int argc, char **argv)
int nspheres;
double Lx,Ly,Lz;
//.......................................................................
int i,j,k,n,p,idx;
int i,j,k,n;
int iproc,jproc,kproc;
//.......................................................................
// Reading the domain information file

View File

@@ -7,10 +7,7 @@
#include <math.h>
#include "common/Communication.h"
#include "analysis/analysis.h"
#ifdef PROFILE
#include "ProfilerApp.h"
#endif
#include "TwoPhase.h"
#include "common/TwoPhase.h"
//#include "Domain.h"

View File

@@ -0,0 +1,124 @@
// Test of ComputeGlobalBlobIDs for special corner/edge cases
// Note: this is a short test, but requires 27 processors to run
#include <iostream>
#include <math.h>
#include "common/pmmc.h"
#include "common/Communication.h"
#include "analysis/analysis.h"
#include "IO/MeshDatabase.h"
#include "IO/Reader.h"
#include "IO/Writer.h"
#include "ProfilerApp.h"
// Main
int main(int argc, char **argv)
{
// Initialize MPI
int rank, nprocs;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&rank);
MPI_Comm_size(MPI_COMM_WORLD,&nprocs);
/*if ( nprocs != 8 ) {
printf("This tests requires 8 processors\n");
return -1;
}*/
if ( rank==0 ) {
printf("-----------------------------------------------------------\n");
printf("Testing Blob Identification Special Cases\n");
printf("-----------------------------------------------------------\n");
}
// Set the domain information
std::vector<int> factors = Utilities::factor(nprocs);
int nproc[3]={1,1,1};
for (size_t i=0; i<factors.size(); i++)
nproc[i%3] *= factors[i];
const int nx = 4;
const int ny = 4;
const int nz = 4;
double Lx=1.0, Ly=1.0, Lz=1.0;
// Get the rank info
const RankInfoStruct rank_info(rank,nproc[0],nproc[1],nproc[2]);
const int rankx = rank_info.ix;
const int ranky = rank_info.jy;
const int rankz = rank_info.kz;
// Test that local blobs that only touch at edges/corners do not share global ids
DoubleArray Phase(nx+2,ny+2,nz+2);
DoubleArray SignDist(nx+2,ny+2,nz+2);
Phase.fill(1);
SignDist.fill(1);
// First block
SignDist(1,1,1)=-1; SignDist(2,1,1)=-1; SignDist(1,2,1)=-1; SignDist(2,2,1)=-1;
SignDist(1,1,2)=-1; SignDist(2,1,2)=-1; SignDist(1,2,2)=-1; SignDist(2,2,2)=-1;
// Second block
SignDist(3,3,1)=-1; SignDist(4,3,1)=-1; SignDist(3,4,1)=-1; SignDist(4,4,1)=-1;
SignDist(3,3,2)=-1; SignDist(4,3,2)=-1; SignDist(3,4,2)=-1; SignDist(4,4,2)=-1;
// Third block
SignDist(3,1,3)=-1; SignDist(4,1,3)=-1; SignDist(3,2,3)=-1; SignDist(4,2,3)=-1;
SignDist(3,1,4)=-1; SignDist(4,1,4)=-1; SignDist(3,2,4)=-1; SignDist(4,2,4)=-1;
// Fourth block
SignDist(1,3,3)=-1; SignDist(1,4,3)=-1; SignDist(2,3,3)=-1; SignDist(2,4,3)=-1;
SignDist(1,3,4)=-1; SignDist(1,4,4)=-1; SignDist(2,3,4)=-1; SignDist(2,4,4)=-1;
// Communication the halos
fillHalo<double> fillData(rank_info,nx,ny,nz,1,1,1,0,1);
fillData.fill(Phase);
fillData.fill(SignDist);
// Find blob domains
if ( rank==0 ) { printf("Finding blob domains\n"); }
double vF=0.0;
double vS=0.0;
IntArray LocalBlobID, GlobalBlobID;
int nblobs0 = ComputeLocalBlobIDs(Phase,SignDist,vF,vS,LocalBlobID,false);
int nblobs = ComputeGlobalBlobIDs(nx,ny,nz,rank_info,
Phase,SignDist,vF,vS,GlobalBlobID);
if ( rank==0 ) { printf("Identified %i blobs\n",nblobs); }
// Create the MeshDataStruct
std::vector<IO::MeshDataStruct> meshData(1);
meshData[0].meshName = "domain";
meshData[0].mesh = std::shared_ptr<IO::DomainMesh>( new IO::DomainMesh(rank_info,nx,ny,nz,Lx,Ly,Lz) );
std::shared_ptr<IO::Variable> PhaseVar( new IO::Variable() );
std::shared_ptr<IO::Variable> SignDistVar( new IO::Variable() );
std::shared_ptr<IO::Variable> LocalBlobIDVar( new IO::Variable() );
std::shared_ptr<IO::Variable> GlobalBlobIDVar( new IO::Variable() );
PhaseVar->name = "phase";
PhaseVar->type = IO::VolumeVariable;
PhaseVar->dim = 1;
PhaseVar->data.resize(nx,ny,nz);
meshData[0].vars.push_back(PhaseVar);
SignDistVar->name = "SignDist";
SignDistVar->type = IO::VolumeVariable;
SignDistVar->dim = 1;
SignDistVar->data.resize(nx,ny,nz);
meshData[0].vars.push_back(SignDistVar);
LocalBlobIDVar->name = "LocalBlobID";
LocalBlobIDVar->type = IO::VolumeVariable;
LocalBlobIDVar->dim = 1;
LocalBlobIDVar->data.resize(nx,ny,nz);
meshData[0].vars.push_back(LocalBlobIDVar);
GlobalBlobIDVar->name = "GlobalBlobID";
GlobalBlobIDVar->type = IO::VolumeVariable;
GlobalBlobIDVar->dim = 1;
GlobalBlobIDVar->data.resize(nx,ny,nz);
meshData[0].vars.push_back(GlobalBlobIDVar);
// Save the results
fillData.copy(Phase,PhaseVar->data);
fillData.copy(SignDist,SignDistVar->data);
fillData.copy(LocalBlobID,LocalBlobIDVar->data);
fillData.copy(GlobalBlobID,GlobalBlobIDVar->data);
IO::writeData( 0, meshData, 2 );
int N_errors = 0;
return N_errors;
}

View File

@@ -5,10 +5,10 @@
#include <stdexcept>
#include <fstream>
#include "pmmc.h"
#include "ScaLBL.h"
#include "common/pmmc.h"
#include "common/ScaLBL.h"
#include "common/MPI_Helpers.h"
#include "Communication.h"
#include "common/Communication.h"
#include "IO/Mesh.h"
#include "IO/Writer.h"
#include "ProfilerApp.h"

View File

@@ -5,7 +5,7 @@
#include <stdio.h>
#include <iostream>
#include <fstream>
#include "ScaLBL.h"
#include "common/ScaLBL.h"
#include "common/MPI_Helpers.h"
using namespace std;

View File

@@ -1,8 +1,8 @@
#include <iostream>
#include <math.h>
#include "pmmc.h"
//#include "PointList.h"
//#include "Array.h"
#include "common/pmmc.h"
//#include "common/PointList.h"
//#include "common/Array.h"
#define RADIUS 15
#define CAPRAD 20

View File

@@ -1,8 +1,8 @@
#include <iostream>
#include <math.h>
#include "pmmc.h"
//#include "PointList.h"
//#include "Array.h"
#include "common/pmmc.h"
//#include "common/PointList.h"
//#include "common/Array.h"
#define RADIUS 15
#define HEIGHT 15.5

View File

@@ -1,9 +1,9 @@
#include <iostream>
#include <math.h>
#include "TwoPhase.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
#include "Communication.h"
#include "common/Communication.h"
#include "IO/Mesh.h"
#include "IO/Writer.h"
#include "ProfilerApp.h"

View File

@@ -7,9 +7,9 @@
#include <stdexcept>
#include <fstream>
#include "ScaLBL.h"
#include "Communication.h"
#include "TwoPhase.h"
#include "common/ScaLBL.h"
#include "common/Communication.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
int main(int argc, char **argv)

View File

@@ -9,8 +9,8 @@
#include <math.h>
#include <iostream>
#include <fstream>
#include <Array.h>
#include <Domain.h>
#include "common/Array.h"
#include "common/Domain.h"
int main(int argc, char **argv)
{

View File

@@ -1,7 +1,7 @@
#include <iostream>
#include <math.h>
#include "pmmc.h"
#include "Domain.h"
#include "common/pmmc.h"
#include "common/Domain.h"
using namespace std;

View File

@@ -7,9 +7,9 @@
#include <stdexcept>
#include <fstream>
#include "TwoPhase.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
#include "Communication.h"
#include "common/Communication.h"
#include "IO/Mesh.h"
#include "IO/Writer.h"
#include "ProfilerApp.h"

View File

@@ -6,9 +6,9 @@
#include <stdexcept>
#include <fstream>
#include "ScaLBL.h"
#include "Communication.h"
#include "TwoPhase.h"
#include "common/ScaLBL.h"
#include "common/Communication.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
#ifndef CBUB
@@ -1065,7 +1065,7 @@ int main(int argc, char **argv)
UnpackID(recvList_YZ, recvCount_YZ ,recvID_YZ, id);
//......................................................................................
// Fill in the phase MeshData from neighboring processors
double *sendMeshData_x, *sendMeshData_y, *sendMeshData_z, *sendMeshData_X, *sendMeshData_Y, *sendMeshData_Z;
/*double *sendMeshData_x, *sendMeshData_y, *sendMeshData_z, *sendMeshData_X, *sendMeshData_Y, *sendMeshData_Z;
double *sendMeshData_xy, *sendMeshData_yz, *sendMeshData_xz, *sendMeshData_Xy, *sendMeshData_Yz, *sendMeshData_xZ;
double *sendMeshData_xY, *sendMeshData_yZ, *sendMeshData_Xz, *sendMeshData_XY, *sendMeshData_YZ, *sendMeshData_XZ;
double *recvMeshData_x, *recvMeshData_y, *recvMeshData_z, *recvMeshData_X, *recvMeshData_Y, *recvMeshData_Z;
@@ -1109,7 +1109,7 @@ int main(int argc, char **argv)
recvMeshData_Xz = new double [recvCount_Xz];
recvMeshData_XY = new double [recvCount_XY];
recvMeshData_YZ = new double [recvCount_YZ];
recvMeshData_XZ = new double [recvCount_XZ];
recvMeshData_XZ = new double [recvCount_XZ];*/
if (rank==0) printf ("Devices are ready to communicate. \n");
MPI_Barrier(MPI_COMM_WORLD);

View File

@@ -12,8 +12,8 @@ James E. McClure 2015
#include <stdexcept>
#include <fstream>
#include "Domain.h"
#include "TwoPhase.h"
#include "common/Domain.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
#include "common/Utilities.h"

View File

@@ -6,9 +6,9 @@
#include <stdexcept>
#include <fstream>
#include "ScaLBL.h"
#include "Communication.h"
#include "TwoPhase.h"
#include "common/ScaLBL.h"
#include "common/Communication.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
int main(int argc, char **argv)

View File

@@ -6,9 +6,9 @@
#include <stdexcept>
#include <fstream>
#include "ScaLBL.h"
#include "Communication.h"
#include "TwoPhase.h"
#include "common/ScaLBL.h"
#include "common/Communication.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
#include "ProfilerApp.h"

View File

@@ -6,10 +6,10 @@
#include <stdexcept>
#include <fstream>
#include "pmmc.h"
#include "Domain.h"
#include "Communication.h"
#include "MPI_Helpers.h" // This includes mpi.h
#include "common/pmmc.h"
#include "common/Domain.h"
#include "common/Communication.h"
#include "common/MPI_Helpers.h" // This includes mpi.h
/*

View File

@@ -6,9 +6,9 @@
#include <stdexcept>
#include <fstream>
#include "ScaLBL.h"
#include "Communication.h"
#include "TwoPhase.h"
#include "common/ScaLBL.h"
#include "common/Communication.h"
#include "common/TwoPhase.h"
#include "common/MPI_Helpers.h"
//#define WRITE_SURFACES

View File

@@ -9,8 +9,8 @@
#include <iostream>
#include <fstream>
#include <sstream>
#include <Array.h>
#include <Domain.h>
#include "common/Array.h"
#include "common/Domain.h"
inline void FlipID(char *ID, int N)
{

View File

@@ -10,8 +10,8 @@
#include <iostream>
#include <fstream>
#include <sstream>
#include <Array.h>
#include <Domain.h>
#include "common/Array.h"
#include "common/Domain.h"
int main(int argc, char **argv)
{

View File

@@ -9,9 +9,9 @@
#include <iostream>
#include <fstream>
#include <sstream>
#include <Array.h>
#include <Domain.h>
#include <TwoPhase.h>
#include "common/Array.h"
#include "common/Domain.h"
#include "common/TwoPhase.h"
inline void MeanFilter(DoubleArray &Mesh){
for (int k=1; k<(int)Mesh.size(2)-1; k++){

View File

@@ -6,10 +6,10 @@
#include <stdexcept>
#include <fstream>
#include "pmmc.h"
#include "Domain.h"
#include "common/pmmc.h"
#include "common/Domain.h"
#include "common/MPI_Helpers.h"
#include "Communication.h"
#include "common/Communication.h"
/*
* Pre-Processor to generate signed distance function from sphere packing

View File

@@ -1,8 +1,8 @@
#include <iostream>
#include <math.h>
#include "pmmc.h"
//#include "PointList.h"
//#include "Array.h"
#include "common/pmmc.h"
//#include "common/PointList.h"
//#include "common/Array.h"
#define RADIUS 15
#define HEIGHT 15.5