离子通道一维泊松-能斯特-普朗克(Poisson-Nernst-Planck)模型

参考文献:Rectification in synthetic conical nanopores: A one-dimensional Poisson-Nernst-Planck model

理论推导

如上图所示离子通道,体系具有轴对称性,孔半径

\begin{equation} R(z)=R(0)+[R(L)-R(0)]z/L \label{radius} \end{equation}

满足如下方程

\begin{equation} \begin{split} \epsilon_0\nabla\cdot[\epsilon(r,z)\nabla\Phi(r,z)]=&-\sum_i\rho_i(r,z)-\rho_f(r,z)\\ =&-10^3eN_A\sum_i\nu_ic_i(r,z)-\delta[r-R(z)]\sigma \end{split} \label{Poisson} \end{equation}

\begin{equation} \begin{split} \frac{\partial c_i(r,z)}{\partial t}=&-\nabla\cdot \vec{j}_i(r,z)\\ =&D_i\nabla\cdot [\nabla c_i(r,z)+e\beta \nu_ic_i(r,z)\nabla \Phi(r,z)]\\ =&0 \end{split} \label{Nernst-Planck} \end{equation}

其中 $\epsilon_0$ 为真空电容率,介电常数 $\epsilon(r,z)=\epsilon_{\mathrm p}\Theta[r-R(z)]+\epsilon_{\mathrm w}\Theta[-r+R(z)]$,这里 $\epsilon_{\mathrm p}$ 和 $\epsilon_{\mathrm w}$ 分别为膜和水的介电常数。$\Phi$为电势。$i$ 标记组分,$\rho_i$ 为电荷密度,单位为$\mathrm{C/m^3}$,$c_i$ 为浓度,单位$\mathrm M$,即 $\mathrm{mol/L}$。$e=1.602\times 10^{-19}\mathrm C$ 为基本电量,$N_A=6.023\times 10^{23}$ 为阿伏加德罗常数,$D_i$为扩散系数,$\beta=1/(k_BT)$。

由于孔道很长,可以认为离子和电势在孔道截面上均匀分布,即

\begin{equation} c_i(r,z)\approx c_i(z), \quad \Phi(r,z)\approx \Phi(z) \label{r-uniform} \end{equation}

又散度满足

\begin{equation} \begin{split} \nabla\cdot \vec{u}=&\lim_{\Delta_z \to 0}\frac{1}{A(z)\Delta_z}\oint \vec{u}\cdot d\vec{S}\\ =&\lim\limits_{\Delta_z \to 0}\frac{A(z+\Delta_z)u(z+\Delta_z)-A(z)u(z)}{A(z)\Delta_z}=\frac{1}{A(z)}\frac{\partial Au}{\partial z} \end{split} \label{div} \end{equation}

其中$A(z)=\pi R^2(z)$ 为截面面积。

将 \eqref{div}式代入\eqref{Poisson}式,得

\begin{equation} \epsilon_0\epsilon_w\frac{d^2\Phi(z)}{dz^2}+\epsilon_0\epsilon_w\frac{d\Phi(z)}{dz}\frac{d\ln A(z)}{dz}=-F\sum_i\nu_i\frac{\overline{c}_i(z)}{A(z)}-\frac{2\sigma}{R(z)} \label{1DPoisson} \end{equation}

其中 $F=eN_A$ 为法拉第常数,$\overline{c}_i(z)=10^3c_i(z)A(z)$ 为一维浓度,单位 $\mathrm{mol/m}$。

将 \eqref{div}式代入\eqref{Nernst-Planck}式,得

\begin{equation} \frac{dJ_i}{dz}=-D_i\frac{d}{dz}\left [A(z)\frac{d}{dz}\frac{\overline{c}_i(z)}{A(z)}+e\beta \nu_i\overline{c}_i(r)\frac{d\Phi(z)}{dz} \right ]=0 \label{1DNernst-Planck} \end{equation}

电流 $I_i=F\nu_iJ_i$,则 \eqref{1DNernst-Planck} 可化为

\begin{equation} \frac{I_i}{F\nu_iD_i}+\frac{d\overline{c}_i(z)}{dz}-\frac{\overline{c}_i(z)}{A(z)}\frac{dA(z)}{dz}+e\beta \nu_i\overline{c}_i(r)\frac{d\Phi(z)}{dz}=0 \label{1DNernst-PlanckI} \end{equation}

令 $e\beta \Phi(z)=\Phi^*(z)$,$z=z^*L$,$R(z)=R^*(z)R(0)$,$\overline{c}_i=\overline{c}_i^*c_0$,$I_iL/(FD_ic_0)=I_i^*$,分别代入 \eqref{1DPoisson}式和\eqref{1DNernst-PlanckI}式,并考虑到 $A(z)=\pi R^2(z)$,分别得

\begin{equation} \frac{1}{\lambda^2}\left(\frac{d^2\Phi^*(z)}{dz^{*2}}+\frac{2}{R^*}\frac{dR^*}{dz^*}\frac{d\Phi^*}{dz^*}\right )+\frac{\varepsilon}{R^*(z)}+\frac{1}{\pi R^{*2}(z)}\sum_i\nu_i\overline{c}_i^*(z)=0 \label{1DPoissonN} \end{equation}

其中 $\frac{1}{\lambda^2}=\frac{\epsilon_0\epsilon_w R^2(0)}{c_0F\beta eL^2}=\frac{R_0^2}{4\pi l_BN_Ac_0L^2}$,$\varepsilon=\frac{2\sigma R(0)}{Fc_0}$

\begin{equation} \frac{I_i^*}{\nu_i}+\frac{d\overline{c}_i^*(z)}{dz^*}-\frac{2\overline{c}_i^*(z)}{R^*}\frac{dR^*}{dz}+\nu_i\overline{c}_i^*(r,z)\frac{d\Phi^*(z)}{dz^*}=0 \label{1DNernst-PlanckIN} \end{equation}

边界条件为

\begin{equation} \begin{split} \overline{c}_i^*(0)=&10^3\pi R(0)^2c_{\mathrm{bulk}}/c_0 \\ \overline{c}_i^*(1)=&10^3\pi R(L)^2c_{\mathrm{bulk}}/c_0 \\ \Phi^*(0)=&0\\ \Phi^*(0)=&-e\beta U \end{split} \label{BC} \end{equation}

其中 $c_{\mathrm{bulk}}$ 为本体盐溶液离子浓度,单位为$\mathrm M$,$U$ 为电源电势差,单位为$\mathrm V$。

方程中的参数,$c_0=10^{-14}/6.023 \quad\mathrm{mol/m}=10^{-23}/6.023\quad \mathrm{mol/nm}$,$\lambda^2=4\pi\times 0.71[L/R(0)]^2$,$\varepsilon=2\sigma R(0)$,这里$\sigma$ 单位为$\mathrm{e/nm^2}$,$R(0)$单位为$\mathrm {nm}$,$e\beta=38.91/\mathrm V$。

解方程\eqref{1DPoissonN} 和 \eqref{1DNernst-PlanckIN}即得结果。可以用Matlab bvp4c求解,程序如下。

数值求解

以下程序适用于求解$L$比较大的情形,用continuation得初值,对于比较短的孔道,不必这么麻烦。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
function cPNP1D ()
%****************************************************************************
% Solve PHYSICAL REVIEW E 2008, 77, 031131
% Li-Jian Qu, May, 8th, 2018
<p>nanopore_para = [220 % right opening radius, unit nm<br />
120 % nanopore length<br />
-0.1 % nanopore charge density<br />
-0.1 % electric potential<br />
0.1 % bulk salt density<br />
];</p>
<p>options = bvpset('RelTol',1e-4);%[]; % place holder</p>
<p>x_init = linspace ( 0.0, 1, 3000);</p>
<p>Ic(1)=0;<br />
Ic(2)=0;</p>
<p>solinit = bvpinit ( x_init, @pnp_init, Ic);</p>
<p>sol = bvp4c ( @pnp_ode, @pnp_bc, solinit, options, nanopore_para);</p>
<p>% If not convergent, use continuation method<br />
for i=1:2<br />
nanopore_para(2)=10*nanopore_para(2);<br />
sol = bvp4c ( @pnp_ode, @pnp_bc, sol, options, nanopore_para);<br />
end</p>
<p>nanopore_para(4)=1;<br />
sol = bvp4c ( @pnp_ode, @pnp_bc, sol, options, nanopore_para);</p>
<p>x = linspace ( 0.0, 1, 1000);</p>
<p>ra = 3+(nanopore_para(1)-3)*x;</p>
<p>y = deval ( sol, x );<br />
Ic=sol.parameters;</p>
<p>fprintf('nanopre length = %g. electric potential=%g\n',nanopore_para(2),nanopore_para(4));<br />
fprintf('I = %g \n',0.32*(Ic(1)+Ic(2))/nanopore_para(2)); % 0.32=FDc_01e9</p>
<p>close all</p>
<p>plot ( nanopore_para(2)<em>x,y(1,:)./(1.89</em>ra.^2), 'r-', 'Linewidth', 2 );%c_0/pi<br />
xlabel ( '&lt;--- X ---&gt;', 'Fontsize', 16 );<br />
ylabel ( '&lt;--- Y(X) ---&gt;', 'Fontsize', 16 );<br />
title ( 'Distribution of positive ion', 'Fontsize', 16 )<br />
grid on<br />
filename = 'pion.png';<br />
figure</p>
<p>plot ( nanopore_para(2)<em>x, y(2,:)./(1.89</em>ra.^2), 'r-', 'Linewidth', 2 );<br />
xlabel ( '&lt;--- X ---&gt;', 'Fontsize', 16 );<br />
ylabel ( '&lt;--- Y(X) ---&gt;', 'Fontsize', 16 );<br />
title ( 'Distribution of negative ion', 'Fontsize', 16 )<br />
grid on<br />
filename = 'nion.png';<br />
figure</p>
<p>plot ( nanopore_para(2)<em>x, 0.0257</em>y(3,:), 'r-', 'Linewidth', 2 ); % 0.0257=kT/e<br />
xlabel ( '&lt;--- X ---&gt;', 'Fontsize', 16 );<br />
ylabel ( '&lt;--- Y(X) ---&gt;', 'Fontsize', 16 );<br />
title ( 'Distribution of potential', 'Fontsize', 16 )<br />
grid on<br />
filename = 'potential.png';</p>
<p>return</p>
<p>end</p>
<p>function dydx=pnp_ode(x,y,Ic, nanopore_para)</p>
<p>R0=3.0;</p>
<p>rx = 1+(nanopore_para(1)/R0-1)*x;<br />
drdx = nanopore_para(1)/R0-1;</p>
<p>mu = (R0/nanopore_para(2))^2/(4<em>3.14</em>0.71); % 1/lambda^2</p>
<p>nu=2<em>R0</em>nanopore_para(3);</p>
<p>% y(1)=c+, y(2)=c-,y(3)=Phi, y(4)=dPhi/dz<br />
dydx(1)=-Ic(1)-y(1).<em>y(4)+2.0</em>drdx<em>y(1)/rx;<br />
dydx(2)=Ic(2)+y(2).</em>y(4)+2.0<em>drdx</em>y(2)/rx;<br />
dydx(3)=y(4);<br />
dydx(4)=-2.0<em>drdx</em>y(3)/rx-nu/(mu<em>rx)...<br />
-(y(1)-y(2))./(mu</em>3.14*rx^2);</p>
<p>return<br />
end</p>
<p>function bc=pnp_bc(ya,yb,Ic, nanopore_para)</p>
<p>R0=3.0;</p>
<p>gamma=nanopore_para(1)/R0-1;</p>
<p>bc(1)=ya(1)-3.14*0.602<em>R0^2</em>nanopore_para(5);<br />
bc(2)=ya(2)-3.14*0.602<em>R0^2</em>nanopore_para(5);<br />
bc(3)=ya(3);<br />
bc(4)=yb(1)-3.14<em>(1+gamma)^2</em>0.602<em>R0^2</em>nanopore_para(5);<br />
bc(5)=yb(2)-3.14<em>(1+gamma)^2</em>0.602<em>R0^2</em>nanopore_para(5);<br />
bc(6)=yb(3)+38.91*nanopore_para(4);</p>
<p>return<br />
end</p>
<p>function y_init = pnp_init (x)</p>
<p>R0=3.0;</p>
<p>gamma=70;</p>
<p>y_init(1)=3.14*0.602<em>R0^2</em>0.1+...<br />
3.14*0.602<em>((1+gamma)^2-1)</em>R0^2*0.1<em>x;<br />
y_init(2)=3.14</em>0.602<em>R0^2</em>0.1+...<br />
3.14*0.602<em>((1+gamma)^2-1)</em>R0^2*0.1<em>x;<br />
y_init(3)=38.91</em></p>
<p>return<br />
end</p>

标签: matlab, bvp4c, 离子通道, 泊松-能斯特-普朗克

添加新评论

captcha
请输入验证码