Got tests/lbpm_BlobAnalysis.cpp to compile
This commit is contained in:
parent
a7968f6d13
commit
fc496a2574
@ -93,7 +93,7 @@ public:
|
|||||||
//...........................................................................
|
//...........................................................................
|
||||||
//...........................................................................
|
//...........................................................................
|
||||||
int Nx,Ny,Nz;
|
int Nx,Ny,Nz;
|
||||||
IntArray LocalBlobID;
|
IntArray BlobLabel;
|
||||||
DoubleArray SDn;
|
DoubleArray SDn;
|
||||||
DoubleArray SDs;
|
DoubleArray SDs;
|
||||||
DoubleArray Phase;
|
DoubleArray Phase;
|
||||||
@ -122,7 +122,7 @@ public:
|
|||||||
cubeList.New(3,ncubes);
|
cubeList.New(3,ncubes);
|
||||||
|
|
||||||
// Global arrays
|
// Global arrays
|
||||||
LocalBlobID.New(Nx,Ny,Nz);
|
BlobLabel.New(Nx,Ny,Nz);
|
||||||
SDn.New(Nx,Ny,Nz);
|
SDn.New(Nx,Ny,Nz);
|
||||||
SDs.New(Nx,Ny,Nz);
|
SDs.New(Nx,Ny,Nz);
|
||||||
Phase.New(Nx,Ny,Nz);
|
Phase.New(Nx,Ny,Nz);
|
||||||
@ -652,16 +652,16 @@ void TwoPhase::PrintAll(int timestep){
|
|||||||
}
|
}
|
||||||
|
|
||||||
inline int TwoPhase::GetCubeLabel(int i, int j, int k){
|
inline int TwoPhase::GetCubeLabel(int i, int j, int k){
|
||||||
int label;
|
int label;
|
||||||
label=LocalBlobID(i,j,k);
|
label=BlobLabel(i,j,k);
|
||||||
label=max(label,LocalBlobID(i+1,j,k));
|
label=max(label,BlobLabel(i+1,j,k));
|
||||||
label=max(label,LocalBlobID(i,j+1,k));
|
label=max(label,BlobLabel(i,j+1,k));
|
||||||
label=max(label,LocalBlobID(i+1,j+1,k));
|
label=max(label,BlobLabel(i+1,j+1,k));
|
||||||
label=max(label,LocalBlobID(i,j,k+1));
|
label=max(label,BlobLabel(i,j,k+1));
|
||||||
label=max(label,LocalBlobID(i+1,j,k+1));
|
label=max(label,BlobLabel(i+1,j,k+1));
|
||||||
label=max(label,LocalBlobID(i,j+1,k+1));
|
label=max(label,BlobLabel(i,j+1,k+1));
|
||||||
label=max(label,LocalBlobID(i+1,j+1,k+1));
|
label=max(label,BlobLabel(i+1,j+1,k+1));
|
||||||
|
|
||||||
return label;
|
return label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3,6 +3,7 @@ INSTALL_LBPM_EXE( lb2_Color_wia_mpi )
|
|||||||
INSTALL_LBPM_EXE( lbpm_color_simulator )
|
INSTALL_LBPM_EXE( lbpm_color_simulator )
|
||||||
INSTALL_LBPM_EXE( lbpm_sphere_pp )
|
INSTALL_LBPM_EXE( lbpm_sphere_pp )
|
||||||
INSTALL_LBPM_EXE( lbpm_disc_pp )
|
INSTALL_LBPM_EXE( lbpm_disc_pp )
|
||||||
|
INSTALL_LBPM_EXE( lbpm_BlobAnalysis )
|
||||||
INSTALL_LBPM_EXE( TestBubble )
|
INSTALL_LBPM_EXE( TestBubble )
|
||||||
INSTALL_LBPM_EXE( BasicSimulator )
|
INSTALL_LBPM_EXE( BasicSimulator )
|
||||||
INSTALL_LBPM_EXE( BlobAnalysis )
|
INSTALL_LBPM_EXE( BlobAnalysis )
|
||||||
|
@ -17,7 +17,7 @@ James E. McClure 2015
|
|||||||
#include "common/MPI_Helpers.h"
|
#include "common/MPI_Helpers.h"
|
||||||
#include "common/Utilities.h"
|
#include "common/Utilities.h"
|
||||||
|
|
||||||
inline void ReadBlobLabel(char *FILENAME, int *Data, int N)
|
inline void ReadBlobFile(char *FILENAME, int *Data, int N)
|
||||||
{
|
{
|
||||||
int n;
|
int n;
|
||||||
int value;
|
int value;
|
||||||
@ -38,12 +38,13 @@ inline void ReadBlobLabel(char *FILENAME, int *Data, int N)
|
|||||||
}
|
}
|
||||||
|
|
||||||
struct BlobTwoPhase{
|
struct BlobTwoPhase{
|
||||||
int COUNT=26; // number of averages to compute for each blob
|
int COUNT; // number of averages to compute for each blob
|
||||||
BlobTwoPhase(int size){
|
BlobTwoPhase(int size){
|
||||||
|
COUNT=26;
|
||||||
NBLOBS=size;
|
NBLOBS=size;
|
||||||
Data = new double [size*COUNT];
|
Data = new double [size*COUNT];
|
||||||
}
|
}
|
||||||
~(BlobTwoPhase){
|
~BlobTwoPhase(){
|
||||||
delete [] Data;
|
delete [] Data;
|
||||||
}
|
}
|
||||||
int NBLOBS;
|
int NBLOBS;
|
||||||
@ -51,32 +52,32 @@ struct BlobTwoPhase{
|
|||||||
|
|
||||||
// if modified -- make sure to adjust COUNT so that
|
// if modified -- make sure to adjust COUNT so that
|
||||||
// there is enough memory to save all the averages
|
// there is enough memory to save all the averages
|
||||||
double Vn(int IDX){return Data[COUNT*IDX]}
|
double Vn(int IDX){return Data[COUNT*IDX];}
|
||||||
double pan(int IDX){return Data[COUNT*IDX+1]}
|
double pan(int IDX){return Data[COUNT*IDX+1];}
|
||||||
double awn(int IDX){return Data[COUNT*IDX+2]}
|
double awn(int IDX){return Data[COUNT*IDX+2];}
|
||||||
double ans(int IDX){return Data[COUNT*IDX+3]}
|
double ans(int IDX){return Data[COUNT*IDX+3];}
|
||||||
double Jwn(int IDX){return Data[COUNT*IDX+4]}
|
double Jwn(int IDX){return Data[COUNT*IDX+4];}
|
||||||
double Kwn(int IDX){return Data[COUNT*IDX+5]}
|
double Kwn(int IDX){return Data[COUNT*IDX+5];}
|
||||||
double lwns(int IDX){return Data[COUNT*IDX+6]}
|
double lwns(int IDX){return Data[COUNT*IDX+6];}
|
||||||
double cwns(int IDX){return Data[COUNT*IDX+7]}
|
double cwns(int IDX){return Data[COUNT*IDX+7];}
|
||||||
double vanx(int IDX){return Data[COUNT*IDX+8]}
|
double vanx(int IDX){return Data[COUNT*IDX+8];}
|
||||||
double vany(int IDX){return Data[COUNT*IDX+9]}
|
double vany(int IDX){return Data[COUNT*IDX+9];}
|
||||||
double vanz(int IDX){return Data[COUNT*IDX+10]}
|
double vanz(int IDX){return Data[COUNT*IDX+10];}
|
||||||
double vawnx(int IDX){return Data[COUNT*IDX+11]}
|
double vawnx(int IDX){return Data[COUNT*IDX+11];}
|
||||||
double vawny(int IDX){return Data[COUNT*IDX+12]}
|
double vawny(int IDX){return Data[COUNT*IDX+12];}
|
||||||
double vawnz(int IDX){return Data[COUNT*IDX+13]}
|
double vawnz(int IDX){return Data[COUNT*IDX+13];}
|
||||||
double Gwnxx(int IDX){return Data[COUNT*IDX+14]}
|
double Gwnxx(int IDX){return Data[COUNT*IDX+14];}
|
||||||
double Gwnyy(int IDX){return Data[COUNT*IDX+15]}
|
double Gwnyy(int IDX){return Data[COUNT*IDX+15];}
|
||||||
double Gwnzz(int IDX){return Data[COUNT*IDX+16]}
|
double Gwnzz(int IDX){return Data[COUNT*IDX+16];}
|
||||||
double Gwnxy(int IDX){return Data[COUNT*IDX+17]}
|
double Gwnxy(int IDX){return Data[COUNT*IDX+17];}
|
||||||
double Gwnxz(int IDX){return Data[COUNT*IDX+18]}
|
double Gwnxz(int IDX){return Data[COUNT*IDX+18];}
|
||||||
double Gwnyz(int IDX){return Data[COUNT*IDX+19]}
|
double Gwnyz(int IDX){return Data[COUNT*IDX+19];}
|
||||||
double Gnsxx(int IDX){return Data[COUNT*IDX+20]}
|
double Gnsxx(int IDX){return Data[COUNT*IDX+20];}
|
||||||
double Gnsyy(int IDX){return Data[COUNT*IDX+22]}
|
double Gnsyy(int IDX){return Data[COUNT*IDX+22];}
|
||||||
double Gnszz(int IDX){return Data[COUNT*IDX+23]}
|
double Gnszz(int IDX){return Data[COUNT*IDX+23];}
|
||||||
double Gnsxy(int IDX){return Data[COUNT*IDX+23]}
|
double Gnsxy(int IDX){return Data[COUNT*IDX+23];}
|
||||||
double Gnsxz(int IDX){return Data[COUNT*IDX+24]}
|
double Gnsxz(int IDX){return Data[COUNT*IDX+24];}
|
||||||
double Gnsyz(int IDX){return Data[COUNT*IDX+25]}
|
double Gnsyz(int IDX){return Data[COUNT*IDX+25];}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -100,13 +101,14 @@ int main(int argc, char **argv)
|
|||||||
int nblobs_global; // number of blobs in the global system
|
int nblobs_global; // number of blobs in the global system
|
||||||
|
|
||||||
// Get the global number of blobs from arguments
|
// Get the global number of blobs from arguments
|
||||||
if (nargc > 1){
|
if (argc > 1){
|
||||||
nblobs_global = atoi(argv[1]);
|
nblobs_global = atoi(argv[1]);
|
||||||
if (rank==0) printf("Number of global blobs is: %i \n",nblobs_global);
|
if (rank==0) printf("Number of global blobs is: %i \n",nblobs_global);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
ERROR("Number of blobs was not specified");
|
ERROR("Number of blobs was not specified");
|
||||||
}
|
}
|
||||||
|
|
||||||
int *CubeList;
|
int *CubeList;
|
||||||
|
|
||||||
if (rank==0){
|
if (rank==0){
|
||||||
@ -218,9 +220,9 @@ int main(int argc, char **argv)
|
|||||||
Averages.Vel_z.data[n]=vz;
|
Averages.Vel_z.data[n]=vz;
|
||||||
}
|
}
|
||||||
int label;
|
int label;
|
||||||
for (k=1;k<Nz-1;k++){
|
for (int k=1;k<Nz-1;k++){
|
||||||
for (j=1;j<Ny-1;j++){
|
for (int j=1;j<Ny-1;j++){
|
||||||
for (i=1;i<Nx-1;i++){
|
for (int i=1;i<Nx-1;i++){
|
||||||
// Assign the label for the cube
|
// Assign the label for the cube
|
||||||
label = Averages.GetCubeLabel(i,j,k);
|
label = Averages.GetCubeLabel(i,j,k);
|
||||||
|
|
||||||
@ -242,17 +244,3 @@ int main(int argc, char **argv)
|
|||||||
// ****************************************************
|
// ****************************************************
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
inline int GetCubeLabel(int i, int j, int k){
|
|
||||||
int label;
|
|
||||||
label=BlobLabel(i,j,k);
|
|
||||||
label=max(label,BlobLabel(i+1,j,k));
|
|
||||||
label=max(label,BlobLabel(i,j+1,k));
|
|
||||||
label=max(label,BlobLabel(i+1,j+1,k));
|
|
||||||
label=max(label,BlobLabel(i,j,k+1));
|
|
||||||
label=max(label,BlobLabel(i+1,j,k+1));
|
|
||||||
label=max(label,BlobLabel(i,j+1,k+1));
|
|
||||||
label=max(label,BlobLabel(i+1,j+1,k+1));
|
|
||||||
|
|
||||||
return label;
|
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user