Fick+Reaction Solver

Symulator transportu jonów chlorkowych w próbce betonowej. Rozwiązanie numeryczne zagadnienia dyfuzji Fickowskiej i wiązania zgodnie z izotermą Freundlicha.

Internetowy symulator transportu jonów chlorkowych w próbce betonowej będącej w kontakcie z roztworem chlorków. Dyfuzja Fickowska i wiązanie zgodnie z izotermą Freundlicha zakładane są wewnątrz próbki. Metoda Linii z jednorodną siatką została użyta do przekształcenia równań różniczkowych cząstkowych (PDE) w układ równań różniczkowych zwyczajnych (ODE). Tak powstały układ ODE jest następnie rozwiązywany jawną metodą Eulera.

Czasozależny model dyfuzji-reakcji - podstawowe wzory

Dyfuzja i wiązanie

Po uwzględnieniu informacji na temat porowatości betonu oraz wiązania chlorków w fazie stałej, prawo zachowania masy przybiera postać:

$$ \left\{ \begin{array}{l} \phi \frac{\partial c}{\partial t} = D \frac{ \partial^2 c}{\partial x^2} - r \\ (1 -\phi) \rho_s \frac{\partial C_b}{\partial t} = r \end{array} \right. $$
gdzie `c` oznacza stężenie chlorków wolnych w cieczy porowej, `C_b` oznacza stężenie chlorków związanych, `\phi` oznacza porowatość, `D` to współczynnik dyfuzji, `x` to położenie, a `t` oznacza czas.

Człon reakcyjny, `r` wyznaczany jest przy użyciu izotermy Freundlicha:

$$ r = k [c - (C_b \text{/} K_b)^{1\text{/}\eta}] $$
gdzie `k`, `K_b` oraz `\eta` są stałymi reakcji.

Gęstość fazy stałej w betonie, `\rho_s` wyliczana jest z sumy ważonej:

$$ \rho_s = \frac{\rho_c - \phi \cdot \rho_w}{1 - \phi} $$
gdzie `rho_c` oznacza gęstość całkowitą betonu, a `rho_w = 1000 {kg}/m^3` to gęstość wody.

Warunki początkowe i brzegowe

Zakładamy stałe stężenia na brzegach (warunki brzegowe Dirichleta):

$$ \left\{ \begin{array}{l} c(0,t) = c_L = const \\ c(l,t) = c_R = const \end{array} \right. $$

Na początku procesu, próbka nie zawiera chlorków:

$$ \left\{ \begin{array}{l} c(x,0) = 0 \\ C_b(x,0) = 0 \end{array} \right. $$
Całkowite stężenie chlorków

Całkowite stężenie chlorków (podana w `kg`/`kg` betonu) jest sumą chlorków wolnych i związanych:

$$ C_{t o t}(x,t) = C_{f r e e}(x,t) + C_{b o u n d}(x,t), $$
gdzie     `C_{f r e e}(x,t) = \frac{\phi \cdot c(x,t)}{\rho_c}`     oraz     `C_{b o u n d}(x,t) = \frac{(1- \phi) \cdot \rho_s \cdot C_b(x,t)}{\rho_c}`.

Model dyfuzji-reakcji - rozwiązanie numeryczne

Rozwiązanie numeryczne powyższych równań bazuje na Metodzie Linii (MoL) oraz na metodzie jawnej Eulera.

Metoda Linii

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 \equiv c(x_i)` oraz `C_{b,i} \equiv C_b(x_i)`. Drugą pochodną stężenia po położeniu zastępujemy ilorazem różnicowym, otrzymując następujący układ równań:

$$ \left\{ \begin{array}{lll} \phi \frac{dc_i}{dt} = \frac{D}{h^2} (c_{i+1}-2c_i+c_{i-1}) - k [c_i - (C_{b,i} \text{/} K_b)^{1\text{/}\eta}] & & \text{ dla } i=1..n \\ (1 -\phi) \rho_s \frac{dC_{b,i}}{dt} = k [c_i - (C_{b,i} \text{/} K_b)^{1\text{/}\eta}] & & \text{ dla } i=0..n+1 \end{array} \right. $$
Metoda Eulera

Jeżeli `c_{i}` i `C_{b,i}` oznaczają stężenia w czasie `t_j`, a `\overline c_{i}` i `\overline C_{b,i}` oznaczają stężenia w czasie `t_{j+1}`, to wtedy:

$$ \left\{ \begin{array}{ll} \overline c_{i} = c_{i} + dt \cdot \frac{dc_{i}}{dt} \\ \overline C_{b,i} = C_{b,i} + dt \cdot \frac{dC_{b,i}}{dt} \end{array} \right. $$

Po wstawieniu wzoru na pochodną po czasie otrzymujemy:

$$ \left\{ \begin{array}{ll} \overline c_{i} = c_{i} + \alpha \left( c_{i+1}-2c_i+c_{i-1} \right) - \beta \bigl( c_i - (C_{b,i} \text{/} K_b)^{1\text{/}\eta} \bigr) \\ \overline C_{b,i} = C_{b,i} + \gamma \bigl( c_i - (C_{b,i} \text{/} K_b)^{1\text{/}\eta} \bigr) \end{array} \right. $$
gdzie `\alpha = \frac{dt \cdot D}{\phi \cdot h^2}`, `\beta = \frac{dt \cdot k}{\phi}` and `\gamma = \frac{dt \cdot k}{(1 -\phi) \rho_s}`.