From 3f5175c9baf6d1caa0e7542e49e6d6c3de5f3ed1 Mon Sep 17 00:00:00 2001 From: Rex Zhe Li Date: Wed, 29 Sep 2021 02:10:35 -0400 Subject: [PATCH] build passes after fixing various dumb syntax bugs;model to be verified --- analysis/ElectroChemistry.cpp | 12 ++++++------ models/IonModel.cpp | 12 ++++++------ models/IonModel.h | 3 +++ 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/analysis/ElectroChemistry.cpp b/analysis/ElectroChemistry.cpp index b46a7473..5de909f5 100644 --- a/analysis/ElectroChemistry.cpp +++ b/analysis/ElectroChemistry.cpp @@ -288,19 +288,19 @@ void ElectroChemistryAnalyzer::WriteVis( ScaLBL_IonModel &Ion, ScaLBL_Poisson &P // x-component of diffusive flux sprintf(VisName,"Ion%zu_FluxDiffusive_x",ion+1); //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 sprintf(VisName,"Ion%zu_FluxDiffusive_y",ion+1); //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 sprintf(VisName,"Ion%zu_FluxDiffusive_z",ion+1); //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& IonFluxData_x = visData[0].vars[4+Ion.numer_ion_species+3*ion+0]->data; - Array& IonFluxData_y = visData[0].vars[4+Ion.numer_ion_species+3*ion+1]->data; - Array& IonFluxData_z = visData[0].vars[4+Ion.numer_ion_species+3*ion+2]->data; + Array& IonFluxData_x = visData[0].vars[4+Ion.number_ion_species+3*ion+0]->data; + Array& IonFluxData_y = visData[0].vars[4+Ion.number_ion_species+3*ion+1]->data; + Array& IonFluxData_z = visData[0].vars[4+Ion.number_ion_species+3*ion+2]->data; Ion.getIonFluxDiffusive(IonFluxDiffusive_x,IonFluxDiffusive_y,IonFluxDiffusive_z,ion); fillData.copy(IonFluxDiffusive_x,IonFluxData_x); fillData.copy(IonFluxDiffusive_y,IonFluxData_y); diff --git a/models/IonModel.cpp b/models/IonModel.cpp index 1f08186a..6fcc3cca 100644 --- a/models/IonModel.cpp +++ b/models/IonModel.cpp @@ -1016,33 +1016,33 @@ void ScaLBL_IonModel::getIonFluxDiffusive_debug(int timestep){ //x-component ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+0*Np],PhaseField); ScaLBL_Comm->Barrier(); comm.barrier(); - IonFlux_LB_to_Phys(PhaseField); + IonFlux_LB_to_Phys(PhaseField,ic); FILE *OUTFILE_X; 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); fclose(OUTFILE_X); //y-component ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+1*Np],PhaseField); ScaLBL_Comm->Barrier(); comm.barrier(); - IonFlux_LB_to_Phys(PhaseField); + IonFlux_LB_to_Phys(PhaseField,ic); FILE *OUTFILE_Y; 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); fclose(OUTFILE_Y); //z-component ScaLBL_Comm->RegularLayout(Map,&FluxDiffusive[ic*3*Np+2*Np],PhaseField); ScaLBL_Comm->Barrier(); comm.barrier(); - IonFlux_LB_to_Phys(PhaseField); + IonFlux_LB_to_Phys(PhaseField,ic); FILE *OUTFILE_Z; 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); fclose(OUTFILE_Z); } diff --git a/models/IonModel.h b/models/IonModel.h index 33e3eb4b..ee39a1c8 100644 --- a/models/IonModel.h +++ b/models/IonModel.h @@ -36,6 +36,8 @@ public: void Run(double *Velocity, double *ElectricField); void getIonConcentration(DoubleArray &IonConcentration, const size_t ic); 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 DummyElectricField(); double CalIonDenConvergence(vector &ci_avg_previous); @@ -99,5 +101,6 @@ private: void AssignSolidBoundary(double *ion_solid); void AssignIonConcentration_FromFile(double *Ci,const vector &File_ion,int ic); void IonConcentration_LB_to_Phys(DoubleArray &Den_reg); + void IonFlux_LB_to_Phys(DoubleArray &Den_reg, const size_t ic); }; #endif