Permeation regimes#

Objectives

  • Implement dissociation and recombination fluxes

  • Identify different hydrogen permeation regimes for gas driven permeation problems

In the previous permeation tutorial, the concentration on the upstream surface was enforced with Sievert’s law of solubility. However, this law is valid only for diffusion limited permeation. This is a particular regime where the overall transport of hydrogen from the gas phase to the downstream volume is limited by the diffusion in the bulk material. In some conditions, the transport is limited by the surface effects. This is the surface limited regime.

In this tutorial, we’ll implement dissociation and recombination fluxes on the surfaces and show the transition from one regime to another, and explore the validity of Sievert’s law.

Let’s start by making a parametric FESTIM model taking as parameters the size of the domain, the upstream pressure, the surface rate coefficients, and the diffusivity.

Implementation#

import festim as F
import numpy as np


def compute_permeation_flux(L, P_up, K_r_, K_d, D):
    my_model = F.Simulation(log_level=40)

    my_model.mesh = F.MeshFromVertices(vertices=np.linspace(0, L, num=10))

    my_model.materials = F.Material(id=1, D_0=D, E_D=0)

    my_model.boundary_conditions = [
        F.DissociationFlux(Kd_0=K_d, E_Kd=0, P=P_up, surfaces=1),
        F.RecombinationFlux(Kr_0=K_r_, E_Kr=0, order=2, surfaces=[1, 2]),
    ]

    my_model.T = 300  # ignored here

    my_model.settings = F.Settings(
        absolute_tolerance=1e-8,
        relative_tolerance=1e-10,
        transient=True,
        final_time=400,
    )

    my_model.dt = F.Stepsize(0.01, stepsize_change_ratio=1.1)

    permeation_flux = F.HydrogenFlux(surface=2)
    surface_concentration = F.TotalSurface(field="solute", surface=1)
    surface_concentration_L = F.TotalSurface(field="solute", surface=2)
    my_model.exports = [
        F.DerivedQuantities(
            [permeation_flux, surface_concentration, surface_concentration_L],
        ),
        F.TXTExport(field=0, filename=f"./pressure_{P_up:.2e}.txt"),
    ]

    my_model.initialise()
    my_model.run()

    return permeation_flux, surface_concentration, surface_concentration_L

We can run this model for a range of upstream pressures. We choose arbitrary values for rate coefficients, diffusivities, and length.

K_r = 10
K_d = 100
L = 1
D = 2
fluxes = []
concentrations_0 = []
concentrations_L = []
pressures = np.logspace(-6, 4, num=9)
for P_up in pressures:
    print(f" ---- P = {P_up:.2e} ----")
    flux, c_surf_0, c_surf_L = compute_permeation_flux(L, P_up, K_r, K_d, D)
    fluxes.append(flux)
    concentrations_0.append(c_surf_0)
    concentrations_L.append(c_surf_L)

Hide code cell output

 ---- P = 1.00e-06 ----
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Defining initial values
Defining variational problem
Defining source terms
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
/home/docs/checkouts/readthedocs.org/user_builds/festim-workshop/conda/festim1/lib/python3.11/site-packages/mpmath/libmp/libintmath.py:75: DeprecationWarning: bitcount function is deprecated
  warnings.warn("bitcount function is deprecated",
Defining boundary conditions
Time stepping...
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
0.0 %        1.0e-02 s    Elapsed time so far: 3.1 s
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
Calling FFC just-in-time (JIT) compiler, this may take some time.
0.0 %        2.1e-02 s    Elapsed time so far: 6.1 s
0.0 %        3.3e-02 s    Elapsed time so far: 6.1 s
0.0 %        4.6e-02 s    Elapsed time so far: 6.1 s
0.0 %        6.1e-02 s    Elapsed time so far: 6.1 s
0.0 %        7.7e-02 s    Elapsed time so far: 6.1 s
0.0 %        9.5e-02 s    Elapsed time so far: 6.1 s
0.0 %        1.1e-01 s    Elapsed time so far: 6.1 s
0.0 %        1.4e-01 s    Elapsed time so far: 6.1 s
0.0 %        1.6e-01 s    Elapsed time so far: 6.1 s
0.1 %        1.9e-01 s    Elapsed time so far: 6.1 s
0.1 %        2.1e-01 s    Elapsed time so far: 6.1 s
0.1 %        2.5e-01 s    Elapsed time so far: 6.1 s
0.1 %        2.8e-01 s    Elapsed time so far: 6.1 s
0.1 %        3.2e-01 s    Elapsed time so far: 6.2 s
0.1 %        3.6e-01 s    Elapsed time so far: 6.2 s
0.1 %        4.1e-01 s    Elapsed time so far: 6.2 s
0.1 %        4.6e-01 s    Elapsed time so far: 6.2 s
0.1 %        5.1e-01 s    Elapsed time so far: 6.2 s
0.1 %        5.7e-01 s    Elapsed time so far: 6.2 s
0.2 %        6.4e-01 s    Elapsed time so far: 6.2 s
0.2 %        7.1e-01 s    Elapsed time so far: 6.2 s
0.2 %        8.0e-01 s    Elapsed time so far: 6.2 s
0.2 %        8.8e-01 s    Elapsed time so far: 6.2 s
0.2 %        9.8e-01 s    Elapsed time so far: 6.2 s
0.3 %        1.1e+00 s    Elapsed time so far: 6.2 s
0.3 %        1.2e+00 s    Elapsed time so far: 6.2 s
0.3 %        1.3e+00 s    Elapsed time so far: 6.2 s
0.4 %        1.5e+00 s    Elapsed time so far: 6.2 s
0.4 %        1.6e+00 s    Elapsed time so far: 6.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 6.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 6.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 6.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 6.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 6.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 6.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 6.3 s
0.9 %        3.6e+00 s    Elapsed time so far: 6.3 s
1.0 %        4.0e+00 s    Elapsed time so far: 6.3 s
1.1 %        4.4e+00 s    Elapsed time so far: 6.3 s
1.2 %        4.9e+00 s    Elapsed time so far: 6.3 s
1.3 %        5.4e+00 s    Elapsed time so far: 6.3 s
1.5 %        5.9e+00 s    Elapsed time so far: 6.3 s
1.6 %        6.5e+00 s    Elapsed time so far: 6.3 s
1.8 %        7.2e+00 s    Elapsed time so far: 6.3 s
2.0 %        7.9e+00 s    Elapsed time so far: 6.3 s
2.2 %        8.7e+00 s    Elapsed time so far: 6.3 s
2.4 %        9.6e+00 s    Elapsed time so far: 6.3 s
2.6 %        1.1e+01 s    Elapsed time so far: 6.3 s
2.9 %        1.2e+01 s    Elapsed time so far: 6.3 s
3.2 %        1.3e+01 s    Elapsed time so far: 6.3 s
3.5 %        1.4e+01 s    Elapsed time so far: 6.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 6.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 6.4 s
4.7 %        1.9e+01 s    Elapsed time so far: 6.4 s
5.2 %        2.1e+01 s    Elapsed time so far: 6.4 s
5.7 %        2.3e+01 s    Elapsed time so far: 6.4 s
6.3 %        2.5e+01 s    Elapsed time so far: 6.4 s
6.9 %        2.8e+01 s    Elapsed time so far: 6.4 s
7.6 %        3.0e+01 s    Elapsed time so far: 6.4 s
8.3 %        3.3e+01 s    Elapsed time so far: 6.4 s
9.2 %        3.7e+01 s    Elapsed time so far: 6.4 s
10.1 %        4.0e+01 s    Elapsed time so far: 6.4 s
11.1 %        4.4e+01 s    Elapsed time so far: 6.4 s
12.2 %        4.9e+01 s    Elapsed time so far: 6.4 s
13.5 %        5.4e+01 s    Elapsed time so far: 6.4 s
14.8 %        5.9e+01 s    Elapsed time so far: 6.4 s
16.3 %        6.5e+01 s    Elapsed time so far: 6.4 s
17.9 %        7.2e+01 s    Elapsed time so far: 6.4 s
19.7 %        7.9e+01 s    Elapsed time so far: 6.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 6.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 6.4 s
26.2 %        1.1e+02 s    Elapsed time so far: 6.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 6.5 s
31.8 %        1.3e+02 s    Elapsed time so far: 6.5 s
35.0 %        1.4e+02 s    Elapsed time so far: 6.5 s
38.5 %        1.5e+02 s    Elapsed time so far: 6.5 s
42.3 %        1.7e+02 s    Elapsed time so far: 6.5 s
46.5 %        1.9e+02 s    Elapsed time so far: 6.5 s
51.2 %        2.0e+02 s    Elapsed time so far: 6.5 s
56.3 %        2.3e+02 s    Elapsed time so far: 6.5 s
61.9 %        2.5e+02 s    Elapsed time so far: 6.5 s
68.1 %        2.7e+02 s    Elapsed time so far: 6.5 s
75.0 %        3.0e+02 s    Elapsed time so far: 6.5 s
82.5 %        3.3e+02 s    Elapsed time so far: 6.5 s
90.7 %        3.6e+02 s    Elapsed time so far: 6.5 s
99.8 %        4.0e+02 s    Elapsed time so far: 6.5 s
100.0 %        4.0e+02 s    Elapsed time so far: 6.5 s
 ---- P = 1.78e-05 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.1e-02 s    Elapsed time so far: 0.0 s
0.0 %        3.3e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.1e-02 s    Elapsed time so far: 0.0 s
0.0 %        7.7e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.5e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.4e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        1.9e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.5e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.7e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.4e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.8e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.8e-01 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.3e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.6e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.6e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.3 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.2 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.2 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.3 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.3 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.2 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.4 s
 ---- P = 3.16e-04 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.1e-02 s    Elapsed time so far: 0.0 s
0.0 %        3.3e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.1e-02 s    Elapsed time so far: 0.0 s
0.0 %        7.7e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.5e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.4e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.6e-01 s    Elapsed time so far: 0.0 s
0.1 %        1.9e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.5e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.7e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.4e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.8e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.8e-01 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.3e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.6e+00 s    Elapsed time so far: 0.1 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.6e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.3 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.2 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.2 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.3 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.3 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.2 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.4 s
 ---- P = 5.62e-03 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.1e-02 s    Elapsed time so far: 0.0 s
0.0 %        3.3e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.1e-02 s    Elapsed time so far: 0.0 s
0.0 %        7.7e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.5e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.4e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        1.9e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.5e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.1e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.7e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.4e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.8e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.8e-01 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.3e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.6e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.6e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.3 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.2 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.2 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.2 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.3 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.3 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.3 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.2 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.4 s
 ---- P = 1.00e-01 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        5.2e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        8.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.3e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.5e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.4e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.9e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.6e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.3e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        1.0e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.4e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.7e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.7e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.4 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.2 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.3 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.3 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.4 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.3 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.4 s
 ---- P = 1.78e+00 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        5.2e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        8.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.3e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.5e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.4e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.9e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.6e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.3e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        1.0e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.4e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.7e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.7e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.4 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.2 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.3 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.3 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.4 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.3 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.4 s
 ---- P = 3.16e+01 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        5.2e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        8.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.3e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.5e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.4e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.9e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.6e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.3e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        1.0e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.2 s
0.3 %        1.4e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.7e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.7e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.4 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.3 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.3 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.3 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.4 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.4 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.3 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.5 s
 ---- P = 5.62e+02 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        5.2e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        8.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.3e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.5e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.4e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.9e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.6e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.3e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        1.0e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.2 s
0.3 %        1.4e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.7e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.7e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.4 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.3 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.3 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.4 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.4 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.3 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.5 s
 ---- P = 1.00e+04 ----
Defining initial values
Defining variational problem
Defining source terms
Defining boundary conditions
Time stepping...
0.0 %        1.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        2.9e-02 s    Elapsed time so far: 0.0 s
0.0 %        4.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        5.2e-02 s    Elapsed time so far: 0.0 s
0.0 %        6.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        8.0e-02 s    Elapsed time so far: 0.0 s
0.0 %        9.6e-02 s    Elapsed time so far: 0.0 s
0.0 %        1.1e-01 s    Elapsed time so far: 0.0 s
0.0 %        1.3e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.5e-01 s    Elapsed time so far: 0.1 s
0.0 %        1.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        2.6e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.0e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.4e-01 s    Elapsed time so far: 0.1 s
0.1 %        3.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.2e-01 s    Elapsed time so far: 0.1 s
0.1 %        4.8e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.3e-01 s    Elapsed time so far: 0.1 s
0.1 %        5.9e-01 s    Elapsed time so far: 0.1 s
0.2 %        6.6e-01 s    Elapsed time so far: 0.1 s
0.2 %        7.3e-01 s    Elapsed time so far: 0.1 s
0.2 %        8.1e-01 s    Elapsed time so far: 0.1 s
0.2 %        9.0e-01 s    Elapsed time so far: 0.1 s
0.2 %        1.0e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.1e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.2e+00 s    Elapsed time so far: 0.1 s
0.3 %        1.4e+00 s    Elapsed time so far: 0.1 s
0.4 %        1.5e+00 s    Elapsed time so far: 0.2 s
0.4 %        1.7e+00 s    Elapsed time so far: 0.2 s
0.5 %        1.8e+00 s    Elapsed time so far: 0.2 s
0.5 %        2.0e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.2e+00 s    Elapsed time so far: 0.2 s
0.6 %        2.5e+00 s    Elapsed time so far: 0.2 s
0.7 %        2.7e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.0e+00 s    Elapsed time so far: 0.2 s
0.8 %        3.3e+00 s    Elapsed time so far: 0.2 s
0.9 %        3.7e+00 s    Elapsed time so far: 0.2 s
1.0 %        4.0e+00 s    Elapsed time so far: 0.2 s
1.1 %        4.4e+00 s    Elapsed time so far: 0.2 s
1.2 %        4.9e+00 s    Elapsed time so far: 0.2 s
1.4 %        5.4e+00 s    Elapsed time so far: 0.2 s
1.5 %        5.9e+00 s    Elapsed time so far: 0.2 s
1.6 %        6.5e+00 s    Elapsed time so far: 0.2 s
1.8 %        7.2e+00 s    Elapsed time so far: 0.2 s
2.0 %        7.9e+00 s    Elapsed time so far: 0.2 s
2.2 %        8.7e+00 s    Elapsed time so far: 0.2 s
2.4 %        9.6e+00 s    Elapsed time so far: 0.2 s
2.6 %        1.1e+01 s    Elapsed time so far: 0.2 s
2.9 %        1.2e+01 s    Elapsed time so far: 0.2 s
3.2 %        1.3e+01 s    Elapsed time so far: 0.2 s
3.5 %        1.4e+01 s    Elapsed time so far: 0.3 s
3.9 %        1.6e+01 s    Elapsed time so far: 0.3 s
4.3 %        1.7e+01 s    Elapsed time so far: 0.3 s
4.7 %        1.9e+01 s    Elapsed time so far: 0.3 s
5.2 %        2.1e+01 s    Elapsed time so far: 0.3 s
5.7 %        2.3e+01 s    Elapsed time so far: 0.3 s
6.3 %        2.5e+01 s    Elapsed time so far: 0.3 s
6.9 %        2.8e+01 s    Elapsed time so far: 0.3 s
7.6 %        3.0e+01 s    Elapsed time so far: 0.3 s
8.3 %        3.3e+01 s    Elapsed time so far: 0.3 s
9.2 %        3.7e+01 s    Elapsed time so far: 0.3 s
10.1 %        4.0e+01 s    Elapsed time so far: 0.3 s
11.1 %        4.4e+01 s    Elapsed time so far: 0.3 s
12.2 %        4.9e+01 s    Elapsed time so far: 0.3 s
13.5 %        5.4e+01 s    Elapsed time so far: 0.3 s
14.8 %        5.9e+01 s    Elapsed time so far: 0.3 s
16.3 %        6.5e+01 s    Elapsed time so far: 0.3 s
17.9 %        7.2e+01 s    Elapsed time so far: 0.3 s
19.7 %        7.9e+01 s    Elapsed time so far: 0.4 s
21.7 %        8.7e+01 s    Elapsed time so far: 0.4 s
23.9 %        9.5e+01 s    Elapsed time so far: 0.4 s
26.3 %        1.1e+02 s    Elapsed time so far: 0.4 s
28.9 %        1.2e+02 s    Elapsed time so far: 0.4 s
31.8 %        1.3e+02 s    Elapsed time so far: 0.4 s
35.0 %        1.4e+02 s    Elapsed time so far: 0.4 s
38.5 %        1.5e+02 s    Elapsed time so far: 0.4 s
42.3 %        1.7e+02 s    Elapsed time so far: 0.4 s
46.5 %        1.9e+02 s    Elapsed time so far: 0.4 s
51.2 %        2.0e+02 s    Elapsed time so far: 0.4 s
56.3 %        2.3e+02 s    Elapsed time so far: 0.4 s
61.9 %        2.5e+02 s    Elapsed time so far: 0.4 s
68.1 %        2.7e+02 s    Elapsed time so far: 0.4 s
75.0 %        3.0e+02 s    Elapsed time so far: 0.4 s
82.5 %        3.3e+02 s    Elapsed time so far: 0.4 s
90.7 %        3.6e+02 s    Elapsed time so far: 0.4 s
99.8 %        4.0e+02 s    Elapsed time so far: 0.4 s
100.0 %        4.0e+02 s    Elapsed time so far: 0.4 s

Analysis#

Permeation number#

To simplify the analysis, it is useful to define the permeation number \(W\) as:

\[ W = \frac{K_d \ L \ \sqrt{P}}{K_S \ D} \]

where \(K_S = \sqrt{\frac{K_d}{K_r}}\) is the solubility.

def permeation_number(P):
    K_S = (K_d/K_r)**0.5
    return K_d * L * P**0.5 / (K_S * D)

Permeation flux as a function of time#

import matplotlib.pyplot as plt
import matplotlib.colors as mcolors

norm = mcolors.SymLogNorm(linthresh=0.5, vmin=permeation_number(pressures[0]), vmax=permeation_number(pressures[-1]))
cmap = plt.cm.RdYlGn

for i, P in enumerate(pressures):
    plt.loglog(
        fluxes[i].t,
        np.abs(fluxes[i].data),
        color=cmap(norm(permeation_number(P))),
    )

plt.colorbar(
    plt.cm.ScalarMappable(norm=norm, cmap=cmap),
    label="Permeation number",
    ax=plt.gca(),
)
plt.xlabel("Time")
plt.ylabel("Permeation flux")
plt.show()
../_images/ab36a2b24a0de9b419cc7d941502bb08c5c64d0c36561aeab0356baaf42bf036.png

Concentration profiles#

Hide code cell content

import matplotlib.pyplot as plt
import matplotlib.animation as animation
from IPython.display import HTML


def animate_concentration_profile(P):
    data = np.genfromtxt(f"pressure_{P:.2e}.txt", delimiter=",", skip_header=1)

    x = data[:, 0]
    # order x
    order = np.argsort(x)
    x = x[order]

    fig, ax = plt.subplots()
    (line1,) = ax.plot([], [], lw=2, color="black")

    def init():
        line1.set_data([], [])
        ax.set_title(f"Hydrogen concentration profile at P = {P:.2e} Pa")
        ax.set_xlim(0, L)
        ax.set_ylim(bottom=0, top=np.max(data[:, 1:]) * 1.1)
        ax.set_xlabel(r"x")
        ax.set_ylabel(r"H concentration")
        ax.spines["top"].set_visible(False)
        ax.spines["right"].set_visible(False)

        return [line1]

    def animate(i):
        c = data[:, i + 1][order]
        line1.set_data(x, c)
        return [line1]

    # Call the animator
    ani = animation.FuncAnimation(
        fig, animate, init_func=init, frames=data.shape[1] - 1, interval=50, blit=True
    )

    plt.close(fig)

    return HTML(ani.to_jshtml())
animate_concentration_profile(pressures[0])
animate_concentration_profile(pressures[-4])

Permeation flux as a function of pressure#

steady_state_fluxes = np.abs([flux.data[-1] for flux in fluxes])

plt.plot(permeation_number(pressures), steady_state_fluxes, marker="o")
plt.xscale("log")
plt.yscale("log")
plt.xlabel("Permeation number $W$")
plt.ylabel("Steady state permeation flux")

Ps_linear = np.logspace(-7, -1)
Ps_squared = np.logspace(1, 6)
plt.plot(permeation_number(Ps_linear), Ps_linear * 100, linestyle="--", color="gray")
plt.plot(permeation_number(Ps_squared), Ps_squared**0.5 * 10, linestyle="--", color="gray")

plt.annotate(r"$\propto P$", (1e-1, 1e-1), color="gray")
plt.annotate(r"$\propto P^{0.5}$", (1e2, 1e3), color="gray")
plt.show()
../_images/cbe9cdec29e2404f27cee38c321319ec9918005e9a776537037d75b08a0d0915.png

Validity of hypotheses on surface concentrations#

At high permeation numbers, the concentration on the upstream surface is very rapidly equal to Sievert’s law. However at lower permeation numbers, it takes longer for the upstream concentration to reach steady state, and this steady state isn’t even exactly equal to Sievert’s law.

Hide code cell source

plt.xscale("log")
plt.yscale("log")
plt.xlabel("Permeation number $W$")
plt.ylabel("Steady state surface concentration (upstream)")

plt.plot(
    permeation_number(pressures), (np.array(pressures) * K_d / K_r) ** 0.5, linestyle="--", color="gray"
)

for i, P in enumerate(pressures):
    if i == 0:
        plt.annotate(
            "$t=0$",
            (permeation_number(P), concentrations_0[i].data[0]),
            xytext=(-30, 0),
            textcoords="offset points",
            color="gray",
        )
        plt.annotate(
            r"$t=t_\mathrm{final}$",
            (permeation_number(P), concentrations_0[i].data[-1]),
            xytext=(-41, 0),
            textcoords="offset points",
            color="tab:blue",
        )
    plt.scatter(
        np.ones_like(concentrations_0[i].data) * permeation_number(P), concentrations_0[i].data, alpha=0.1
    )

plt.annotate("Sievert's law", (1e-4, 1e0), textcoords="data", color="gray")
plt.xlim(left=0.3e-2)
plt.show()
../_images/73f74f132495f383d57a1fbbe8ff566023d0c6b965671147004658156c27b1b8.png

At high permeation numbers (diffusion-limited regime), the concentration on the downstream is negligible compared to the concentration on the upstream surface.

However, at low permeation numbers (surface-limited regime), both concentrations are more and more comparable and assuming \(c=0\) on the downstream face isn’t valid.

Hide code cell source

for i, P in enumerate(pressures):
    ratio = np.array(concentrations_L[i].data) / np.array(concentrations_0[i].data)
    plt.loglog(
        concentrations_L[i].t, ratio, label=f"P={P}", color=cmap(norm(permeation_number(P)))
    )

plt.xlabel("Time")
plt.ylabel("Ratio of surface concentrations")
plt.colorbar(
    plt.cm.ScalarMappable(norm=norm, cmap=cmap), label="Permeation number $W$", ax=plt.gca()
)

plt.show()
../_images/29611173e2e71b162a58ff77d2f0814ea5e3b325ceabb900661e145305444f06.png