Abstract
The Poisson–Nernst–Planck (PNP) equations is a macroscopic model widely used to describe the dynamics of ion transport in ion channels. In this paper, we introduce a semi-implicit finite difference scheme for the PNP equations in a bounded domain. A general boundary condition for the Poisson equation is considered. The fully discrete scheme is shown to satisfy the following properties: mass conservation, unconditional positivity, and energy dissipation (hence preserves the steady state). Solvability of the semi-discrete scheme is proved and a simple fixed point iteration is proposed to solve the fully discrete scheme. Numerical examples in both 1D and 2D and for multiple species are presented to demonstrate the convergence and properties of the proposed scheme.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
1 Introduction
The Poisson–Nernst–Planck (PNP) equations is a coupled continuum model widely used to describe the dynamics of ion transport in membrane channels. In this model, the ions satisfy the Nernst–Planck equation:
where \(c^{(i)}=c^{(i)}(t,\mathbf{x})\) is the local concentration of the i-th ion species, \(D^{(i)}=D^{(i)}(\mathbf{x})\) is the diffusion coefficient, \(z_i\) is the valence of the ion, e is the unit charge of a proton, \(k_B\) is the Boltzmann’s constant, T is the absolute temperature, and \(\psi =\psi (t,\mathbf{x})\) is the electrostatic potential related to ion concentrations via the Poisson equation:
where \(\epsilon =\epsilon (\mathbf{x})\) is the permittivity of the electrolyte and \(\rho =\rho (\mathbf{x})\) is the permanent charge density of the system. The PNP equations (1.1) and (1.2) are usually posed in a bounded domain with proper boundary and initial conditions (see Sect. 2.3 for details). Although termed by Eisenberg et al. [9, 10] in the 1990s to study the ion channels, the PNP equations have a long history in the broader context to describe charge transport, where they are often called drift-diffusion-Poisson equations, see for instance in semiconductor modeling [17]. For a review of recent development of more generalized PNP equations and related models, the readers are referred to [22].
Solutions to the PNP equations satisfy a few important physical properties: mass conservation, positivity, energy dissipation, etc. When designing numerical methods, it would be desirable to maintain the same properties at the discrete level, preferably with a mild constraint on time step \(\Delta t\) and spatial size \(\Delta x\), so that the long time simulation can be done accurately and efficiently. Our goal in this work is to construct a structure-preserving numerical method for the PNP equations.
Searching the literature, there have been numerous studies in recent years devoted to numerical simulation of the PNP equations. Many of them also aim to preserve the structure of the solutions. Without being exhaustive, we mention a few closely related works. Among the explicit methods, the finite difference scheme in [15] is able to preserve the positivity under a parabolic CFL condition (\(\Delta t=O(\Delta x^2)\)), and the energy decay can be shown for the semi-discrete scheme (time is continuous). Later a DG version is developed in [16], where the positivity and fully discrete energy decay can be achieved still under a parabolic CFL condition. Among the implicit methods, the finite difference scheme in [12] obtains second order in time using a combination of the trapezoidal rule and backward differentiation formula. The scheme is positive, however, under a parabolic CFL condition and an additional constraint on spatial size. An energy-preserving version is recently presented in [11], where the energy decay rate is shown to be consistent up to \(O(\Delta x^2+\Delta t^2)\). Finally, the finite element method in [18] employs the fully implicit backward Euler scheme to obtain the discrete energy decay. We mention that this time discretization only works for certain boundary conditions and would not work (or require extra conditions) for the general boundaries we considered in this paper (see Remark 3.3).
From the above discussions, we can see that to obtain both unconditional positivity and discrete energy decay is very difficult and it generally requires one to go from explicit to implicit schemes. Even so, a delicate treatment for the drift and diffusion terms are necessary. Our main contribution in this work is the time discretization, which is inspired by the recent work [2]. Specifically, we propose a semi-implicit finite difference scheme for the PNP equations that is first order in time and second order in space. For generality, we consider an inhomogeneous Robin type boundary condition for the Poisson equation which includes Dirichlet and Neumann boundaries as subcases. The fully discrete scheme is proved to be mass conservative, unconditionally positive and energy dissipative. As a result of fully discrete energy decay, the numerical solution would converge to the solution of the (time independent) Poisson–Boltzmann equation, i.e., the scheme is steady-state preserving. To solve the nonlinear system resulting from the semi-implicit time discretization, we propose a simple fixed point iteration. Although we are not able to prove the convergence of the iterative scheme, we demonstrate numerically its fast convergence using a series of examples. Moreover, we provide a rigorous proof of the solvability of the semi-discrete scheme (space is continuous). To the best of our knowledge, this is the first numerical method for the PNP equations that achieves simultaneously unconditional positivity and fully discrete energy decay, and works for a large class of boundary conditions.
For completeness, let us mention a few analytical work related to well-posedness and long time behavior of the PNP equations. Using a generalization of the Hopf-Cole variable transformation, existence of a global classical solution and convergence to stationary solution was proved in [14] for a simplified 1D single species PNP model. In [3], the weak solution of a multi-D single species PNP model was studied and the well-posedness locally in time was proved. This result is improved to the two species case in [5], where the global in time existence of the solution was obtained. The long time asymptotic behavior with exponential convergence to steady states was obtained in [1, 4].
The rest of this paper is organized as follows. In Sect. 2.3, we give a brief introduction of the PNP equations in a bounded domain along with the basic properties. In Sect. 3, we describe in detail the fully discrete scheme in 1D and prove its properties: mass conservation, unconditional positivity, and energy dissipation. In addition, we prove the solvability of the semi-discrete scheme and propose a simple fixed point iteration to solve the fully discrete scheme. Extension to 2D is also discussed. Numerical examples are provided in Sect. 4 to demonstrate the convergence and properties of the proposed scheme. Concluding remarks are given in Sect. 5.
2 The PNP equations: initial boundary value problem and basic properties
In this section, we describe the initial boundary value problem of the PNP equations and summarize its basic properties.
2.1 Non-dimensionalization
To begin with, we first non-dimensionalize the Eqs. (1.1) and (1.2) by introducing the following rescaled quantities:
where \(c_0, \psi _0,\dots \) are the characteristic values of the corresponding quantities. Then (1.1) and (1.2) can be rewritten as
Define
we obtain the non-dimensionalized PNP equations as (dropping \(\hat{}\) for simplicity):
Here \(\chi _1\) is the ratio of the electric potential energy and thermal energy; \(\chi _2\) is the inverse square of the scaled Debye length. For more physical background of these dimensionless parameters, we refer the interested reader to Sect. 2.3 of [12].
2.2 Initial and boundary value problem
When the PNP equations are imposed in a connected bounded domain \(\Omega \subset {\mathbb {R}}^d\), proper initial and boundary conditions need to be supplemented.
For the Nernst–Planck equation (2.7), the initial condition is given by
and the initial value of \(\psi \) is given by solving the Poisson equation (2.8) subject to (2.9).
For the boundary, one usually assumes the no-flux boundary condition for the Nernst–Planck equation, i.e.,
where \(\mathbf{n}\) is the unit outward normal at the boundary point \(\mathbf{x}\in \partial \Omega \). Boundary condition for the Poisson equation can be various. Here we consider a general boundary condition:
where \(\alpha ,\beta \) are some constants and \(f=f(\mathbf{x})\) is a given function on \(\partial \Omega \). Note that
when \(\alpha \ne 0, \beta \ne 0\), (2.11) is the Robin boundary condition;
when \(\alpha \ne 0, \beta = 0\), (2.11) reduces to the Dirichlet boundary condition;
when \(\alpha = 0, \beta \ne 0\), (2.11) reduces to the Neumann boundary condition. Solution to the Neumann problem can only be unique up to a constant. Also the following compatibility condition is required:
$$\begin{aligned} \chi _2 \int _{\Omega } \left( \sum _{i=1}^m z_i c^{(i),0} +\rho \right) \, \mathrm{d} \mathbf{x} + \frac{1}{\beta } \int _{\partial \Omega } {\epsilon f} \, \mathrm{d}{} \mathbf{s} = 0. \end{aligned}$$(2.12)
Putting everything together, we have the following initial boundary value problem for the PNP equations:
2.3 Basic properties
Here we list a few important properties of the problem (2.13)–(2.17), which will serve as a guidance in designing numerical schemes.
- 1.
Mass conservation:
$$\begin{aligned} \int _{\Omega } c^{(i)}(t,\mathbf{x}) \,\mathrm{d}{} \mathbf{x}= \int _{\Omega } c^{(i),0}(\mathbf{x}) \,\mathrm{d}{} \mathbf{x}, \quad \forall t>0,\ i= 1, \ldots ,m. \end{aligned}$$(2.18) - 2.
Positivity:
$$\begin{aligned} c^{(i),0}(\mathbf{x}) \ge 0\ \Rightarrow \ c^{(i)}(t,\mathbf{x}) \ge 0, \quad \forall t>0, \ \mathbf{x} \in \Omega ,\ i= 1, \ldots ,m. \end{aligned}$$(2.19) - 3.
Energy dissipation:
$$\begin{aligned} \frac{\mathrm{d}{\tilde{E}}}{\mathrm{d}t}= & {} -\sum _{i=1}^m \int _{\Omega } D^{(i)} c^{(i)} \left| \nabla \big ( \log c^{(i)} + \chi _1 z_i \psi \big )\right| ^2 \, \mathrm{d}\mathbf{x}\nonumber \\&+\frac{\chi _1}{2\chi _2}\int _{\partial \Omega }\epsilon \left( \psi \frac{\partial \psi _t}{\partial \mathbf{n}}-\psi _t \frac{\partial \psi }{\partial \mathbf{n}}\right) \, \mathrm{d}{} \mathbf{s}, \end{aligned}$$(2.20)where the free energy \({\tilde{E}}\) is defined as
$$\begin{aligned} {\tilde{E}} =\int _{\Omega } \sum _{i=1}^m \left( c^{(i)} \log c^{(i)}\right) \, \mathrm{d}{} \mathbf{x}+ \frac{ \chi _1 }{2} \int _{\Omega } \left( \sum _{i=1}^{m} z_i c^{(i)}+\rho \right) \psi \, \mathrm{d}{} \mathbf{x}. \end{aligned}$$(2.21)Note that using the boundary condition (2.17) and f does not depend on time, the last term on the right hand side of (2.20) can be written equivalently as
$$\begin{aligned} \frac{\chi _1}{2\chi _2}\int _{\partial \Omega }\epsilon \left( \psi \frac{\partial \psi _t}{\partial \mathbf{n}}-\psi _t \frac{\partial \psi }{\partial \mathbf{n}}\right) \, \mathrm{d}{} \mathbf{s} = {\left\{ \begin{array}{ll} \displaystyle \frac{\chi _1}{2\chi _2 \alpha } \int _{\partial \Omega } \epsilon f \frac{\partial \psi _t}{\partial \mathbf{n}}\, \mathrm{d}{} \mathbf{s},&{} \text {if }\alpha \ne 0,\\ \displaystyle -\frac{\chi _1}{2\chi _2 \beta } \int _{\partial \Omega } \epsilon f \psi _t\, \mathrm{d}{} \mathbf{s},&{} \text {if }\beta \ne 0. \end{array}\right. }\nonumber \\ \end{aligned}$$(2.22)Therefore, to make (2.20) dissipative, one can choose
$$\begin{aligned} E={\tilde{E}}+ {\left\{ \begin{array}{ll} \displaystyle -\frac{\chi _1}{2\chi _2 \alpha } \int _{\partial \Omega } \epsilon f \frac{\partial \psi }{\partial \mathbf{n}}\, \mathrm{d}{} \mathbf{s},&{} \text {if } \alpha \ne 0,\\ \displaystyle \frac{\chi _1}{2\chi _2 \beta } \int _{\partial \Omega } \epsilon f \psi \, \mathrm{d}{} \mathbf{s},&{} \text {if } \beta \ne 0. \end{array}\right. } \end{aligned}$$(2.23)Then one has
$$\begin{aligned} \frac{\mathrm{d} E}{\mathrm{d}t} = -\,\sum _{i=1}^m \int _{\Omega } D^{(i)} c^{(i)} \left| \nabla \big ( \log c^{(i)} + \chi _1 z_i \psi \big )\right| ^2 \, \mathrm{d}{} \mathbf{x}\le 0. \end{aligned}$$(2.24) - 4.
Steady state: the energy dissipation implies that the steady state of the system is achieved when
$$\begin{aligned} \nabla \left( \log c^{(i),\infty } + \chi _1 z_i \psi ^{\infty }\right) =0, \quad i=1,\dots ,m, \end{aligned}$$(2.25)which integrates to the equilibrium
$$\begin{aligned} c^{(i),\infty }=\lambda _i e^{-\chi _1z_i \psi ^{\infty }}, \quad \text {with } \lambda _i= \frac{\int _\Omega c^{(i),0} \,\mathrm{d} \mathbf{x}}{\int _\Omega e^{-\chi _1 z_i\psi ^{\infty }}\, \mathrm{d} \mathbf{x}}. \end{aligned}$$(2.26)Substituting \(c^{(i),\infty }\) into the Poisson equation (2.16) leads to
$$\begin{aligned} -\nabla \cdot (\epsilon \nabla \psi ^{\infty }) =\chi _2 \left( \sum _{i=1}^m \lambda _i z_i e^{- \chi _1 z_i\psi ^{\infty }} +\rho \right) ,\quad \mathbf{x} \in \Omega , \end{aligned}$$(2.27)which together with the boundary condition (2.17) constitute the (nonlinear) Poisson–Boltzmann equation.
3 Numerical schemes
In this section, we describe the proposed numerical scheme for the initial boundary value problem (2.13)–(2.17). For simplicity, we assume \(\chi _1 = \chi _2 = 1\) in the following.
Before going into detail, we first summarize the key ingredients in our method.
The first ingredient is to reformulate the Nernst–Planck equation (2.13) as
$$\begin{aligned} \partial _t c^{(i)} = \nabla \cdot \left( D^{(i)} M^{(i)} \nabla \left( \frac{c^{(i)}}{M^{(i)}}\right) \right) , \quad \text {where } M^{(i)} = e^{-z_i\psi }. \end{aligned}$$(3.28)Accordingly, the no-flux boundary condition (2.15) becomes
$$\begin{aligned} \nabla \left( \frac{c^{(i)}}{M^{(i)}}\right) \cdot \mathbf{n}=0. \end{aligned}$$(3.29)Note that this is the Scharfetter-Gummel transform widely used in semiconductor community [20].
The second ingredient is the spatial discretization. As both (3.28) and the Poisson equation (2.16) are diffusive type equations, it is simple and natural to use the central finite difference.
The third ingredient (which is our main contribution) is a semi-implicit time discretization
$$\begin{aligned} {\left\{ \begin{array}{ll} \displaystyle \frac{c^{(i),n+1} - c^{(i),n}}{\Delta t} = \nabla \cdot \left( D^{(i)} M^{(i),*} \nabla \left( \frac{c^{(i),n+1}}{M^{(i),*}}\right) \right) , \\ \displaystyle -\nabla \cdot (\epsilon \nabla \psi ^{n+1} )= \sum _{i=1}^m z_i c^{(i),n+1} + \rho , \end{array}\right. } \end{aligned}$$(3.30)where \(M^{(i),*}= e^{-z_i\psi ^*}\) and the potential \(\psi ^{*}\) is chosen as
$$\begin{aligned} \psi ^{*}=\frac{\psi ^n + \psi ^{n+1}}{2}. \end{aligned}$$(3.31)
3.1 Fully discrete scheme in 1D
We now describe in detail the proposed scheme in 1D. Assume the domain \(\Omega = [a,b]\), then the PNP system reads
We partition the interval [a, b] into N uniform cells with mesh size \(\Delta x=(b-a)/N\). The cell centers \(x_j = a +(j-1/2) \Delta x\), \(j=1,\ldots ,N\) are chosen as the grid points; and the cell interfaces are given by \(x_{j+1/2} = a + j\Delta x\), \(j=0,\ldots ,N\) (note that \(x_{1/2}=a, x_{N+1/2}=b\)). Let \(t_n = n \Delta t\) be the discrete time step and we denote the numerical approximation of a function u(t, x) at \((t_n,x_j)\) by \(u_j^n\).
We first discretize the Nernst–Planck equation (3.32) in space by a second-order central difference scheme:
where \({\hat{g}}_{j+\frac{1}{2}}^{(i)}\) is defined by
At the boundary (\(j=0,N\)), due to the no-flux boundary condition (3.34), we set
\(D^{(i)}_{j+\frac{1}{2}}\) is the value of the diffusion coefficient \(D^{(i)}\) at \(x_{j+\frac{1}{2}}\). \({\overline{M}}^{(i)}_{j+\frac{1}{2}}\) is an approximation to \(M^{(i)}\) at \(x_{j+\frac{1}{2}}\) and we take
Remark 3.1
We remark that the choice of \({\overline{M}}^{(i)}_{j+\frac{1}{2}}\) is not unique. As long as it is a second order, positive approximation to \(M^{(i)}\) at \(x_{j+\frac{1}{2}}\), all the properties derived in Sect. 3.1.1 can be carried over.
For the Poisson equation (3.35), we also use the central difference scheme:
where \(\epsilon _{j+\frac{1}{2}}\) is the value of the permittivity \(\epsilon \) at \(x_{j+\frac{1}{2}}\), and \( {\hat{\psi }}_{j+\frac{1}{2}}\) is defined by
To obtain \(\psi _0\) and \(\psi _{N+1}\), note that the boundary condition (3.36), (3.37) can be discretized as
using which we can represent
Remark 3.2
\({\hat{\psi }}_{\frac{1}{2}}\) and \({\hat{\psi }}_{N+\frac{1}{2}}\) may not be well-defined in the case of Robin boundary (when \(\alpha \ne 0\), \(\beta \ne 0\)). In this case, we assume \(\Delta x \ne -2\beta /\alpha \).
For brevity, we write the scheme (3.42) in a matrix vector multiplication form:
where
with
Now let us add the time discretization as outlined in (3.30). Define
then (3.38) with time discretization reads
and for \(j=1\) and N:
Rearranging terms in (3.50) yields
Similarly, (3.51) (3.52) become
The schemes (3.53)–(3.55) can be written in a matrix vector multiplication form:
if we define
where the entries of the matrix \(A^{(i)}\) are given by
Therefore, together with the system (3.47), we obtain the following fully discrete scheme for the PNP system:
where with a little abuse of notations, the dependence of vectors is indicated.
We state the following lemma which will be useful later.
Lemma 3.1
The matrix \(A^{(i)}\left( \mathbf{M}^{(i),*}\right) \) as defined in (3.57) is symmetric positive definite and strictly diagonally dominant, provided \({\overline{M}}^{(i),*}_{j+\frac{1}{2}}\) is a second-order, positive approximation to \(M^{(i),*}\) at \(x_{j+\frac{1}{2}}\). In particular, the choice
suffices.
Proof
By definition, \(M_{j}^{(i),*}=e^{-z_i\psi _j^*}>0\), and \({\overline{M}}^{(i),*}_{j+\frac{1}{2}}\) is required to be positive, then the entries of \(A^{(i)}\) satisfy
Furthermore,
Hence the conclusion is immediate. \(\square \)
3.1.1 Properties of the fully discrete scheme
In this section, we prove the properties of the fully discrete scheme (3.58). These are parallel to the theoretical properties listed in Sect. 2.3.
Define the total mass of the i-th ion species at time step \(t_n\) as
Then we have
Theorem 3.1
(Mass conservation) The fully discrete scheme (3.58) is always mass conservative for each ion species:
Proof
Using (3.50), (3.51) and (3.52), it is easy to see
This proves the numerical mass conservation. \(\square \)
Theorem 3.2
(Positivity preserving) The fully discrete scheme (3.58) is unconditionally positivity-preserving, i.e., if \(c^{(i),n}_j \ge 0\) for all \(j = 1,\ldots ,N\), then
for each species \(i=1,\dots ,m\).
Proof
Lemma 3.1 implies that the matrix \(A^{(i)}\left( \mathbf{M}^{(i),*}\right) \) in the scheme (3.58) is a M-matrix, i.e., it is inverse positive (\((A^{(i)})^{-1}\) exists and each entry of \((A^{(i)})^{-1}\) is non-negative). Therefore, if \(c^{(i),n}_j\ge 0\), by solving the first linear system in (3.58), we have \(g^{(i)}_j\ge 0\). Since \(M_j^{(i),*}>0\), then \(c_j^{(i),n+1}=g^{(i)}_jM_j^{(i),*}\ge 0\). \(\square \)
Define the discrete free energy at time step \(t_n\) as
where we assume \(\Delta x \ne -2\beta /\alpha \) when both \(\alpha \) and \(\beta \) are nonzero. Then we have
Theorem 3.3
(Energy dissipation) The fully discrete scheme (3.58) is unconditionally energy-dissipative:
Proof
Using the definition (3.66), we have
where the three parts are defined as:
For part I,
where \(\log x\le x-1\) (\(x>0\)) is used in the inequality and mass conservation is used in the last equality.
For part II,
where \(M^{(i),*}=e^{-z_j\psi _j^*}\) is used in the first equality and the schemes (3.50)–(3.52) are used in the third equality. Using \(\log \) is a non-decreasing function, we obtained the last inequality.
For part III,
where \(\psi ^*_j=\frac{\psi ^n_j+\psi ^{n+1}_j}{2}\) is used to obtain the second equality and the scheme (3.42) is used in the third one. The last equality is obtained by using the following formula. For a sequence \(\{\phi _j\}_{j=1}^N\), one has
where the summation by parts is used in the first equality; (3.43), (3.45) and (3.46) are used in the second equality.
Combing parts I, II, and III, the theorem is proved. \(\square \)
Remark 3.3
If one considers the fully implicit time discretization, i.e., \(\psi ^*_j=\psi ^{n+1}_j\), a similar calculation as above would also show the energy decay property, but based on the additional assumption that \(\alpha \) and \(\beta \) have the same sign. To be precise, the energy estimate of the semi-discrete scheme would read
where the boundary term is given as
This is exactly what proposed in [18]. We point out that \(\alpha \) and \(\beta \) come from the physical boundary condition and their signs are not definite. Therefore, our semi-implicit time discretization is more general and works for a larger class of boundary conditions.
As a consequence of the fully discrete energy decay, we have the following
Theorem 3.4
(Steady-state preserving) Assume the discrete energy \(E_{\Delta } (t_n)\) is bounded from below, the fully discrete scheme (3.58) is steady-state preserving, i.e., for fixed \(\Delta x\), when time step \(n\rightarrow \infty \), the numerical solutions \(c_j^{(i),\infty }\) and \(\psi _j^\infty \) become the (second order) numerical solutions to the limiting Poisson–Boltzmann equation
where
Proof
Since the discrete energy sequence \(\{E_{\Delta } (t_n)\}\) is monotonically decreasing and bounded from below, the limit \(\lim _{n\rightarrow \infty }E_{\Delta } (t_n)=E_{\Delta }(t_{\infty })\) exists. Taking \(n\rightarrow \infty \) in (3.67), we have
where \(\lambda _i\) is some constant depending only on i and can be obtained by
where we used the mass conservation. Finally substituting \(c_j^{(i),\infty }\) into the system (3.47), we have
which is a second order finite difference discretization to the limiting Poisson–Boltzmann equation (3.76). \(\square \)
Remark 3.4
We mention that there is a different line of research to develop schemes that preserve the steady state directly. The so-called Chang-Cooper scheme for the linear Fokker–Planck equation is the one of the pioneer work [8]. See also [7, 19] for recent development on nonlinear Fokker–Planck equations.
3.1.2 Fixed point iteration to solve the fully discrete scheme
The system (3.58) is implicit and fully coupled. To solve it, we propose a simple fixed point iteration. The following algorithm describes how the iterations are performed at time step \(t_n\) to compute the solutions \(c_j^{(i),n+1}\) and \(\psi ^{n+1}_j\) (\(i=1,\dots ,m\); \(j=1,\dots ,N\)) at time step \(t_{n+1}\).
Note that in each iteration, we need to solve two linear systems (3.82) and (3.84). Both of them can be solved efficiently using sparse linear solvers. Furthermore, the matrix \(A^{(i)}\left( \mathbf{M}^{(i),(l)}\right) \) is a M-matrix (by Lemma 3.1), hence the solution \(c^{i,(l)}\) obtained in internal steps is guaranteed to be positive. For the Poisson equation, special care is needed for the Neumann boundary condition since the solution is unique up to a constant. Here we choose one solution by setting \(\psi _1 = 0\).
The above fixed point iteration is just one strategy to solve the nonlinear system and our numerical experiments show that it generally converges in several steps (less than 10). One could also use Newton’s method to achieve potentially faster convergence. We leave the convergence studies of different iterative methods to future work (see [6] for a related study). Nonetheless, to better understand the proposed time discretization, we do provide in this work a proof of the solvability of the semi-discrete scheme (3.30).
3.1.3 Solvability of the semi-discrete scheme
To prove the solvability of the semi-discrete scheme (3.30), we consider \(D^{(i)}=\epsilon =1\) for simplicity and rewrite it as
The boundary condition is given as
Note that the homogeneous Neumann boundary condition is assumed for the Poisson equation in our analysis, which is a bit less general than what we considered for the rest of the paper.
Definition 3.1
Given \(\left( \{c^{(i),n}\}_{i=1}^m,\psi ^{n} \right) \in H^1(\Omega )\), we say that \(\left( \{c^{(i),n+1}\}_{i=1}^m,\psi ^{n+1} \right) \in H^1(\Omega )\) is a weak solution of (3.85), (3.86), if it satisfies
for all test function \(\phi \in H^1(\Omega )\).
We now state the solvability theorem for problem (3.85), (3.86).
Theorem 3.5
Let \(\Omega \) be a bounded, open subset of \({\mathbb {R}}^d\)\((d\le 3)\), and \(\partial \Omega \) is \(C^1\), then the semi-discrete scheme (3.85), (3.86) has a weak solution \(\left( \{c^{(i),n+1}\}_{i=1}^m,\psi ^{n+1} \right) \) when \(\Delta t\) is sufficiently small.
The proof of this theorem is provided in the Appendix, which follows a similar line of the well-posedness theory for the PNP equations [3, 5, 21].
3.2 Fully discrete scheme in 2D
The extension of the 1D scheme to multi-D in the rectangular domain is straightforward. Here for completeness, we briefly present the scheme in 2D.
Consider the domain \(\Omega =[a,b] \times [c,d]\), then the 2D PNP system reads
We partition \(\Omega \) into \(N_x\) and \(N_y\) uniform cells in each dimension with mesh size \(\Delta x = (b-a)/N_x, \Delta y=(d-c)/N_y\), respectively. The interior grid points are chosen as \((a +(j-1/2) \Delta x,c +(k-1/2)\Delta y)\), \(j=1,\ldots ,N_x, \ k=1,\ldots ,N_y\), and the numerical approximation of a function u(t, x, y) at this point and time step \(t_n\) is denoted by \(u_{j,k}^n\). Cell interface values are defined similarly as in 1D.
The fully discrete scheme for the Nernst–Planck equation (3.88) is given as follows:
where
and
At the boundary
For the Poisson equation (3.92), the scheme is given as
where the boundary terms are defined through
For the 2D scheme, we can also show the following properties: mass conservation, positivity preserving, and energy dissipation, which we give without proof.
Theorem 3.6
(Mass conservation) The fully discrete scheme (3.95), (3.100) is always mass conservative:
where
is the total mass of the ith ion species at \(t_n\).
Theorem 3.7
(Positivity preserving) The fully discrete scheme (3.95), (3.100) is unconditionally positivity-preserving, i.e., if \(c^{(i),n}_{j,k} \ge 0\) for all \(j= 1,\ldots ,N_x, \ k=1,\ldots ,N_y\), then
for each \(i=1,\dots ,m\).
Theorem 3.8
(Energy dissipation) The fully discrete scheme (3.95), (3.100) is unconditionally energy-dissipative:
where the discrete free energy at \(t_n\) is defined as
4 Numerical examples
In this section, we perform several numerical tests to demonstrate the convergence and properties of the proposed scheme. We will consider both 1D and 2D examples, and in particular, a practical example with physical parameters specifically suited toward the modeling of ion channels. The tolerance for fixed point iteration is set as \(\text {tol} = 10^{-8}\) for all the tests except the tolerance test in Sect. 4.2.
4.1 Accuracy test: manufactured solution
We first examine the accuracy of our scheme using a manufactured solution. Consider the following 1D single-species PNP system with a source term
where h is given by
For this system, one can construct the exact solution as
We verify the order of the proposed scheme in both space and time. The results are shown in Tables 1 and 2, where the error of a numerical solution \(u_j^n\) is computed as
at time \(t_n=0.5\). These results imply that our scheme is indeed first order accurate in time and second order accurate in space.
4.2 1D multiple species
Next we apply our scheme to solve the 1D two-species PNP system (3.32)–(3.37) and verify its properties. Two different tests are performed:
- Case 1
The Dirichlet boundary value problem in domain \([-1,1]\) with \(D^{(1)}=D^{(2)}=\epsilon =1\), \(z_1 =1, z_2 =-\,1,\rho =0\), the initial and boundary conditions are chosen as
$$\begin{aligned} {\left\{ \begin{array}{ll} c^{(1)}(0,x) = 2-x^2, \quad c^{(2)}(0,x)=x^2, \\ \psi (t,-1)= -\,1, \quad \psi (t,1)= 1. \end{array}\right. } \end{aligned}$$(4.111) - Case 2
The Neumann boundary value problem in domain [0, 1] with \(D^{(1)}=D^{(2)}=\epsilon =1\), \(z_1 =1, z_2 =-\,2,\rho =x\), the initial and boundary conditions are chosen as
$$\begin{aligned} {\left\{ \begin{array}{ll} c^{(1)}(0,x) = 2+x+\sin (2\pi x), \quad c^{(2)}(0,x)=1+x,\\ \partial _x \psi (t,0) =\partial _x \psi (t,1) = 0. \end{array}\right. } \end{aligned}$$(4.112)
Figure 1 shows the time evolution of the ion concentrations \(c^{(1)}\), \(c^{(2)}\) and the electrostatic potential \(\psi \). One can see that the proposed scheme works well with a large time step and spatial mesh size in both cases.
To verify the energy dissipation and mass conservation, we plot in Fig. 2 the time evolution of the discrete free energy \(E_{\Delta }(t_n)\) and the total mass \(C^{(1)}_{\Delta }(t_n)\), \(C^{(2)}_{\Delta }(t_n)\). Although not shown here, the positivity of the ion concentrations is also checked and no negative values are detected.
Next, we check how the tolerance threshold in the fixed point iteration will affect the accuracy. The numerical solution with tolerance \(\text {tol} = 10^{-10}\) is chosen as a reference solution. For Case 1, we check the maximum error for the ion concentrations and electrostatic potential at time \(t = 0.2\). For Case 2, the maximum error is inspected at time \(t = 0.1\). The results in Tables 3 and 4 indicate that our scheme will achieve better accuracy with lower tolerance.
In [4], the exponential convergence towards the steady states was proved for the PNP system
where W(t) is the entropy functional defined as \(W(t) = {\tilde{E}}(t) - {\tilde{E}}(t_\infty )\). Here we try to verify such a property for our numerical solution. In Fig. 3, the discrete entropy functional \(W_{\Delta }(t_n) = E_{\Delta }(t_n) - E_{\Delta }(t_{\infty })\) is plotted for both cases, where the exponential convergence is evident.
Finally, to demonstrate the convergence of the fixed point iteration, we record the number of iterations at each time step in Fig. 4. We can see that the method converges in less than 10 iterations, and this number decreases as the solution approaches the steady state.
4.3 2D single species
We now apply our scheme to solve the 2D single-species PNP system (3.88)–(3.94). Let \(\Omega = [0,1]\times [0,1]\) be the computational domain and \(D^{(1)}=\epsilon =z_1=1\), \(\rho =0\). Two different boundary and initial conditions are considered:
- Case 1
\(c(0,x,y) = 4, \ \alpha =0,\ \beta =1,\ f_a=f_b=f_c=f_d=-\,1\);
- Case 2
\(c(0,x,y) = 2, \ \alpha =0,\ \beta =1,\ f_a=f_b=-\,1,\ f_c=f_d=0\).
The time evolution of the ion concentration in both cases are shown Figs. 5 and 6, respectively. The energy dissipation is demonstrated in Fig. 7. Finally, the positivity of the ion concentration is also checked and no negative values are detected.
4.4 KcsA model with spatially dependent diffusion coefficients
In the ion channels, values of the diffusion coefficients depend on ion species and channels. They affect only the convergence rate of the system to the steady state. In this test, we apply our scheme to a simplified KcsA model with spatially dependent diffusion coefficients [13] to verify the impact of diffusion coefficients.
We consider the KcsA model in domain \([-1,1]\) with \(\epsilon =1\), \(z_1 =1, z_2 =-\,1,\rho =0\), the initial and boundary conditions are chosen as
Then we separate the domain into three regions:
- (a)
channel outside (CO): \(0.7 \le |x|\le 1\);
- (b)
selectivity filter (SF): \(-0.1<x<0.7\);
- (c)
intracellular (IC): \(-0.7< x < -0.1\).
Outside the channel the diffusion coefficients are set as \(D^{(1)} = D^{(2)} = 1\). We test three diffusion coefficient profiles:
- (i)
\(D^{(i)}\) is reduced to 0.4 in SF;
- (ii)
\(D^{(i)}\) is reduced to 0.4 in SF and 0.8 in IC;
- (iii)
\(D^{(i)}\) is reduced to 0.4 in both SF and IC.
The time evolution of the ion concentrations and energy are presented in Figs. 8 and 9. These three systems do converge to the same steady state with different rates.
4.5 Gouy–Chapman model
In this final test, we simulate the so-called Gouy-Chapman model widely used to describe the double layer structure in ion channels.
We consider the 1D two-species PNP system (3.32)–(3.37) in domain \([-1,1]\) with \(D^{(1)} = D^{(2)} =\epsilon = 1\), \(z_1 = 1\), \(z_2 = -\,1\), and \(\rho =0\). The dimensionless parameters \(\chi _1\) and \(\chi _2\) are chosen as \(\chi _1 = 3.1, \chi _2 = 125.4\), which are taken from the work [12]. A uniform initial condition is assumed \(c^{(i)}(x,0) =1, i= 1,2\) for all \(-1\le x \le 1\) and the boundary condition for the Poisson equation is given by \(\alpha =1, \beta = 4.63 \times 10^{-5},f_a = 1, f_b = -\,1\).
Figure 10 shows the time evolution of the ion concentrations and the electrostatic potential. Beginning with the linear profile, the electrostatic potential becomes zero in the bulk region (away from the boundary) and increases drastically in the diffuse layers (close to the boundary) at the steady state. Notice that the presence of diffuse layers requires a small spatial mesh size in numerical simulations. The solution will be far away from the thin layer solution if the mesh size is large, for example, \(\Delta x > 0.05\).
5 Conclusion
We have introduced a semi-implicit finite difference scheme for the PNP equations in a bounded domain. A general boundary condition for the Poisson equation which includes (nonhomogeneous) Dirichlet, Neumann, and Robin boundaries as subcases were considered. The proposed scheme is first order in time and second order in space. The fully discrete scheme was proved to be mass conservative, unconditionally positive and energy dissipative (hence preserving the steady state). The solvability of the semi-discrete scheme was investigated and a fixed point iteration was proposed to solve the fully discrete scheme. Numerical examples were presented to demonstrate the accuracy and efficiency of the proposed scheme. Note that the fixed point iteration employed in this work is not necessarily the best method to solve the implicit scheme. We will investigate different iterative methods such as Newton’s method in future work. Also, it would be interesting and challenging to develop a high order in time scheme which preserves the same properties as the first order one.
References
Arnold, A., Markowich, P., Toscani, G.: On large time asymptotics for drift-diffusion-Poisson systems. Transp. Theory Statist. Phys. 29, 571–581 (2000)
Bailo, R., Carrillo, J., Hu, J.: Fully discrete positivity-preserving and energy-decaying schemes for aggregation-diffusion equations with a gradient flow structure. preprint
Biler, P.: Existence and asymptotics of solutions for a parabolic-elliptic system with nonlinear no-flux boundary conditions. Nonlinear Anal. 19, 1121–1136 (1992)
Biler, P., Dolbeault, J.: Long time behavior of solutions to Nernst–Planck and Debye–Hückel drift-diffusion systems. Ann. Henri Poincaré 1, 461–472 (2000)
Biler, P., Hebisch, W., Nadzieja, T.: The Debye system: existence and large time behavior of solutions. Nonlinear Anal. 23, 1189–1209 (1994)
Bousquet, A., Hu, X., Metti, M., Xu, J.: Newton solvers for drift-diffusion and electrokinetic equations. SIAM J. Sci. Comput. 40, B982–B1006 (2018)
Buet, C., Cordier, S., Dos Santos, V.: A conservative and entropy scheme for a simplified model of granular media. Transport Theory Stat. Phys. 33, 125–155 (2004)
Chang, J.S., Cooper, G.: A practical difference scheme for Fokker-Planck equations. J. Comput. Phys. 6, 1–16 (1970)
Chen, D., Eisenberg, R.: Poisson–Nernst–Planck (PNP) theory of open ionic channels. Biophys. J. 64, A22 (1993)
Eisenberg, R.: Ion channels in biological membranes: electrostatic analysis of a natural nanotube. Contemp. Phys. 39, 447 (1998)
Flavell, A., Kabre, J., Li, X.: An energy-preserving discretization for the Poisson–Nernst–Planck equations. J. Comput. Electron. 16, 431–441 (2017)
Flavell, A., Machen, M., Eisenberg, B., Kabre, J., Liu, C., Li, X.: A conservative finite difference scheme for Poisson–Nernst–Planck equations. J. Comput. Electron. 13, 235–249 (2014)
Furini, S., Zerbetto, F., Cavalcanti, S.: Application of the Poisson–Nernst–Planck theory with space-dependent diffusion coefficients to KcsA. Biophys. J. 91, 3162–3169 (2006)
Krzywicki, A., Nadzieja, T.: A nonstationary problem in the theory of electrolytes. Quart. Appl. Math. 50, 105–107 (1992)
Liu, H., Wang, Z.: A free energy satisfying finite difference method for Poisson–Nernst–Planck equations. J. Comput. Phys. 268, 363–376 (2014)
Liu, H., Wang, Z.: A free energy satisfying discontinuous Galerkin method for one-dimensional Poisson–Nernst–Planck systems. J. Comput. Phys. 328, 413–437 (2017)
Markowich, P.A., Ringhofer, C., Schmeiser, C.: Semiconductor Equations. Springer, New York (1990)
Metti, M., Xu, J., Liu, C.: Energetically stable discretizations for charge transport and electrokinetic models. J. Comput. Phys. 306, 1–18 (2016)
Pareschi, L., Zanella, M.: Structure preserving schemes for nonlinear Fokker–Planck equations and applications. J. Sci. Comput. 74, 1575–1600 (2018)
Scharfetter, D.L., Gummel, H.K.: Large signal analysis of a silicon read diode. IEEE Trans. Electron Dev. 16, 64–67 (1969)
Schmuck, M.: Analysis of the Navier–Stokes–Nernst–Planck–Poisson system. Math. Models Methods Appl. Sci. 19, 993–1015 (2009)
Wei, G.-W., Zheng, Q., Chen, Z., Xia, K.: Variational multiscale models for charge transport. SIAM Rev. 54, 699–754 (2012)
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
This research was supported by NSF Grant DMS-1620250 and NSF CAREER Grant DMS-1654152.
A Proof of Theorem 3.5
A Proof of Theorem 3.5
In this appendix, we provide the complete proof of Theorem 3.5.
Define the set Y as
We construct a mapping T from Y to Y such that \(T :\overline{\mathbf{y}}:=\{{\overline{u}}^{(i)}\}_{i=1}^m \rightarrow \mathbf{y}:=\{u^{(i)}\}_{i=1}^m\), where \(\mathbf{y}\) is the weak solution of the system decoupled through given \(\overline{\mathbf{y}}\)
We will show that the mapping T is well defined on an appropriate space \({\mathcal {N}}\) with the following three properties:
self-mapping: T maps \({\mathcal {N}}\) into itself;
continuity: T is continuous on \({\mathcal {N}}\);
precompact: the image \(T({\mathcal {N}})\) is precompact (its closure is compact).
Then the existence of a fixed point is given by the Schauder’s Fixed Point Theorem, i.e. \(T (\overline{\mathbf{y}}) = \overline{\mathbf{y}} \in {\mathcal {N}}\) exists. This fixed point is a weak solution of the coupled system (3.85), (3.86).
Let \({\mathcal {N}}\) be a subset of Y that
where R is some constant to be fixed later on. We claim that T maps \({\mathcal {N}}\) into itself when \(\Delta t >0\) is small enough and \(R>0\) is large enough. Multiplying the NP equation (1.117) by \(u^{(i)} \Delta t \) and integrating with respect to x yields
where the terms on the left are obtained using integration by parts and no-flux boundary condition. Applying the Hölder’s inequality, the right hand side has the estimate
To estimate the right hand side, we introduce the following \(L_p\) interpolation inequality (a special case of Gagliardo–Nirenberg interpolation inequality)
and the following Sobolev embedding theorem \((d\le 3)\) for \(v\in W^{1,2}_0(\Omega )\)
where \(K_1\) and \(K_2\) are constants.
From (1.120) and (1.121), the right hand side of (1.119) is now estimated as
for some constant K, where the last line follows Young’s inequality.
Choosing \(\gamma = \left( \frac{(1+\mu )|z_i|K}{4}\right) ^{\frac{1+\mu }{2}}\) gives
Combining (1.118), (1.119) and (1.123), we get
which is
Thus, if \(\Delta t>0\) is sufficient small and \(R>0\) is sufficient large, we can conclude that
In other words, T maps \({\mathcal {N}}\) into itself.
Similar to (1.125), we can get the estimate for \(H^1\) norm of \(u^{(i)}\) that
Choosing \(\gamma = \left( \frac{(1-\mu )|z_i|\Delta t K}{2}\right) ^{\frac{1-\mu }{2}}\) gives
Combining (1.118), (1.119) and (1.128), we get
which is
Note that if \(\Delta t\) is sufficient small, we get
here \(R'\) is some constant. Then we can say that each component of \(\mathbf{y}\) belongs to \( H^1(\Omega )\).
Next, to prove the continuity of T, we define \(T: \overline{\mathbf{y}}_l:=\{{\overline{u}}_l^{(i)}\}_{i=1}^m \rightarrow \mathbf{y}_l:=\{u_l^{(i)}\}_{i=1}^m\) for \(l=1,2\). Then the NP equation (1.117) for \(\mathbf{y}_l\) gives
Multiplying by \( \left( u_1^{(i)} -u_2^{(i)}\right) \) and integrating with respect to x leads to
the last line follows Hölder’s inequality and boundary integral vanishes because of the non-flux condition. By \(L_p\) interpolation (1.120) and Young’s inequality with parameter \(\gamma =\left( \frac{(1+\mu )|z_i|K}{2}\right) ^{\frac{1+\mu }{2}}\), the estimate for first term is given as
For the second term, by Cauchy inequality, we have
Hence we arrive at the following estimate
the last inequality follows the \(L_p\) interpolation (1.120) and Sobolev embedding (1.121). Therefore, the difference \(\left\| u_1^{(i)} -u_2^{(i)}\right\| _2\) can be controlled via \(\left\| \overline{u}_1^{(i)} - \overline{u}_2^{(i)}\right\| _2\) when \(\Delta t\) is sufficient small. In other words, we proved the uniformly Lipschitz continuity of mapping T.
Note that \({\mathcal {N}}\) is a closed and convex subset of Y. The precompact property of \(T({\mathcal {N}})\) is an immediate consequence of the continuity and estimate (1.126).
Thus, the existence of a fixed point in \({\mathcal {N}}\) is guaranteed by the Schauder’s Fixed Point Theorem. Therefore, we proved the existence of weak solution to the system (3.85), (3.86) for \(\Delta t >0\) small enough, which belongs to \(H^1(\Omega )\).
Rights and permissions
About this article
Cite this article
Hu, J., Huang, X. A fully discrete positivity-preserving and energy-dissipative finite difference scheme for Poisson–Nernst–Planck equations. Numer. Math. 145, 77–115 (2020). https://doi.org/10.1007/s00211-020-01109-z
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00211-020-01109-z