build passes after fixing various dumb syntax bugs;model to be verified
This commit is contained in:
parent
01499e672d
commit
3f5175c9ba
@ -288,19 +288,19 @@ void ElectroChemistryAnalyzer::WriteVis( ScaLBL_IonModel &Ion, ScaLBL_Poisson &P
|
|||||||
// x-component of diffusive flux
|
// x-component of diffusive flux
|
||||||
sprintf(VisName,"Ion%zu_FluxDiffusive_x",ion+1);
|
sprintf(VisName,"Ion%zu_FluxDiffusive_x",ion+1);
|
||||||
//IonFluxDiffusive[3*ion+0]->name = VisName;
|
//IonFluxDiffusive[3*ion+0]->name = VisName;
|
||||||
ASSERT(visData[0].vars[4+Ion.numer_ion_species+3*ion+0]->name==VisName);
|
ASSERT(visData[0].vars[4+Ion.number_ion_species+3*ion+0]->name==VisName);
|
||||||
// y-component of diffusive flux
|
// y-component of diffusive flux
|
||||||
sprintf(VisName,"Ion%zu_FluxDiffusive_y",ion+1);
|
sprintf(VisName,"Ion%zu_FluxDiffusive_y",ion+1);
|
||||||
//IonFluxDiffusive[3*ion+1]->name = VisName;
|
//IonFluxDiffusive[3*ion+1]->name = VisName;
|
||||||
ASSERT(visData[0].vars[4+Ion.numer_ion_species+3*ion+1]->name==VisName);
|
ASSERT(visData[0].vars[4+Ion.number_ion_species+3*ion+1]->name==VisName);
|
||||||
// z-component of diffusive flux
|
// z-component of diffusive flux
|
||||||
sprintf(VisName,"Ion%zu_FluxDiffusive_z",ion+1);
|
sprintf(VisName,"Ion%zu_FluxDiffusive_z",ion+1);
|
||||||
//IonFluxDiffusive[3*ion+2]->name = VisName;
|
//IonFluxDiffusive[3*ion+2]->name = VisName;
|
||||||
ASSERT(visData[0].vars[4+Ion.numer_ion_species+3*ion+2]->name==VisName);
|
ASSERT(visData[0].vars[4+Ion.number_ion_species+3*ion+2]->name==VisName);
|
||||||
|
|
||||||
Array<double>& IonFluxData_x = visData[0].vars[4+Ion.numer_ion_species+3*ion+0]->data;
|
Array<double>& IonFluxData_x = visData[0].vars[4+Ion.number_ion_species+3*ion+0]->data;
|
||||||
Array<double>& IonFluxData_y = visData[0].vars[4+Ion.numer_ion_species+3*ion+1]->data;
|
Array<double>& IonFluxData_y = visData[0].vars[4+Ion.number_ion_species+3*ion+1]->data;
|
||||||
Array<double>& IonFluxData_z = visData[0].vars[4+Ion.numer_ion_species+3*ion+2]->data;
|
Array<double>& IonFluxData_z = visData[0].vars[4+Ion.number_ion_species+3*ion+2]->data;
|
||||||
Ion.getIonFluxDiffusive(IonFluxDiffusive_x,IonFluxDiffusive_y,IonFluxDiffusive_z,ion);
|
Ion.getIonFluxDiffusive(IonFluxDiffusive_x,IonFluxDiffusive_y,IonFluxDiffusive_z,ion);
|
||||||
fillData.copy(IonFluxDiffusive_x,IonFluxData_x);
|
fillData.copy(IonFluxDiffusive_x,IonFluxData_x);
|
||||||
fillData.copy(IonFluxDiffusive_y,IonFluxData_y);
|
fillData.copy(IonFluxDiffusive_y,IonFluxData_y);
|
||||||
|
@ -1016,33 +1016,33 @@ void ScaLBL_IonModel::getIonFluxDiffusive_debug(int timestep){
|
|||||||
//x-component
|
//x-component
|
||||||
ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+0*Np],PhaseField);
|
ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+0*Np],PhaseField);
|
||||||
ScaLBL_Comm->Barrier(); comm.barrier();
|
ScaLBL_Comm->Barrier(); comm.barrier();
|
||||||
IonFlux_LB_to_Phys(PhaseField);
|
IonFlux_LB_to_Phys(PhaseField,ic);
|
||||||
|
|
||||||
FILE *OUTFILE_X;
|
FILE *OUTFILE_X;
|
||||||
sprintf(LocalRankFilename,"IonFluxDiffusive_X_%02zu_Time_%i.%05i.raw",ic+1,timestep,rank);
|
sprintf(LocalRankFilename,"IonFluxDiffusive_X_%02zu_Time_%i.%05i.raw",ic+1,timestep,rank);
|
||||||
OUTFILE = fopen(LocalRankFilename,"wb");
|
OUTFILE_X = fopen(LocalRankFilename,"wb");
|
||||||
fwrite(PhaseField.data(),8,N,OUTFILE_X);
|
fwrite(PhaseField.data(),8,N,OUTFILE_X);
|
||||||
fclose(OUTFILE_X);
|
fclose(OUTFILE_X);
|
||||||
|
|
||||||
//y-component
|
//y-component
|
||||||
ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+1*Np],PhaseField);
|
ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+1*Np],PhaseField);
|
||||||
ScaLBL_Comm->Barrier(); comm.barrier();
|
ScaLBL_Comm->Barrier(); comm.barrier();
|
||||||
IonFlux_LB_to_Phys(PhaseField);
|
IonFlux_LB_to_Phys(PhaseField,ic);
|
||||||
|
|
||||||
FILE *OUTFILE_Y;
|
FILE *OUTFILE_Y;
|
||||||
sprintf(LocalRankFilename,"IonFluxDiffusive_Y_%02zu_Time_%i.%05i.raw",ic+1,timestep,rank);
|
sprintf(LocalRankFilename,"IonFluxDiffusive_Y_%02zu_Time_%i.%05i.raw",ic+1,timestep,rank);
|
||||||
OUTFILE = fopen(LocalRankFilename,"wb");
|
OUTFILE_Y = fopen(LocalRankFilename,"wb");
|
||||||
fwrite(PhaseField.data(),8,N,OUTFILE_Y);
|
fwrite(PhaseField.data(),8,N,OUTFILE_Y);
|
||||||
fclose(OUTFILE_Y);
|
fclose(OUTFILE_Y);
|
||||||
|
|
||||||
//z-component
|
//z-component
|
||||||
ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+2*Np],PhaseField);
|
ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+2*Np],PhaseField);
|
||||||
ScaLBL_Comm->Barrier(); comm.barrier();
|
ScaLBL_Comm->Barrier(); comm.barrier();
|
||||||
IonFlux_LB_to_Phys(PhaseField);
|
IonFlux_LB_to_Phys(PhaseField,ic);
|
||||||
|
|
||||||
FILE *OUTFILE_Z;
|
FILE *OUTFILE_Z;
|
||||||
sprintf(LocalRankFilename,"IonFluxDiffusive_Z_%02zu_Time_%i.%05i.raw",ic+1,timestep,rank);
|
sprintf(LocalRankFilename,"IonFluxDiffusive_Z_%02zu_Time_%i.%05i.raw",ic+1,timestep,rank);
|
||||||
OUTFILE = fopen(LocalRankFilename,"wb");
|
OUTFILE_Z = fopen(LocalRankFilename,"wb");
|
||||||
fwrite(PhaseField.data(),8,N,OUTFILE_Z);
|
fwrite(PhaseField.data(),8,N,OUTFILE_Z);
|
||||||
fclose(OUTFILE_Z);
|
fclose(OUTFILE_Z);
|
||||||
}
|
}
|
||||||
|
@ -36,6 +36,8 @@ public:
|
|||||||
void Run(double *Velocity, double *ElectricField);
|
void Run(double *Velocity, double *ElectricField);
|
||||||
void getIonConcentration(DoubleArray &IonConcentration, const size_t ic);
|
void getIonConcentration(DoubleArray &IonConcentration, const size_t ic);
|
||||||
void getIonConcentration_debug(int timestep);
|
void getIonConcentration_debug(int timestep);
|
||||||
|
void getIonFluxDiffusive(DoubleArray &IonFlux_x,DoubleArray &IonFlux_y,DoubleArray &IonFlux_z,const size_t ic);
|
||||||
|
void getIonFluxDiffusive_debug(int timestep);
|
||||||
void DummyFluidVelocity();
|
void DummyFluidVelocity();
|
||||||
void DummyElectricField();
|
void DummyElectricField();
|
||||||
double CalIonDenConvergence(vector<double> &ci_avg_previous);
|
double CalIonDenConvergence(vector<double> &ci_avg_previous);
|
||||||
@ -99,5 +101,6 @@ private:
|
|||||||
void AssignSolidBoundary(double *ion_solid);
|
void AssignSolidBoundary(double *ion_solid);
|
||||||
void AssignIonConcentration_FromFile(double *Ci,const vector<std::string> &File_ion,int ic);
|
void AssignIonConcentration_FromFile(double *Ci,const vector<std::string> &File_ion,int ic);
|
||||||
void IonConcentration_LB_to_Phys(DoubleArray &Den_reg);
|
void IonConcentration_LB_to_Phys(DoubleArray &Den_reg);
|
||||||
|
void IonFlux_LB_to_Phys(DoubleArray &Den_reg, const size_t ic);
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user