update debugging facility
This commit is contained in:
@@ -59,6 +59,29 @@ void ScaLBL_FreeLeeModel::getVelocity(DoubleArray &Vel_x, DoubleArray &Vel_y, Do
|
|||||||
ScaLBL_Comm->Barrier(); comm.barrier();
|
ScaLBL_Comm->Barrier(); comm.barrier();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ScaLBL_FreeLeeModel::getData_RegularLayout(const double *data, DoubleArray ®data){
|
||||||
|
// Gets data (in optimized layout) from the HOST and stores in regular layout
|
||||||
|
// Primarly for debugging
|
||||||
|
int i,j,k,idx;
|
||||||
|
|
||||||
|
// initialize the array
|
||||||
|
regdata.fill(0.f);
|
||||||
|
|
||||||
|
double value;
|
||||||
|
for (k=0; k<Nz; k++){
|
||||||
|
for (j=0; j<Ny; j++){
|
||||||
|
for (i=0; i<Nx; i++){
|
||||||
|
n=k*Nx*Ny+j*Nx+i;
|
||||||
|
idx=map(i,j,k);
|
||||||
|
if (!(idx<0)){
|
||||||
|
value=data[idx];
|
||||||
|
regdata(i,j,k)=value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void ScaLBL_FreeLeeModel::ReadParams(string filename){
|
void ScaLBL_FreeLeeModel::ReadParams(string filename){
|
||||||
// read the input database
|
// read the input database
|
||||||
db = std::make_shared<Database>( filename );
|
db = std::make_shared<Database>( filename );
|
||||||
@@ -574,27 +597,28 @@ void ScaLBL_FreeLeeModel::AssignComponentLabels_ChemPotential_ColorGrad()
|
|||||||
|
|
||||||
DoubleArray PhaseField(Nx,Ny,Nz);
|
DoubleArray PhaseField(Nx,Ny,Nz);
|
||||||
FILE *OUTFILE;
|
FILE *OUTFILE;
|
||||||
ScaLBL_Comm->RegularLayout(Map,mu_phi_host,PhaseField);
|
|
||||||
|
getData_RegularLayout(mu_phi_host,PhaseField);
|
||||||
sprintf(LocalRankFilename,"Chem_Init.%05i.raw",rank);
|
sprintf(LocalRankFilename,"Chem_Init.%05i.raw",rank);
|
||||||
OUTFILE = fopen(LocalRankFilename,"wb");
|
OUTFILE = fopen(LocalRankFilename,"wb");
|
||||||
fwrite(PhaseField.data(),8,N,OUTFILE);
|
fwrite(PhaseField.data(),8,N,OUTFILE);
|
||||||
fclose(OUTFILE);
|
fclose(OUTFILE);
|
||||||
|
|
||||||
ScaLBL_Comm->RegularLayout(Map,&ColorGrad_host[0],PhaseField);
|
getData_RegularLayout(&ColorGrad_host[0],PhaseField);
|
||||||
FILE *CGX_FILE;
|
FILE *CGX_FILE;
|
||||||
sprintf(LocalRankFilename,"Gradient_X_Init.%05i.raw",rank);
|
sprintf(LocalRankFilename,"Gradient_X_Init.%05i.raw",rank);
|
||||||
CGX_FILE = fopen(LocalRankFilename,"wb");
|
CGX_FILE = fopen(LocalRankFilename,"wb");
|
||||||
fwrite(PhaseField.data(),8,N,CGX_FILE);
|
fwrite(PhaseField.data(),8,N,CGX_FILE);
|
||||||
fclose(CGX_FILE);
|
fclose(CGX_FILE);
|
||||||
|
|
||||||
ScaLBL_Comm->RegularLayout(Map,&ColorGrad_host[Np],PhaseField);
|
getData_RegularLayout(&ColorGrad_host[Np],PhaseField);
|
||||||
FILE *CGY_FILE;
|
FILE *CGY_FILE;
|
||||||
sprintf(LocalRankFilename,"Gradient_Y_Init.%05i.raw",rank);
|
sprintf(LocalRankFilename,"Gradient_Y_Init.%05i.raw",rank);
|
||||||
CGY_FILE = fopen(LocalRankFilename,"wb");
|
CGY_FILE = fopen(LocalRankFilename,"wb");
|
||||||
fwrite(PhaseField.data(),8,N,CGY_FILE);
|
fwrite(PhaseField.data(),8,N,CGY_FILE);
|
||||||
fclose(CGY_FILE);
|
fclose(CGY_FILE);
|
||||||
|
|
||||||
ScaLBL_Comm->RegularLayout(Map,&ColorGrad_host[2*Np],PhaseField);
|
getData_RegularLayout(&ColorGrad_host[2*Np],PhaseField);
|
||||||
FILE *CGZ_FILE;
|
FILE *CGZ_FILE;
|
||||||
sprintf(LocalRankFilename,"Gradient_Z_Init.%05i.raw",rank);
|
sprintf(LocalRankFilename,"Gradient_Z_Init.%05i.raw",rank);
|
||||||
CGZ_FILE = fopen(LocalRankFilename,"wb");
|
CGZ_FILE = fopen(LocalRankFilename,"wb");
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ public:
|
|||||||
void getPhase(DoubleArray &PhaseValues);
|
void getPhase(DoubleArray &PhaseValues);
|
||||||
void getPotential(DoubleArray &PressureValues, DoubleArray &MuValues);
|
void getPotential(DoubleArray &PressureValues, DoubleArray &MuValues);
|
||||||
void getVelocity(DoubleArray &Vx, DoubleArray &Vy, DoubleArray &Vz);
|
void getVelocity(DoubleArray &Vx, DoubleArray &Vy, DoubleArray &Vz);
|
||||||
|
void getData_RegularLayout(const double *data, DoubleArray ®data);
|
||||||
|
|
||||||
DoubleArray SignDist;
|
DoubleArray SignDist;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user