Ion Model¶
-
class ScaLBL_IonModel¶
- #include <IonModel.h>
Public Functions
-
double CalIonDenConvergence(vector<double> &ci_avg_previous)¶
-
void Checkpoint()¶
-
void Create()¶
-
void DummyElectricField()¶
-
void DummyFluidVelocity()¶
-
void getIonConcentration(DoubleArray &IonConcentration, const size_t ic)¶
-
void getIonConcentration_debug(int timestep)¶
-
void getIonFluxAdvective(DoubleArray &IonFlux_x, DoubleArray &IonFlux_y, DoubleArray &IonFlux_z, const size_t ic)¶
-
void getIonFluxAdvective_debug(int timestep)¶
-
void getIonFluxDiffusive(DoubleArray &IonFlux_x, DoubleArray &IonFlux_y, DoubleArray &IonFlux_z, const size_t ic)¶
-
void getIonFluxDiffusive_debug(int timestep)¶
-
void getIonFluxElectrical(DoubleArray &IonFlux_x, DoubleArray &IonFlux_y, DoubleArray &IonFlux_z, const size_t ic)¶
-
void getIonFluxElectrical_debug(int timestep)¶
-
void Initialize()¶
-
void ReadInput()¶
-
void ReadParams(string filename, vector<int> &num_iter)¶
-
void ReadParams(string filename)¶
-
void Run(double *Velocity, double *ElectricField)¶
-
void RunMembrane(double *Velocity, double *ElectricField, double *Psi)¶
-
ScaLBL_IonModel(int RANK, int NP, const Utilities::MPI &COMM)¶
-
void SetDomain()¶
-
void SetMembrane()¶
-
~ScaLBL_IonModel()¶
Public Members
-
vector<int> BoundaryConditionInlet¶
-
vector<int> BoundaryConditionOutlet¶
-
int BoundaryConditionSolid¶
-
double *ChargeDensity¶
-
double *Ci¶
-
vector<double> Cin¶
-
vector<double> Cout¶
-
std::shared_ptr<Database> db¶
-
DoubleArray Distance¶
-
std::shared_ptr<Database> domain_db¶
-
int *dvcMap¶
-
double *ElectricFieldDummy¶
-
double electron_charge¶
-
double Ex_dummy¶
-
double Ey_dummy¶
-
double Ez_dummy¶
-
double *FluidVelocityDummy¶
-
double fluidVelx_dummy¶
-
double fluidVely_dummy¶
-
double fluidVelz_dummy¶
-
double *FluxAdvective¶
-
double *FluxDiffusive¶
-
double *FluxElectrical¶
-
double *fq¶
-
double h¶
-
std::shared_ptr<Database> ion_db¶
-
vector<double> IonConcentration¶
-
vector<double> IonDiffusivity¶
-
std::shared_ptr<Membrane> IonMembrane¶
-
double *IonSolid¶
-
vector<int> IonValence¶
-
double k2_inv¶
-
double kb¶
-
double Lx¶
-
double Ly¶
-
double Lz¶
-
IntArray Map¶
-
vector<double> MassFractionIn¶
-
vector<double> MassFractionOut¶
-
std::shared_ptr<Database> membrane_db¶
-
int MembraneCount¶
-
DoubleArray MembraneDistance¶
-
vector<double> MembraneIonConcentration¶
-
int N¶
-
int *NeighborList¶
-
int Np¶
-
int nprocs¶
-
int nprocx¶
-
int nprocy¶
-
int nprocz¶
-
size_t number_ion_species¶
-
int Nx¶
-
int Ny¶
-
int Nz¶
-
int rank¶
-
bool Restart¶
-
std::shared_ptr<ScaLBL_Communicator> ScaLBL_Comm¶
-
double T¶
-
vector<double> tau¶
-
vector<double> ThresholdMassFractionIn¶
-
vector<double> ThresholdMassFractionOut¶
-
vector<double> ThresholdVoltage¶
-
vector<double> time_conv¶
-
int timestep¶
-
vector<int> timestepMax¶
-
double tolerance¶
-
bool USE_MEMBRANE¶
-
double Vt¶
Private Functions
-
void AssignIonConcentration_FromFile(double *Ci, const vector<std::string> &File_ion, int ic)¶
-
void AssignIonConcentrationMembrane(double *Ci, int ic)¶
-
void AssignSolidBoundary(double *ion_solid)¶
-
void IonConcentration_LB_to_Phys(DoubleArray &Den_reg)¶
-
void IonFlux_LB_to_Phys(DoubleArray &Den_reg, const size_t ic)¶
-
double CalIonDenConvergence(vector<double> &ci_avg_previous)¶