NPP dla cienkich membran

Model Nernsta-Plancka-Poissona do opisu elektrodyfuzji w cienkich membranach. Pozwala na otrzymanie profili stężeń i potencjału wewnątrz membrany.

Równanie Nernsta-Plancka podaje zależność strumienia jonów od procesów dyfuzji i migracji, podczas gdy równanie Poissona opisuje pole elektryczne powstające w wyniku ruchu jonów. Program korzysta z warunków brzegowych Chang'a-Jaffe Dirichleta dla stężeń i warunków brzegowych Dirichleta dla potencjału.

Model NPP - podstawowe wzory

Model NPP jest problemem początkowo-brzegowym. Poniżej pokazane jest rozwiązanie dla warunków brzegowych Dirichleta zarówno dla stężeń, jak i dla potencjału.

Prawo zachowania masy

Reakcje nie są uwzględnione, a zatem prawo zachowania masy przyjmuje postać:

$$ \frac{\partial c_i}{\partial t} = - \frac{\partial J_i}{\partial x} $$
gdzie `c_i` oznacza stężenie `i`-tego jonu, a `J_i` jego strumień; `x` oznacza przestrzeń, a `t` reprezentuje czas.
Równanie Nernsta-Plancka

Równanie Nernsta-Plancka opisuje strumień jonu, uwzględniając wpływ procesów dyfuzji oraz migracji (jako suma dwóch składników):

$$ J_i= - D_i \frac{\partial c_i}{\partial x} - \frac{F}{RT} z_i D_i c_i \frac{\partial \varphi}{\partial x} $$
gdzie `D_i` oznacza współczynnik dyfuzji i-tego jonu, a `z_i` jego ładunek; `\varphi` representuje potencjał elektryczny; `F` to stała Faradaya, `R` to stała gazowa, a `T` oznacza temperaturę.
Równanie Poissona

Równanie Poissona łączy potencjał z powstającym zaburzeniem elektro-obojętności:

$$ \frac{\partial^2 \varphi}{\partial x^2} = - \frac{F}{\varepsilon} \sum_i z_i c_i $$
gdzie `\varepsilon` oznacza przenikalność elektryczną ośrodka.
Warunki początkowe i brzegowe

Zakładamy stałe początkowe stężenia wszyskich jonów:

`c_i (x,0) = c_{i,ST} = const`

Stosujemy warunki brzegowe Dirichleta dla potencjału, t.j. zakładamy stałe wartości potencjału na brzegach:

$$ \left\{ \begin{array}{l} \varphi(0,t) = \varphi_L = const \\ \varphi(l,t) = \varphi_R = const \\ \end{array} \right. $$
Warunki brzegowe Dirichleta stosujemy również dla stężeń:
$$ \left\{ \begin{array}{l} c_i(0,t) = c_{i,L} \cdot k_{in} / k_{out} = const \\ c_i(l,t) = c_{i,R} \cdot k_{in} / k_{out} = const \end{array} \right. $$

Zamiennie można zastosować warunki brzegowe Changa-Jaffego:

$$ \left\{ \begin{array}{l} J_i(0,t) = k_{in} \cdot c_{i,L} - k_{out} \cdot c_i(0,t)\\ J_i(l,t) = k_{out} \cdot c_i(l,t) - k_{in} \cdot c_{i,R} \end{array} \right. $$
gdzie `k_{i n}` oraz `k_{out}` są heterogenicznymi stałymi przejścia `i`-tego wchodzącego do membrany i wychodzącego z membrany.

Model NPP - rozwiązanie numeryczne

Rozwiązanie numeryczne powyższych równań opiera się na Metodzie Linii oraz metodzie jawnej Eulera.
Metoda Linii dla stężeń

Dzielimy rozpatrywany odcinek, na `n + 1` przedziałów, otrzymując punkty `x_0` do `x_{n+1}`. Odległość między kolejnymi punktami wynosi `h`. Definiujemy `c_{i,k} \equiv c_i(x_k)`, oraz definiujemy punkty pomocnicze ` x_{k-1/2} ` oraz ` x_{k+1/2} ` w odległości `h/2` od punktu `x_k`. W tych punktach wyznaczać będziemy strumienie (`J_{i,k-1/2}` oraz `J_{i,k+1/2}`).

Prawo zachowania masy dla `i`-tego składnika w `k`-tym punkcie jest wyrażone jako:

$$ \frac{dc_{i,k}}{dt} = - \frac{J_{i,k+1/2}-J_{i,k-1/2}}{h} $$

Równanie Nernsta-Plancka dla strumieni `J_{i,k-1/2}` oraz `J_{i,k+1/2}`, zapisujemy następująco:

$$ \left\{ \begin{array}{l} J_{i,k-1/2}= - D_i \frac{d c_{i,k-1/2}}{dx} - \frac{F}{RT} z_i D_i c_{i,k-1/2} \frac{d \varphi_{k-1/2}}{dx} \\ J_{i,k+1/2}= - D_i \frac{d c_{i,k+1/2}}{dx} - \frac{F}{RT} z_i D_i c_{i,k+1/2} \frac{d \varphi_{k+1/2}}{dx} \end{array} \right. $$
Następnie pochodne, występujące w równaniu Nernsta-Plancka, możemy zastąpić ilorazami różnicowymi otrzymując:
$$ \left\{ \begin{array}{l} J_{i,k-1/2}= - D_i \frac{c_{i,k}-c_{i,k-1}}{h} - \frac{F}{RT} z_i D_i \frac{c_{i,k}+c_{i,k-1}}{2} \frac{\varphi_k -\varphi_{k-1}}{h} \\ J_{i,k+1/2}= - D_i \frac{c_{i,k+1}-c_{i,k}}{h} - \frac{F}{RT} z_i D_i \frac{c_{i,k+1}+c_{i,k}}{2} \frac{\varphi_{k+1} -\varphi_k}{h} \end{array} \right. $$

Po podstawieniu `J_{i,k-1/2}` oraz `J_{i,k+1/2}` do prawa zachowania masy otrzymujemy:

$$ \frac{dc_{i,k}}{dt} = \frac{D_i}{h^2} \left( c_{i,k+1}-2c_{i,k}+c_{i,k-1} \right) + \frac{F z_i D_i}{2RT h^2} \left( (c_{i,k+1}+c_{i,k})(\varphi_{k+1} -\varphi_k) - (c_{i,k}+c_{i,k-1})(\varphi_k -\varphi_{k-1}) \right). $$
Metoda Eulera

Jeżeli `c_{i,k}` oznacza stężenie w czasie `t_j`, a `c\text{_}n e w_{i,k}` oznacza stężenie w czasie `t_{j+1}`, to wtedy:

$$ c\text{_}new_{i,k} = c_{i,k} + dt \cdot \frac{dc_{i,k}}{dt} $$

Po wstawieniu wzoru na pochodną po czasie otrzymujemy:

$$ c\text{_}new_{i,k} = c_{i,k} + \alpha_i \left( c_{i,k+1}-2c_{i,k}+c_{i,k-1} \right) + \beta_i \bigl( (c_{i,k+1}+c_{i,k})(\varphi_{k+1} -\varphi_k) - (c_{i,k}+c_{i,k-1})(\varphi_k -\varphi_{k-1}) \bigr) $$
gdzie `\alpha_i = \frac{dt \cdot D_i}{h^2}` oraz `\beta_i = \frac{dt \cdot F z_i D_i}{2RT h^2}`
Metoda Linii dla równania Poissona

Pochodną po położeniu zastępujemy ilorazem różnicowym otrzymując:

$$ \frac{\varphi_{k+1}-2\varphi_k+\varphi_{k-1}}{h^2} = - \frac{F}{\varepsilon} \sum_i z_i c_{i,k} $$

Po pomnożeniu obustronnie przez `h^2` otrzymujemy równanie `i`-tego elementu:

$$ \varphi_{k-1} - 2\varphi_k + \varphi_{k+1} = - \gamma \sum_i z_i c_{i,k} $$
gdzie `\gamma = \frac{h^2 F}{\varepsilon}`

Wiedząc, że ` \varphi_0 = \varphi_L = const` oraz `\varphi_{n+1} =\varphi_R =const` do powyższego równania podstawiamy `k=1` oraz `k=n`, otrzymując:

$$ -2\varphi_1 + \varphi_2 = - \varphi_L - \gamma \sum_i z_i c_{i,1} $$ $$ \varphi_{n-1} - 2\varphi_{n} = - \varphi_R - \gamma \sum_i z_i c_{i,n} $$

Powyższe trzy równania stanowią układ równań macierzy trójdiagonalnej:

$$ \left[ \begin{array}{ccccccccc|c} -2 & 1 & 0 & 0 & \cdots & 0 & 0 & 0 & 0 & - \gamma \sum z_i c_{i,1} - \varphi_L \\ 1 & -2 & 1 & 0 & \cdots & 0 & 0 & 0 & 0 & - \gamma \sum z_i c_{i,2} \\ 0 & 1 & -2 & 1 & \cdots & 0 & 0 & 0 & 0 & - \gamma \sum z_i c_{i,3} \\ 0 & 0 & 1 & -2 & \cdots & 0 & 0 & 0 & 0 & - \gamma \sum z_i c_{i,4} \\ \vdots & \vdots & \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \vdots\\ 0 & 0 & 0 & 0 & \cdots & -2 & 1 & 0 & 0 & - \gamma \sum z_i c_{i,n-3} \\ 0 & 0 & 0 & 0 & \cdots & 1 & -2 & 1 & 0 & - \gamma \sum z_i c_{i,n-2} \\ 0 & 0 & 0 & 0 & \cdots & 0 & 1 & -2 & 1 & - \gamma \sum z_i c_{i,n-1} \\ 0 & 0 & 0 & 0 & \cdots & 0 & 0 & 1 & -2 & - \gamma \sum z_i c_{i,n} - \varphi_R \\ \end{array} \right] $$