add more tweaks for cell simulator

This commit is contained in:
Zhe Rex Li
2022-05-03 16:32:42 +10:00
parent 6959a02f7b
commit de52cf53b9
2 changed files with 11 additions and 6 deletions

View File

@@ -883,7 +883,8 @@ void ScaLBL_IonModel::AssignIonConcentrationMembrane( double *Ci, int ic) {
double VALUE = 0.f;
if (rank == 0){
printf(".... Set concentration(%i): inside=%f, outside=%f \n", ic, MembraneIonConcentration[ic], IonConcentration[ic]);
printf(".... Set concentration(%i): inside=%.6g, outside=%.6g \n", ic,
MembraneIonConcentration[ic]/(h*h*h*1.0e-18), IonConcentration[ic]/(h*h*h*1.0e-18));
}
for (int k = 0; k < Nz; k++) {
for (int j = 0; j < Ny; j++) {

View File

@@ -90,6 +90,7 @@ int main(int argc, char **argv)
IonModel.timestepMax = Study.getIonNumIter_PNP_coupling(StokesModel.time_conv,IonModel.time_conv);
IonModel.Initialize();
IonModel.DummyFluidVelocity();
comm.barrier();
if (rank == 0) printf("Ion model initialized \n");
// Get maximal time converting factor based on Sotkes and Ion solvers
@@ -115,25 +116,28 @@ int main(int argc, char **argv)
PoissonSolver.Run(IonModel.ChargeDensity,SlipBC,timestep);//solve Poisson equtaion to get steady-state electrical potental
comm.barrier();
//if (rank == 0) printf(" Poisson step %i \n",timestep);
StokesModel.Run_Lite(IonModel.ChargeDensity, PoissonSolver.ElectricField);// Solve the N-S equations to get velocity
//StokesModel.Run_Lite(IonModel.ChargeDensity, PoissonSolver.ElectricField);// Solve the N-S equations to get velocity
//fflush(stdout);
IonModel.RunMembrane(StokesModel.Velocity,PoissonSolver.ElectricField,PoissonSolver.Psi); //solve for ion transport with membrane
IonModel.RunMembrane(IonModel.FluidVelocityDummy,PoissonSolver.ElectricField,PoissonSolver.Psi); //solve for ion transport with membrane
comm.barrier();
//if (rank == 0) printf(" Membrane step %i \n",timestep);
//fflush(stdout);
timestep++;//AA operations
//timestep++;//AA operations
if (timestep%Study.analysis_interval==0){
Analysis.Basic(IonModel,PoissonSolver,StokesModel,timestep);
//Analysis.Basic(IonModel,PoissonSolver,StokesModel,timestep);
}
if (timestep%Study.visualization_interval==0){
Analysis.WriteVis(IonModel,PoissonSolver,StokesModel,Study.db,timestep);
//Analysis.WriteVis(IonModel,PoissonSolver,StokesModel,Study.db,timestep);
// PoissonSolver.getElectricPotential(timestep);
//PoissonSolver.getElectricField(timestep);
//IonModel.getIonConcentration(timestep);
//StokesModel.getVelocity(timestep);
PoissonSolver.getElectricPotential_debug(timestep);
PoissonSolver.getElectricField_debug(timestep);
IonModel.getIonConcentration_debug(timestep);
}
}