Tip

An interactive online version of this notebook is available, which can be accessed via Open this notebook in Google Colab


Alternatively, you may download this notebook and run it offline.

Tutorial 6 - Managing simulation outputs#

In the previous tutorials we have interacted with the outputs of the simulation via the default plotting functionality. However, usually we need to access the output data to manipulate it or transfer to another software, which is the topic of this notebook.

We start by building and solving our model as shown in previous notebooks:

[1]:
%pip install "pybamm[plot,cite]" -q    # install PyBaMM if it is not installed
import matplotlib.pyplot as plt
import numpy as np

import pybamm

model = pybamm.lithium_ion.SPMe()
sim = pybamm.Simulation(model)
sim.solve([0, 3600])
Note: you may need to restart the kernel to use updated packages.
[1]:
<pybamm.solvers.solution.Solution at 0x136563380>

Accessing solution variables#

We can now access the solved variables directly to visualise or create our own plots. We first extract the solution object:

[2]:
solution = sim.solution

Note that the solution object is also returned when calling the solve method, so this can be streamlined by running

[3]:
solution = sim.solve([0, 3600])

when solving our simulation. Once we have the solution, we can define post-processed variable for the relevant variables:

[4]:
t = solution["Time [s]"]
V = solution["Voltage [V]"]

(for a list of all the available variables see Tutorial 3). These ProcessedVariable objects contain the datapoints for the corresponding variable, which can be accessed by calling the entries variable. For example, for voltage, we can call

[5]:
V.entries
[5]:
array([3.77057396, 3.77055358, 3.77053333, 3.7704931 , 3.77041403,
       3.7702603 , 3.76997849, 3.76971335, 3.76923473, 3.76879676,
       3.76839135, 3.76763934, 3.76696517, 3.7657705 , 3.76482861,
       3.76396994, 3.76317298, 3.76242499, 3.76105167, 3.75980242,
       3.75865012, 3.75758225, 3.75659013, 3.75479647, 3.7532074 ,
       3.75177811, 3.75047724, 3.74928148, 3.74817179, 3.74713337,
       3.74522275, 3.74364749, 3.74187167, 3.74036101, 3.73891052,
       3.73750368, 3.73613075, 3.73478468, 3.73346097, 3.73086618,
       3.7283324 , 3.72584895, 3.7210167 , 3.71687343, 3.7128573 ,
       3.70897172, 3.70521899, 3.70159986, 3.69476089, 3.68844401,
       3.68262899, 3.67728754, 3.6723848 , 3.66372342, 3.65617236,
       3.63840595, 3.59767151, 3.48863759, 3.17213165])

which correspond to the data at the times

[6]:
t.entries
[6]:
array([0.00000000e+00, 1.23792596e-02, 2.47585193e-02, 4.95170385e-02,
       9.90340771e-02, 1.98068154e-01, 3.96136308e-01, 5.94204462e-01,
       9.90340771e-01, 1.38647708e+00, 1.78261339e+00, 2.57488600e+00,
       3.36715862e+00, 4.95170385e+00, 6.37779456e+00, 7.80388527e+00,
       9.22997598e+00, 1.06560667e+01, 1.35082481e+01, 1.63604295e+01,
       1.92126109e+01, 2.20647924e+01, 2.49169738e+01, 3.06213366e+01,
       3.63256995e+01, 4.20300623e+01, 4.77344251e+01, 5.34387880e+01,
       5.91431508e+01, 6.48475137e+01, 7.62562393e+01, 8.65240924e+01,
       9.89736408e+01, 1.10178234e+02, 1.21382828e+02, 1.32587421e+02,
       1.43792015e+02, 1.54996608e+02, 1.66201202e+02, 1.88610389e+02,
       2.11019576e+02, 2.33428763e+02, 2.78247137e+02, 3.17930983e+02,
       3.57614829e+02, 3.97298675e+02, 4.36982521e+02, 4.76666368e+02,
       5.56034060e+02, 6.35401752e+02, 7.14769445e+02, 7.94137137e+02,
       8.73504829e+02, 1.03224021e+03, 1.19097560e+03, 1.50844637e+03,
       2.14338791e+03, 3.41327098e+03, 3.60000000e+03])

In addition, post-processed variables can be called at any time, which will return the interpolated value from the data above:

[7]:
V([200, 400, 780, 1236])  # times in seconds
[7]:
array([3.72957107, 3.70871203, 3.67820577, 3.65411564])

Observing custom variables from the solution#

The model.variables dictionary contains many common simulation outputs, such as

[8]:
model.variables
[8]:
{'Time [s]': Time(0x7acf79e701953ff1, time, children=[], domains={}),
 'Time [min]': Multiplication(-0x6825f269d15d39e2, *, children=['0.016666666666666666', 'time'], domains={}),
 'Time [h]': Multiplication(0x48e47d91ee07de8b, *, children=['0.0002777777777777778', 'time'], domains={}),
 'x [m]': SpatialVariable(-0x74754c4b7b68d93d, x, children=[], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'x_n [m]': SpatialVariable(0x4430ee86444c9f0d, x_n, children=[], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'x_s [m]': SpatialVariable(0x21fc788358b5d6c9, x_s, children=[], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'x_p [m]': SpatialVariable(-0x4680fdfc015239c8, x_p, children=[], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'r_n [m]': SpatialVariable(0x710d0fceaf05982f, r_n, children=[], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'r_p [m]': SpatialVariable(-0x31da3148bf451204, r_p, children=[], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Current variable [A]': FunctionParameter(0x1052b7976317ea39, Current function [A], children=['time'], domains={}),
 'Total current density [A.m-2]': Division(-0x2cb90c1974e38ea4, /, children=['Current function [A]', 'Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'Current [A]': FunctionParameter(0x1052b7976317ea39, Current function [A], children=['time'], domains={}),
 'C-rate': Division(0x44e591bf8f781bc5, /, children=['Current function [A]', 'Nominal cell capacity [A.h]'], domains={}),
 'Discharge capacity [A.h]': Variable(0x214e9c4992a19095, Discharge capacity [A.h], children=[], domains={}),
 'Throughput capacity [A.h]': Variable(0x4902eb9f0e5fcdc, Throughput capacity [A.h], children=[], domains={}),
 'Discharge energy [W.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Throughput energy [W.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Porosity': Concatenation(-0x62f70972be83a80, concatenation, children=['Negative electrode porosity', 'Separator porosity', 'Positive electrode porosity'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrode porosity': FunctionParameter(0x73e9d78550e344c6, Negative electrode porosity, children=['x_n'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode porosity': XAverage(0x388fa93dff0554ea, x-average, children=['Negative electrode porosity'], domains={'primary': ['current collector']}),
 'Separator porosity': FunctionParameter(0x57318a1f001f116e, Separator porosity, children=['x_s'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator porosity': XAverage(-0x19573761746aa16, x-average, children=['Separator porosity'], domains={'primary': ['current collector']}),
 'Positive electrode porosity': FunctionParameter(0x276b371dd1e8dfc9, Positive electrode porosity, children=['x_p'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode porosity': XAverage(0x632d7aa5868b7581, x-average, children=['Positive electrode porosity'], domains={'primary': ['current collector']}),
 'Porosity change': FullBroadcast(-0x24da761009ef5979, broadcast, children=['0.0'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrode porosity change [s-1]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode porosity change [s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Separator porosity change [s-1]': FullBroadcast(0x7674e3e990d0fe5c, broadcast, children=['0.0'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator porosity change [s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive electrode porosity change [s-1]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode porosity change [s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative electrode interface utilisation variable': FullBroadcast(-0x4d675172e6db045, broadcast, children=['1.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode interface utilisation variable': PrimaryBroadcast(0x32a506cbc3e70dfc, broadcast, children=['1.0'], domains={'primary': ['current collector']}),
 'Negative electrode interface utilisation': FullBroadcast(-0x4d675172e6db045, broadcast, children=['1.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode interface utilisation': PrimaryBroadcast(0x32a506cbc3e70dfc, broadcast, children=['1.0'], domains={'primary': ['current collector']}),
 'Positive electrode interface utilisation variable': FullBroadcast(0x66ef0321cb35af1, broadcast, children=['1.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode interface utilisation variable': PrimaryBroadcast(0x32a506cbc3e70dfc, broadcast, children=['1.0'], domains={'primary': ['current collector']}),
 'Positive electrode interface utilisation': FullBroadcast(0x66ef0321cb35af1, broadcast, children=['1.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode interface utilisation': PrimaryBroadcast(0x32a506cbc3e70dfc, broadcast, children=['1.0'], domains={'primary': ['current collector']}),
 'Negative particle crack length [m]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative particle crack length [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative particle cracking rate [m.s-1]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative particle cracking rate [m.s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive particle crack length [m]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive particle crack length [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive particle cracking rate [m.s-1]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive particle cracking rate [m.s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative electrode active material volume fraction': FunctionParameter(-0x2454b2f38f09f060, Negative electrode active material volume fraction, children=['x_n'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode active material volume fraction': XAverage(0x5b76073a465f4de9, x-average, children=['Negative electrode active material volume fraction'], domains={'primary': ['current collector']}),
 'Negative electrode capacity [A.h]': Multiplication(0x669ca3c78f3fdc38, *, children=['0.0002777777777777778', 'yz-average(x-average(Negative electrode active material volume fraction)) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * Maximum concentration in negative electrode [mol.m-3] * Faraday constant [C.mol-1]'], domains={}),
 'Negative particle radius': Division(-0x101ad32da86bc809, /, children=['Negative particle radius [m]', 'Negative particle radius [m]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative particle radius [m]': FunctionParameter(0x69e50a0701901e92, Negative particle radius [m], children=['x_n'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative particle radius [m]': XAverage(-0x5998c466e4b3b0d1, x-average, children=['Negative particle radius [m]'], domains={'primary': ['current collector']}),
 'Negative electrode surface area to volume ratio [m-1]': Division(0x35e52969b98a1f4c, /, children=['3.0 * Negative electrode active material volume fraction', 'Negative particle radius [m]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode surface area to volume ratio [m-1]': XAverage(0x7e079d5c3bb8c074, x-average, children=['3.0 * Negative electrode active material volume fraction / Negative particle radius [m]'], domains={'primary': ['current collector']}),
 'Negative electrode active material volume fraction change [s-1]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode active material volume fraction change [s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Loss of lithium due to loss of active material in negative electrode [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode active material volume fraction': FunctionParameter(-0x7111d76c01a10ecd, Positive electrode active material volume fraction, children=['x_p'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode active material volume fraction': XAverage(-0x4f1fec82552a51d0, x-average, children=['Positive electrode active material volume fraction'], domains={'primary': ['current collector']}),
 'Positive electrode capacity [A.h]': Multiplication(0x32c1c48c83a86108, *, children=['0.0002777777777777778', 'yz-average(x-average(Positive electrode active material volume fraction)) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * Maximum concentration in positive electrode [mol.m-3] * Faraday constant [C.mol-1]'], domains={}),
 'Positive particle radius': Division(0x5c197b709356b182, /, children=['Positive particle radius [m]', 'Positive particle radius [m]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive particle radius [m]': FunctionParameter(0x2cd2c04bc094b31b, Positive particle radius [m], children=['x_p'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive particle radius [m]': XAverage(-0x764264480bf1761d, x-average, children=['Positive particle radius [m]'], domains={'primary': ['current collector']}),
 'Positive electrode surface area to volume ratio [m-1]': Division(0x5713b84da378b442, /, children=['3.0 * Positive electrode active material volume fraction', 'Positive particle radius [m]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode surface area to volume ratio [m-1]': XAverage(-0x745811c066b14b46, x-average, children=['3.0 * Positive electrode active material volume fraction / Positive particle radius [m]'], domains={'primary': ['current collector']}),
 'Positive electrode active material volume fraction change [s-1]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode active material volume fraction change [s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Loss of lithium due to loss of active material in positive electrode [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Separator pressure [Pa]': PrimaryBroadcast(-0x2283acf47e5c8401, broadcast, children=['broadcast(0.0)'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator pressure [Pa]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'negative electrode transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(0x6bab0bd9ea7821df, broadcast, children=['broadcast(0.0)'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'separator transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(-0x2283acf47e5c8401, broadcast, children=['broadcast(0.0)'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'positive electrode transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(-0x4c0574204a66d2eb, broadcast, children=['broadcast(0.0)'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Transverse volume-averaged velocity [m.s-1]': PrimaryBroadcast(-0x18d0dc5c164643f9, broadcast, children=['broadcast(0.0)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'negative electrode transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(0x6bab0bd9ea7821df, broadcast, children=['broadcast(0.0)'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'separator transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x2283acf47e5c8401, broadcast, children=['broadcast(0.0)'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'positive electrode transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x4c0574204a66d2eb, broadcast, children=['broadcast(0.0)'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Transverse volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x18d0dc5c164643f9, broadcast, children=['broadcast(0.0)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrode volume-averaged velocity [m.s-1]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative electrode volume-averaged acceleration [m.s-2]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative electrode pressure [Pa]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode pressure [Pa]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive electrode volume-averaged velocity [m.s-1]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode volume-averaged acceleration [m.s-2]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive electrode pressure [Pa]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode pressure [Pa]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative particle concentration [mol.m-3]': SecondaryBroadcast(-0x1a2038ed2db90218, broadcast, children=['X-averaged negative particle concentration [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'X-averaged negative particle concentration [mol.m-3]': Variable(-0xc6e9f039a349e5d, X-averaged negative particle concentration [mol.m-3], children=[], domains={'primary': ['negative particle'], 'secondary': ['current collector']}),
 'R-averaged negative particle concentration [mol.m-3]': PrimaryBroadcast(0x282ca1da63d2070f, broadcast, children=['r-average(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Average negative particle concentration [mol.m-3]': RAverage(0x2e708c99191dbd42, r-average, children=['X-averaged negative particle concentration [mol.m-3]'], domains={'primary': ['current collector']}),
 'Negative particle surface concentration [mol.m-3]': PrimaryBroadcast(0x498f174d367382fa, broadcast, children=['boundary value(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative particle surface concentration [mol.m-3]': BoundaryValue(-0x33053ef02fe008a2, boundary value, children=['X-averaged negative particle concentration [mol.m-3]'], domains={'primary': ['current collector']}),
 'Minimum negative particle concentration [mol.m-3]': Min(-0x44d6bb19996299d2, function (min), children=['broadcast(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'Maximum negative particle concentration [mol.m-3]': Max(0x4827c72aabfe0905, function (max), children=['broadcast(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'Minimum negative particle Minimum negative particle surface concentration [mol.m-3]': Min(0x4e04ae73d4750efa, function (min), children=['broadcast(boundary value(X-averaged negative particle concentration [mol.m-3]))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Maximum negative particle surface concentration [mol.m-3]': Max(0x109280d64de32c64, function (max), children=['broadcast(boundary value(X-averaged negative particle concentration [mol.m-3]))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative particle concentration': SecondaryBroadcast(-0x123421b9cb79ffee, broadcast, children=['X-averaged negative particle concentration [mol.m-3] / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'X-averaged negative particle concentration': Division(-0x6f56560a4789f5b7, /, children=['X-averaged negative particle concentration [mol.m-3]', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['current collector']}),
 'R-averaged negative particle concentration': PrimaryBroadcast(-0x169f3b6453d87718, broadcast, children=['r-average(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Average negative particle concentration': Division(0x3d97a92d32162e18, /, children=['r-average(X-averaged negative particle concentration [mol.m-3])', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Negative particle surface concentration': PrimaryBroadcast(-0x4329904ba71ee4c3, broadcast, children=['boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative particle surface concentration': Division(-0x1a6dce64ac5c7c40, /, children=['boundary value(X-averaged negative particle concentration [mol.m-3])', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Minimum negative particle concentration': Division(-0x794ccf0081258486, /, children=['min(broadcast(X-averaged negative particle concentration [mol.m-3]))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'Maximum negative particle concentration': Division(0x4d18733c1499c893, /, children=['max(broadcast(X-averaged negative particle concentration [mol.m-3]))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'Minimum negative particle surface concentration': Division(0x16c6e92c29e8de2b, /, children=['min(broadcast(boundary value(X-averaged negative particle concentration [mol.m-3])))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Maximum negative particle surface concentration': Division(-0x4c2990a72a440dcd, /, children=['max(broadcast(boundary value(X-averaged negative particle concentration [mol.m-3])))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative particle stoichiometry': SecondaryBroadcast(-0x123421b9cb79ffee, broadcast, children=['X-averaged negative particle concentration [mol.m-3] / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'X-averaged negative particle stoichiometry': Division(-0x6f56560a4789f5b7, /, children=['X-averaged negative particle concentration [mol.m-3]', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['current collector']}),
 'R-averaged negative particle stoichiometry': PrimaryBroadcast(-0x169f3b6453d87718, broadcast, children=['r-average(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Average negative particle stoichiometry': Division(0x3d97a92d32162e18, /, children=['r-average(X-averaged negative particle concentration [mol.m-3])', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Negative particle surface stoichiometry': PrimaryBroadcast(-0x4329904ba71ee4c3, broadcast, children=['boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative particle surface stoichiometry': Division(-0x1a6dce64ac5c7c40, /, children=['boundary value(X-averaged negative particle concentration [mol.m-3])', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Minimum negative particle stoichiometry': Division(-0x794ccf0081258486, /, children=['min(broadcast(X-averaged negative particle concentration [mol.m-3]))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'Maximum negative particle stoichiometry': Division(0x4d18733c1499c893, /, children=['max(broadcast(X-averaged negative particle concentration [mol.m-3]))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'Minimum negative particle surface stoichiometry': Division(0x16c6e92c29e8de2b, /, children=['min(broadcast(boundary value(X-averaged negative particle concentration [mol.m-3])))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Maximum negative particle surface stoichiometry': Division(-0x4c2990a72a440dcd, /, children=['max(broadcast(boundary value(X-averaged negative particle concentration [mol.m-3])))', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative electrode extent of lithiation': PrimaryBroadcast(-0x169f3b6453d87718, broadcast, children=['r-average(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode extent of lithiation': Division(0x3d97a92d32162e18, /, children=['r-average(X-averaged negative particle concentration [mol.m-3])', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive particle concentration [mol.m-3]': SecondaryBroadcast(0x6f1b9f5aff37a8d4, broadcast, children=['X-averaged positive particle concentration [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'X-averaged positive particle concentration [mol.m-3]': Variable(-0x199b7524c5b2818c, X-averaged positive particle concentration [mol.m-3], children=[], domains={'primary': ['positive particle'], 'secondary': ['current collector']}),
 'R-averaged positive particle concentration [mol.m-3]': PrimaryBroadcast(0x1c1e17eceffdb9f2, broadcast, children=['r-average(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Average positive particle concentration [mol.m-3]': RAverage(-0x109f13578644d05c, r-average, children=['X-averaged positive particle concentration [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive particle surface concentration [mol.m-3]': PrimaryBroadcast(0x5e85c57b5ba5f190, broadcast, children=['boundary value(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive particle surface concentration [mol.m-3]': BoundaryValue(0x7b748729b3deaf92, boundary value, children=['X-averaged positive particle concentration [mol.m-3]'], domains={'primary': ['current collector']}),
 'Minimum positive particle concentration [mol.m-3]': Min(-0x106633228a5e06c4, function (min), children=['broadcast(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Maximum positive particle concentration [mol.m-3]': Max(0x2b872f13870fb6c1, function (max), children=['broadcast(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Minimum positive particle Minimum positive particle surface concentration [mol.m-3]': Min(-0x70931912cabcc19c, function (min), children=['broadcast(boundary value(X-averaged positive particle concentration [mol.m-3]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Maximum positive particle surface concentration [mol.m-3]': Max(-0x380597a842574a1, function (max), children=['broadcast(boundary value(X-averaged positive particle concentration [mol.m-3]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive particle concentration': SecondaryBroadcast(0x10361fdde605a354, broadcast, children=['X-averaged positive particle concentration [mol.m-3] / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'X-averaged positive particle concentration': Division(0x6135cee1d4e71de6, /, children=['X-averaged positive particle concentration [mol.m-3]', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['current collector']}),
 'R-averaged positive particle concentration': PrimaryBroadcast(-0x74b97f1b9f180969, broadcast, children=['r-average(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Average positive particle concentration': Division(0x41266f52812a3df, /, children=['r-average(X-averaged positive particle concentration [mol.m-3])', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive particle surface concentration': PrimaryBroadcast(-0x48fe87004dc0417e, broadcast, children=['boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive particle surface concentration': Division(0x14b7318283b0b84a, /, children=['boundary value(X-averaged positive particle concentration [mol.m-3])', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Minimum positive particle concentration': Division(0x25b11a729f3b8045, /, children=['min(broadcast(X-averaged positive particle concentration [mol.m-3]))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Maximum positive particle concentration': Division(0x153d02c5f85c0079, /, children=['max(broadcast(X-averaged positive particle concentration [mol.m-3]))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Minimum positive particle surface concentration': Division(-0x76ffcf8a0b508bf0, /, children=['min(broadcast(boundary value(X-averaged positive particle concentration [mol.m-3])))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Maximum positive particle surface concentration': Division(0x711575ba853111a4, /, children=['max(broadcast(boundary value(X-averaged positive particle concentration [mol.m-3])))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive particle stoichiometry': SecondaryBroadcast(0x10361fdde605a354, broadcast, children=['X-averaged positive particle concentration [mol.m-3] / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'X-averaged positive particle stoichiometry': Division(0x6135cee1d4e71de6, /, children=['X-averaged positive particle concentration [mol.m-3]', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['current collector']}),
 'R-averaged positive particle stoichiometry': PrimaryBroadcast(-0x74b97f1b9f180969, broadcast, children=['r-average(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Average positive particle stoichiometry': Division(0x41266f52812a3df, /, children=['r-average(X-averaged positive particle concentration [mol.m-3])', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive particle surface stoichiometry': PrimaryBroadcast(-0x48fe87004dc0417e, broadcast, children=['boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive particle surface stoichiometry': Division(0x14b7318283b0b84a, /, children=['boundary value(X-averaged positive particle concentration [mol.m-3])', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Minimum positive particle stoichiometry': Division(0x25b11a729f3b8045, /, children=['min(broadcast(X-averaged positive particle concentration [mol.m-3]))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Maximum positive particle stoichiometry': Division(0x153d02c5f85c0079, /, children=['max(broadcast(X-averaged positive particle concentration [mol.m-3]))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'Minimum positive particle surface stoichiometry': Division(-0x76ffcf8a0b508bf0, /, children=['min(broadcast(boundary value(X-averaged positive particle concentration [mol.m-3])))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Maximum positive particle surface stoichiometry': Division(0x711575ba853111a4, /, children=['max(broadcast(boundary value(X-averaged positive particle concentration [mol.m-3])))', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode extent of lithiation': PrimaryBroadcast(-0x74b97f1b9f180969, broadcast, children=['r-average(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode extent of lithiation': Division(0x41266f52812a3df, /, children=['r-average(X-averaged positive particle concentration [mol.m-3])', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Porosity times concentration [mol.m-3]': ConcatenationVariable(0x73f958882ae9767c, Porosity times concentration [mol.m-3], children=['Negative electrode porosity times concentration [mol.m-3]', 'Separator porosity times concentration [mol.m-3]', 'Positive electrode porosity times concentration [mol.m-3]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrode porosity times concentration [mol.m-3]': Variable(0x12de976cbb802854, Negative electrode porosity times concentration [mol.m-3], children=[], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Separator porosity times concentration [mol.m-3]': Variable(0x3468f3a6ebf8bbe4, Separator porosity times concentration [mol.m-3], children=[], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'Positive electrode porosity times concentration [mol.m-3]': Variable(-0x65e6465df7dc0643, Positive electrode porosity times concentration [mol.m-3], children=[], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Total lithium in electrolyte [mol]': Multiplication(0x57d7f0b4d81f6453, *, children=['(Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell', 'yz-average(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])))'], domains={}),
 'Ambient temperature [K]': FunctionParameter(-0x111e9f6395785299, Ambient temperature [K], children=['y', 'z', 'time'], domains={'primary': ['current collector']}),
 'Volume-averaged ambient temperature [K]': ZAverage(0x24fd9934286a9905, z-average, children=['Ambient temperature [K]'], domains={}),
 'Cell temperature [K]': PrimaryBroadcast(-0x47d5294186edac1e, broadcast, children=['Ambient temperature [K]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative current collector temperature [K]': FunctionParameter(-0x57369686b41b535e, Ambient temperature [K], children=['y', 'z', 'broadcast(time)'], domains={'primary': ['current collector']}),
 'Positive current collector temperature [K]': FunctionParameter(-0x57369686b41b535e, Ambient temperature [K], children=['y', 'z', 'broadcast(time)'], domains={'primary': ['current collector']}),
 'X-averaged cell temperature [K]': FunctionParameter(-0x57369686b41b535e, Ambient temperature [K], children=['y', 'z', 'broadcast(time)'], domains={'primary': ['current collector']}),
 'Volume-averaged cell temperature [K]': ZAverage(-0x79e877353694f8ad, z-average, children=['Ambient temperature [K]'], domains={}),
 'Negative electrode temperature [K]': PrimaryBroadcast(0x676f6b2a4fbc4baf, broadcast, children=['Ambient temperature [K]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode temperature [K]': FunctionParameter(-0x57369686b41b535e, Ambient temperature [K], children=['y', 'z', 'broadcast(time)'], domains={'primary': ['current collector']}),
 'Separator temperature [K]': PrimaryBroadcast(-0x200e2121f0424b8, broadcast, children=['Ambient temperature [K]'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator temperature [K]': FunctionParameter(-0x57369686b41b535e, Ambient temperature [K], children=['y', 'z', 'broadcast(time)'], domains={'primary': ['current collector']}),
 'Positive electrode temperature [K]': PrimaryBroadcast(0x72b4d0739add56e5, broadcast, children=['Ambient temperature [K]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode temperature [K]': FunctionParameter(-0x57369686b41b535e, Ambient temperature [K], children=['y', 'z', 'broadcast(time)'], domains={'primary': ['current collector']}),
 'Ambient temperature [C]': Addition(0x73ad57a572a74a55, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'Volume-averaged ambient temperature [C]': Addition(-0x31ab70f5ed3e2ef7, +, children=['-273.15', 'z-average(Ambient temperature [K])'], domains={}),
 'Cell temperature [C]': PrimaryBroadcast(-0x417126a7efcd883f, broadcast, children=['-273.15 + Ambient temperature [K]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative current collector temperature [C]': Addition(0x55c6a0a286dcebd0, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'Positive current collector temperature [C]': Addition(0x55c6a0a286dcebd0, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'X-averaged cell temperature [C]': Addition(0x55c6a0a286dcebd0, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'Volume-averaged cell temperature [C]': Addition(0x7364372ecf0590c8, +, children=['-273.15', 'z-average(Ambient temperature [K])'], domains={}),
 'Negative electrode temperature [C]': PrimaryBroadcast(-0x6d6e26aa1f0f5af9, broadcast, children=['-273.15 + Ambient temperature [K]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode temperature [C]': Addition(0x55c6a0a286dcebd0, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'Separator temperature [C]': PrimaryBroadcast(-0x38a6fa3507e400d9, broadcast, children=['-273.15 + Ambient temperature [K]'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator temperature [C]': Addition(0x55c6a0a286dcebd0, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'Positive electrode temperature [C]': PrimaryBroadcast(-0x6228c160d3ee4fc3, broadcast, children=['-273.15 + Ambient temperature [K]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode temperature [C]': Addition(0x55c6a0a286dcebd0, +, children=['-273.15', 'Ambient temperature [K]'], domains={'primary': ['current collector']}),
 'Negative current collector potential [V]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative SEI concentration [mol.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative SEI concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative SEI concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of lithium to negative SEI [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of capacity to negative SEI [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative electrode SEI interfacial current density [A.m-2]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode SEI interfacial current density [A.m-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive SEI concentration [mol.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive SEI concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive SEI concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of lithium to positive SEI [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of capacity to positive SEI [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode SEI interfacial current density [A.m-2]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode SEI interfacial current density [A.m-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative SEI on cracks concentration [mol.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative SEI on cracks concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative SEI on cracks concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of lithium to negative SEI on cracks [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of capacity to negative SEI on cracks [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative electrode SEI on cracks interfacial current density [A.m-2]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode SEI on cracks interfacial current density [A.m-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive SEI on cracks concentration [mol.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive SEI on cracks concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive SEI on cracks concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of lithium to positive SEI on cracks [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of capacity to positive SEI on cracks [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode SEI on cracks interfacial current density [A.m-2]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode SEI on cracks interfacial current density [A.m-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative lithium plating concentration [mol.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative lithium plating concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative lithium plating concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative dead lithium concentration [mol.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative dead lithium concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative dead lithium concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative lithium plating thickness [m]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative lithium plating thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative lithium plating thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative dead lithium thickness [m]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative dead lithium thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative dead lithium thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of lithium to negative lithium plating [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of capacity to negative lithium plating [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative electrode lithium plating interfacial current density [A.m-2]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode lithium plating interfacial current density [A.m-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative electrode lithium plating reaction overpotential [V]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode lithium plating reaction overpotential [V]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive lithium plating concentration [mol.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive lithium plating concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive lithium plating concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive dead lithium concentration [mol.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive dead lithium concentration [mol.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive dead lithium concentration [mol.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive lithium plating thickness [m]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive lithium plating thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive lithium plating thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive dead lithium thickness [m]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive dead lithium thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive dead lithium thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of lithium to positive lithium plating [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Loss of capacity to positive lithium plating [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode lithium plating interfacial current density [A.m-2]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode lithium plating interfacial current density [A.m-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive electrode lithium plating reaction overpotential [V]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode lithium plating reaction overpotential [V]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative crack surface to volume ratio [m-1]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative electrode roughness ratio': FullBroadcast(-0x4d675172e6db045, broadcast, children=['1.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode roughness ratio': PrimaryBroadcast(0x32a506cbc3e70dfc, broadcast, children=['1.0'], domains={'primary': ['current collector']}),
 'Positive crack surface to volume ratio [m-1]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode roughness ratio': FullBroadcast(0x66ef0321cb35af1, broadcast, children=['1.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode roughness ratio': PrimaryBroadcast(0x32a506cbc3e70dfc, broadcast, children=['1.0'], domains={'primary': ['current collector']}),
 'Electrolyte transport efficiency': Concatenation(0x74288c18dd68f6c4, concatenation, children=['Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)', 'Separator porosity ** Separator Bruggeman coefficient (electrolyte)', 'Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrolyte transport efficiency': Power(-0x70e0912a0d861837, **, children=['Negative electrode porosity', 'Negative electrode Bruggeman coefficient (electrolyte)'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrolyte transport efficiency': XAverage(0x353d73475d220b42, x-average, children=['Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)'], domains={'primary': ['current collector']}),
 'Separator electrolyte transport efficiency': Power(0xaa17aeb410549bf, **, children=['Separator porosity', 'Separator Bruggeman coefficient (electrolyte)'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator electrolyte transport efficiency': XAverage(0x426811ea0c358ab8, x-average, children=['Separator porosity ** Separator Bruggeman coefficient (electrolyte)'], domains={'primary': ['current collector']}),
 'Positive electrolyte transport efficiency': Power(-0x58b09f191f808e54, **, children=['Positive electrode porosity', 'Positive electrode Bruggeman coefficient (electrolyte)'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrolyte transport efficiency': XAverage(0x2a83dee2b9c912d0, x-average, children=['Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)'], domains={'primary': ['current collector']}),
 'Electrode transport efficiency': Concatenation(0x155fbba875cf13a4, concatenation, children=['(1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)', 'broadcast(0.0)', '(1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrode transport efficiency': Power(-0x5ef56624385ec7ea, **, children=['1.0 - Negative electrode porosity', 'Negative electrode Bruggeman coefficient (electrode)'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode transport efficiency': XAverage(0xdd78dd7ccc90072, x-average, children=['(1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)'], domains={'primary': ['current collector']}),
 'Separator electrode transport efficiency': FullBroadcast(0x7674e3e990d0fe5c, broadcast, children=['0.0'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator electrode transport efficiency': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive electrode transport efficiency': Power(-0x6fa05ec1821badc2, **, children=['1.0 - Positive electrode porosity', 'Positive electrode Bruggeman coefficient (electrode)'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode transport efficiency': XAverage(-0x26012772b7f17a13, x-average, children=['(1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)'], domains={'primary': ['current collector']}),
 'Separator volume-averaged velocity [m.s-1]': FullBroadcast(0x7674e3e990d0fe5c, broadcast, children=['0.0'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'Separator volume-averaged acceleration [m.s-2]': FullBroadcast(0x7674e3e990d0fe5c, broadcast, children=['0.0'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator volume-averaged acceleration [m.s-2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged velocity [m.s-1]': FullBroadcast(-0x24da761009ef5979, broadcast, children=['0.0'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Volume-averaged acceleration [m.s-1]': FullBroadcast(-0x24da761009ef5979, broadcast, children=['0.0'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'X-averaged volume-averaged acceleration [m.s-1]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Pressure [Pa]': Concatenation(-0x6bd7953572f3e580, concatenation, children=['broadcast(0.0)', 'broadcast(broadcast(0.0))', 'broadcast(0.0)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrode stoichiometry': Division(-0x13f5fe54976d740d, /, children=['x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction)', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Negative electrode volume-averaged concentration': Division(-0x13f5fe54976d740d, /, children=['x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction)', 'Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Negative electrode volume-averaged concentration [mol.m-3]': Division(0x6e6d63e37432853b, /, children=['x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))', 'x-average(Negative electrode active material volume fraction)'], domains={'primary': ['current collector']}),
 'Total lithium in primary phase in negative electrode [mol]': Multiplication(0x4464e90b6f31aa76, *, children=['yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m]', 'Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'Positive electrode stoichiometry': Division(0xe0e82d885e56b8, /, children=['x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction)', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive electrode volume-averaged concentration': Division(0xe0e82d885e56b8, /, children=['x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction)', 'Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive electrode volume-averaged concentration [mol.m-3]': Division(0x7d9ae2c2eaa15879, /, children=['x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))', 'x-average(Positive electrode active material volume fraction)'], domains={'primary': ['current collector']}),
 'Total lithium in primary phase in positive electrode [mol]': Multiplication(-0x768accf56efe60ec, *, children=['yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m]', 'Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'Electrolyte concentration concatenation [mol.m-3]': Concatenation(0x26080a00ee2207ea, concatenation, children=['Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity', 'Separator porosity times concentration [mol.m-3] / Separator porosity', 'Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrolyte concentration [mol.m-3]': Division(-0x158e30208413030c, /, children=['Negative electrode porosity times concentration [mol.m-3]', 'Negative electrode porosity'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrolyte concentration [mol.m-3]': XAverage(-0x3e1cbd553b275eea, x-average, children=['Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity'], domains={'primary': ['current collector']}),
 'Separator electrolyte concentration [mol.m-3]': Division(-0x5c8ee8a9f93f3d3f, /, children=['Separator porosity times concentration [mol.m-3]', 'Separator porosity'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator electrolyte concentration [mol.m-3]': XAverage(-0x424f4ff28ad05253, x-average, children=['Separator porosity times concentration [mol.m-3] / Separator porosity'], domains={'primary': ['current collector']}),
 'Positive electrolyte concentration [mol.m-3]': Division(0x4934a41aaf68edd8, /, children=['Positive electrode porosity times concentration [mol.m-3]', 'Positive electrode porosity'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrolyte concentration [mol.m-3]': XAverage(0x797446a4dba822db, x-average, children=['Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity'], domains={'primary': ['current collector']}),
 'Negative electrolyte concentration [Molar]': Multiplication(-0x654523ed97406c50, *, children=['0.001', 'Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrolyte concentration [Molar]': Multiplication(0x1676d051ba830fe8, *, children=['0.001', 'x-average(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity)'], domains={'primary': ['current collector']}),
 'Separator electrolyte concentration [Molar]': Multiplication(-0x3e1479b0bc3fa9af, *, children=['0.001', 'Separator porosity times concentration [mol.m-3] / Separator porosity'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator electrolyte concentration [Molar]': Multiplication(0x8dea62478b19b35, *, children=['0.001', 'x-average(Separator porosity times concentration [mol.m-3] / Separator porosity)'], domains={'primary': ['current collector']}),
 'Positive electrolyte concentration [Molar]': Multiplication(-0x576771987a070ca, *, children=['0.001', 'Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrolyte concentration [Molar]': Multiplication(0x33cd2e93c8253c53, *, children=['0.001', 'x-average(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity)'], domains={'primary': ['current collector']}),
 'Electrolyte concentration [mol.m-3]': Division(0x2d7eea0729d7cc44, /, children=['Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])', 'concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'X-averaged electrolyte concentration [mol.m-3]': XAverage(-0x3c2c7533dd2a5fc, x-average, children=['Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity)'], domains={'primary': ['current collector']}),
 'Electrolyte concentration [Molar]': Multiplication(0x6472313bc881b52a, *, children=['0.001', 'Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity)'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'X-averaged electrolyte concentration [Molar]': Multiplication(-0x294aef02d79c497c, *, children=['0.001', 'x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))'], domains={'primary': ['current collector']}),
 'Ohmic heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'X-averaged Ohmic heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Volume-averaged Ohmic heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Ohmic heating per unit electrode-pair area [W.m-2]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Ohmic heating [W]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Irreversible electrochemical heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'X-averaged irreversible electrochemical heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Volume-averaged irreversible electrochemical heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Irreversible electrochemical heating per unit electrode-pair area [W.m-2]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Irreversible electrochemical heating [W]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Reversible heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'X-averaged reversible heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Volume-averaged reversible heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Reversible heating per unit electrode-pair area [W.m-2]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Reversible heating [W]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Total heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'X-averaged total heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Volume-averaged total heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Total heating per unit electrode-pair area [W.m-2]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Total heating [W]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative current collector Ohmic heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive current collector Ohmic heating [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Surface total cooling [W.m-3]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Surface total cooling [W]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Surface temperature [K]': FunctionParameter(-0x111e9f6395785299, Ambient temperature [K], children=['y', 'z', 'time'], domains={'primary': ['current collector']}),
 'Volume-averaged surface temperature [K]': ZAverage(0x24fd9934286a9905, z-average, children=['Ambient temperature [K]'], domains={}),
 'Environment total cooling [W]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Current collector current density [A.m-2]': PrimaryBroadcast(0x4e96073bf7314826, broadcast, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={'primary': ['current collector']}),
 'Negative electrode SEI volumetric interfacial current density [A.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode SEI volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'X-averaged negative electrode resistance [Ohm.m2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative SEI thickness [m]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative SEI thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative SEI thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode SEI volumetric interfacial current density [A.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode SEI volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'X-averaged positive electrode resistance [Ohm.m2]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive SEI thickness [m]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive SEI thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive SEI thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative electrode SEI on cracks volumetric interfacial current density [A.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode SEI on cracks volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative SEI on cracks thickness [m]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative SEI on cracks thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged negative SEI on cracks thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode SEI on cracks volumetric interfacial current density [A.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode SEI on cracks volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive SEI on cracks thickness [m]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive SEI on cracks thickness [m]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Volume-averaged positive SEI on cracks thickness [m]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative electrode lithium plating volumetric interfacial current density [A.m-3]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode lithium plating volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Positive electrode lithium plating volumetric interfacial current density [A.m-3]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode lithium plating volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x3b86a82da50bee4, broadcast, children=['0.0'], domains={'primary': ['current collector']}),
 'Negative electrode equilibrium open-circuit potential [V]': Addition(0xfac9a0300395f8e, +, children=['Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'X-averaged negative electrode equilibrium open-circuit potential [V]': Addition(0xfac9a0300395f8e, +, children=['Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Negative electrode open-circuit potential [V]': PrimaryBroadcast(0x306379d224302540, broadcast, children=['Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode open-circuit potential [V]': Addition(0xfac9a0300395f8e, +, children=['Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Negative electrode bulk open-circuit potential [V]': Addition(0x121affa30144a580, +, children=['Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Negative particle concentration overpotential [V]': Subtraction(0x60cb1f68c06955e2, -, children=['Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))', 'Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Negative electrode entropic change [V.K-1]': FunctionParameter(-0x7f356d58a387334e, Negative electrode OCP entropic change [V.K-1], children=['boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'X-averaged negative electrode entropic change [V.K-1]': FunctionParameter(-0x7f356d58a387334e, Negative electrode OCP entropic change [V.K-1], children=['boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'Positive electrode equilibrium open-circuit potential [V]': Addition(-0x36350785b9939d5, +, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'X-averaged positive electrode equilibrium open-circuit potential [V]': Addition(-0x36350785b9939d5, +, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Positive electrode open-circuit potential [V]': PrimaryBroadcast(-0x920276764fe0c, broadcast, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode open-circuit potential [V]': Addition(-0x36350785b9939d5, +, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Positive electrode bulk open-circuit potential [V]': Addition(0x1544b6f44068d693, +, children=['Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1]', '1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Positive particle concentration overpotential [V]': Subtraction(-0x563d98bb139701da, -, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))', 'Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Positive electrode entropic change [V.K-1]': FunctionParameter(0x2e9fb15d866dfd48, Positive electrode OCP entropic change [V.K-1], children=['boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'X-averaged positive electrode entropic change [V.K-1]': FunctionParameter(0x2e9fb15d866dfd48, Positive electrode OCP entropic change [V.K-1], children=['boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3]'], domains={'primary': ['current collector']}),
 'X-averaged negative electrode total interfacial current density [A.m-2]': PrimaryBroadcast(-0x73b256ba647c7466, broadcast, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode total volumetric interfacial current density [A.m-3]': PrimaryBroadcast(0xab1f0f403851da5, broadcast, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m]'], domains={'primary': ['current collector']}),
 'Negative electrode SEI film overpotential [V]': FullBroadcast(0x41adb77479a5a43c, broadcast, children=['0.0'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode SEI film overpotential [V]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Negative electrode exchange current density [A.m-2]': FunctionParameter(0x4329927d6af013f3, Negative electrode exchange-current density [A.m-2], children=['maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity, 1e-08)', 'broadcast(maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]), 0.99999999 * Maximum concentration in negative electrode [mol.m-3]), 1e-08 * Maximum concentration in negative electrode [mol.m-3]))', 'Maximum concentration in negative electrode [mol.m-3]', 'broadcast(Ambient temperature [K])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode exchange current density [A.m-2]': XAverage(-0x592f55da6a1f431a, x-average, children=['Negative electrode exchange-current density [A.m-2]'], domains={'primary': ['current collector']}),
 'Negative electrode reaction overpotential [V]': Multiplication(0x3ca1f8b282f603a0, *, children=['broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1])', 'arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode reaction overpotential [V]': XAverage(0x68429705d9d38720, x-average, children=['broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))'], domains={'primary': ['current collector']}),
 'X-averaged negative electrode surface potential difference [V]': Subtraction(-0x5e9319747187b721, -, children=['x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m]))', 'x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['current collector']}),
 'Negative electrode interfacial current density [A.m-2]': PrimaryBroadcast(-0x73b256ba647c7466, broadcast, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode interfacial current density [A.m-2]': Division(-0x4d495a481767a8d, /, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m]', 'x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])'], domains={'primary': ['current collector']}),
 'Negative electrode volumetric interfacial current density [A.m-3]': Multiplication(-0x139603086c5ad1f9, *, children=['3.0 * Negative electrode active material volume fraction / Negative particle radius [m]', 'broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode volumetric interfacial current density [A.m-3]': XAverage(-0x4d3d07b2ffea9b1d, x-average, children=['(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]) * broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))'], domains={'primary': ['current collector']}),
 'X-averaged positive electrode total interfacial current density [A.m-2]': PrimaryBroadcast(0x3037e2f198bcfbe5, broadcast, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode total volumetric interfacial current density [A.m-3]': PrimaryBroadcast(-0x2937cb53618f2de5, broadcast, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m]'], domains={'primary': ['current collector']}),
 'Positive electrode SEI film overpotential [V]': FullBroadcast(-0x459210c8ee1020fd, broadcast, children=['0.0'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode SEI film overpotential [V]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Positive electrode exchange current density [A.m-2]': FunctionParameter(-0x281c9b55fb79e01c, Positive electrode exchange-current density [A.m-2], children=['maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity, 1e-08)', 'broadcast(maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]), 0.99999999 * Maximum concentration in positive electrode [mol.m-3]), 1e-08 * Maximum concentration in positive electrode [mol.m-3]))', 'Maximum concentration in positive electrode [mol.m-3]', 'broadcast(Ambient temperature [K])'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode exchange current density [A.m-2]': XAverage(0x48dfa0ec189ce0c2, x-average, children=['Positive electrode exchange-current density [A.m-2]'], domains={'primary': ['current collector']}),
 'Positive electrode reaction overpotential [V]': Multiplication(-0x1ae043c4b0bff777, *, children=['broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1])', 'arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode reaction overpotential [V]': XAverage(0x551802f3bd49988c, x-average, children=['broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))'], domains={'primary': ['current collector']}),
 'X-averaged positive electrode surface potential difference [V]': Subtraction(-0x726fb4d4c894735b, -, children=['x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))', 'x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['current collector']}),
 'Positive electrode interfacial current density [A.m-2]': PrimaryBroadcast(0x3037e2f198bcfbe5, broadcast, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode interfacial current density [A.m-2]': Division(-0x3702417d2841296, /, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m]', 'x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])'], domains={'primary': ['current collector']}),
 'Positive electrode volumetric interfacial current density [A.m-3]': Multiplication(-0x6fed6787c56d8798, *, children=['3.0 * Positive electrode active material volume fraction / Positive particle radius [m]', 'broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode volumetric interfacial current density [A.m-3]': XAverage(0x4d978686979bda61, x-average, children=['(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]) * broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['current collector']}),
 'Negative particle rhs [mol.m-3.s-1]': Divergence(0x2ce7dcdd9693f517, div, children=['Negative particle diffusivity [m2.s-1] * grad(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative particle'], 'secondary': ['current collector']}),
 'Negative particle bc [mol.m-4]': Division(0x635a793d979d3a61, /, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]) / Faraday constant [C.mol-1]', 'boundary value(Negative particle diffusivity [m2.s-1])'], domains={'primary': ['current collector']}),
 'Negative particle effective diffusivity [m2.s-1]': SecondaryBroadcast(-0x7b648fe13949d444, broadcast, children=['Negative particle diffusivity [m2.s-1]'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'X-averaged negative particle effective diffusivity [m2.s-1]': FunctionParameter(0x4e90ee8894eb11da, Negative particle diffusivity [m2.s-1], children=['maximum(minimum(X-averaged negative particle concentration [mol.m-3] / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)', 'broadcast(Ambient temperature [K])'], domains={'primary': ['negative particle'], 'secondary': ['current collector']}),
 'Volume-averaged negative particle effective diffusivity [m2.s-1]': RAverage(0x2697c00610110056, r-average, children=['Negative particle diffusivity [m2.s-1]'], domains={'primary': ['current collector']}),
 'Negative particle flux [mol.m-2.s-1]': SecondaryBroadcast(0x6619b270ba0d9924, broadcast, children=['-Negative particle diffusivity [m2.s-1] * grad(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative particle'], 'secondary': ['negative electrode'], 'tertiary': ['current collector']}),
 'X-averaged negative particle flux [mol.m-2.s-1]': Multiplication(-0x437a39f42c2e347d, *, children=['-Negative particle diffusivity [m2.s-1]', 'grad(X-averaged negative particle concentration [mol.m-3])'], domains={'primary': ['negative particle'], 'secondary': ['current collector']}),
 'Positive particle rhs [mol.m-3.s-1]': Divergence(-0xcee5010b198a81e, div, children=['Positive particle diffusivity [m2.s-1] * grad(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive particle'], 'secondary': ['current collector']}),
 'Positive particle bc [mol.m-4]': Division(0x4535e717ba5c233, /, children=['--Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]) / Faraday constant [C.mol-1]', 'boundary value(Positive particle diffusivity [m2.s-1])'], domains={'primary': ['current collector']}),
 'Positive particle effective diffusivity [m2.s-1]': SecondaryBroadcast(-0x17276593ed1b3649, broadcast, children=['Positive particle diffusivity [m2.s-1]'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'X-averaged positive particle effective diffusivity [m2.s-1]': FunctionParameter(0x5877e0b2fdd4837a, Positive particle diffusivity [m2.s-1], children=['maximum(minimum(X-averaged positive particle concentration [mol.m-3] / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)', 'broadcast(Ambient temperature [K])'], domains={'primary': ['positive particle'], 'secondary': ['current collector']}),
 'Volume-averaged positive particle effective diffusivity [m2.s-1]': RAverage(-0x309549de97c9dfaa, r-average, children=['Positive particle diffusivity [m2.s-1]'], domains={'primary': ['current collector']}),
 'Positive particle flux [mol.m-2.s-1]': SecondaryBroadcast(0x10b302cedfba5e8c, broadcast, children=['-Positive particle diffusivity [m2.s-1] * grad(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive particle'], 'secondary': ['positive electrode'], 'tertiary': ['current collector']}),
 'X-averaged positive particle flux [mol.m-2.s-1]': Multiplication(0x5d8b7e204672d98f, *, children=['-Positive particle diffusivity [m2.s-1]', 'grad(X-averaged positive particle concentration [mol.m-3])'], domains={'primary': ['positive particle'], 'secondary': ['current collector']}),
 'Negative electrode potential [V]': Multiplication(0xbba8a694ff652bb, *, children=['broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode))))', 'x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode potential [V]': XAverage(0x7c98139dc6a7d1ce, x-average, children=['broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])'], domains={'primary': ['current collector']}),
 'Negative electrode ohmic losses [V]': Subtraction(-0x59b0fb7c34e65bf, -, children=['broadcast(boundary value(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])))', 'broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrode ohmic losses [V]': Subtraction(0x3e843a56898afabc, -, children=['boundary value(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m]))', 'x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m]))'], domains={'primary': ['current collector']}),
 'Gradient of negative electrode potential [V.m-1]': Gradient(-0x317d7967c1d7899, grad, children=['broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative electrode current density [A.m-2]': Multiplication(0x5464b4a647cd924a, *, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)', '1.0 - (x_n / Negative electrode thickness [m])'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Electrolyte potential [V]': Concatenation(0x7a8e1236f9cc7090, concatenation, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))', 'broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Separator porosity times concentration [mol.m-3] / Separator porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) * x_s)', 'broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'X-averaged electrolyte potential [V]': Division(-0xc9727efaf18d191, /, children=['Negative electrode thickness [m] * (x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))) + Separator thickness [m] * (x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Separator porosity times concentration [mol.m-3] / Separator porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) * x_s)) + Positive electrode thickness [m] * (x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))', 'Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]'], domains={'primary': ['current collector']}),
 'X-averaged electrolyte overpotential [V]': Subtraction(-0x2a2db17a811416d0, -, children=['x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))', 'x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['current collector']}),
 'Gradient of electrolyte potential [V.m-1]': Gradient(-0x7fad67709e8f52f5, grad, children=['concatenation(broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))), broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Separator porosity times concentration [mol.m-3] / Separator porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) * x_s), broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrolyte potential [V]': Subtraction(-0x306400ee80de7ee0, -, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m]))', 'broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'X-averaged negative electrolyte potential [V]': Subtraction(-0x90748b8738a5dc6, -, children=['x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m]))', '(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))'], domains={'primary': ['current collector']}),
 'Gradient of negative electrolyte potential [V.m-1]': Gradient(-0x863bb3e4c3e79df, grad, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Separator electrolyte potential [V]': Subtraction(0x7dfa1b3b12f7cedd, -, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Separator porosity times concentration [mol.m-3] / Separator porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))', 'broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) * x_s'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'X-averaged separator electrolyte potential [V]': Subtraction(0x7c4cefd554f5046d, -, children=['x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Separator porosity times concentration [mol.m-3] / Separator porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))', 'x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) * x_s)'], domains={'primary': ['current collector']}),
 'Gradient of separator electrolyte potential [V.m-1]': Gradient(0x7d4691027f28e9b0, grad, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Separator porosity times concentration [mol.m-3] / Separator porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) * x_s)'], domains={'primary': ['separator'], 'secondary': ['current collector']}),
 'Positive electrolyte potential [V]': Subtraction(-0x71e6c73823c9ff26, -, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m]))', 'broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrolyte potential [V]': Subtraction(-0x7bbea4c350040c20, -, children=['x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m]))', '(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))'], domains={'primary': ['current collector']}),
 'Gradient of positive electrolyte potential [V.m-1]': Gradient(0x19e90a1b408bae57, grad, children=['broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Electrolyte current density [A.m-2]': Concatenation(0x3322cfbcefb27e67, concatenation, children=['(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * x_n / Negative electrode thickness [m]', 'broadcast(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)))', '(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - x_p) / Positive electrode thickness [m]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Negative electrolyte current density [A.m-2]': Division(0x673d7683667b833b, /, children=['(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * x_n', 'Negative electrode thickness [m]'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Positive electrolyte current density [A.m-2]': Division(-0x4470961c3c799968, /, children=['(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - x_p)', 'Positive electrode thickness [m]'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged concentration overpotential [V]': Multiplication(0x38b5d701d6e20499, *, children=['(2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]', 'x-average(log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))'], domains={'primary': ['current collector']}),
 'X-averaged electrolyte ohmic losses [V]': Multiplication(-0x23a4e73bce2fa604, *, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)', 'Negative electrode thickness [m] / (3.0 * Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte))) + Separator thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))) + Positive electrode thickness [m] / (3.0 * Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))'], domains={'primary': ['current collector']}),
 'Negative electrode surface potential difference [V]': Subtraction(-0x3361f40b6584e3c4, -, children=['broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])', 'broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Negative electrode surface potential difference at separator interface [V]': BoundaryValue(-0x733ab75dedeaba0f, boundary value, children=['(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) * ((x_n ** 2.0) - (Negative electrode thickness [m] ** 2.0)) / (2.0 * Negative electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))'], domains={'primary': ['current collector']}),
 'Sum of negative electrode electrolyte reaction source terms [A.m-3]': Multiplication(-0x139603086c5ad1f9, *, children=['3.0 * Negative electrode active material volume fraction / Negative particle radius [m]', 'broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Sum of x-averaged negative electrode electrolyte reaction source terms [A.m-3]': XAverage(-0x4d3d07b2ffea9b1d, x-average, children=['(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]) * broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))'], domains={'primary': ['current collector']}),
 'Sum of negative electrode volumetric interfacial current densities [A.m-3]': Multiplication(-0x139603086c5ad1f9, *, children=['3.0 * Negative electrode active material volume fraction / Negative particle radius [m]', 'broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))'], domains={'primary': ['negative electrode'], 'secondary': ['current collector']}),
 'Sum of x-averaged negative electrode volumetric interfacial current densities [A.m-3]': XAverage(-0x4d3d07b2ffea9b1d, x-average, children=['(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]) * broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))'], domains={'primary': ['current collector']}),
 'Sum of positive electrode electrolyte reaction source terms [A.m-3]': Multiplication(-0x6fed6787c56d8798, *, children=['3.0 * Positive electrode active material volume fraction / Positive particle radius [m]', 'broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Sum of x-averaged positive electrode electrolyte reaction source terms [A.m-3]': XAverage(0x4d978686979bda61, x-average, children=['(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]) * broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['current collector']}),
 'Sum of positive electrode volumetric interfacial current densities [A.m-3]': Multiplication(-0x6fed6787c56d8798, *, children=['3.0 * Positive electrode active material volume fraction / Positive particle radius [m]', 'broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Sum of x-averaged positive electrode volumetric interfacial current densities [A.m-3]': XAverage(0x4d978686979bda61, x-average, children=['(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]) * broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['current collector']}),
 'Interfacial current density [A.m-2]': Concatenation(0x319fa8f6fa98aa06, concatenation, children=['broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))', 'broadcast(0.0)', 'broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Exchange current density [A.m-2]': Concatenation(-0x4462423a8e0edbf8, concatenation, children=['Negative electrode exchange-current density [A.m-2]', 'broadcast(0.0)', 'Positive electrode exchange-current density [A.m-2]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Sum of volumetric interfacial current densities [A.m-3]': Concatenation(0x1f1820308afb5327, concatenation, children=['(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]) * broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))', 'broadcast(0.0)', '(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]) * broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Sum of electrolyte reaction source terms [A.m-3]': Concatenation(0x1f1820308afb5327, concatenation, children=['(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]) * broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m]))', 'broadcast(0.0)', '(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]) * broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m]))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode potential [V]': Subtraction(0x7b02312b373a84bc, -, children=['broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m])))', 'broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode potential [V]': Subtraction(0x555f2a9e452a000d, -, children=['x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))', 'x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))'], domains={'primary': ['current collector']}),
 'Positive electrode ohmic losses [V]': Subtraction(0x1af9c956393e2312, -, children=['broadcast(boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))))', 'broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'X-averaged positive electrode ohmic losses [V]': Subtraction(0x293e6ad065d670dd, -, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))', 'x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))'], domains={'primary': ['current collector']}),
 'Gradient of positive electrode potential [V.m-1]': Gradient(-0xc38e95a19081372, grad, children=['broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode current density [A.m-2]': Multiplication(-0xfbac543100575b1, *, children=['Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)', '1.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - x_p) / Positive electrode thickness [m])'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Electrode current density [A.m-2]': Concatenation(0x7d4389054cd8a75a, concatenation, children=['(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (1.0 - (x_n / Negative electrode thickness [m]))', 'broadcast(0.0)', '(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (1.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - x_p) / Positive electrode thickness [m]))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Positive current collector potential [V]': BoundaryValue(0x19a59e897c78266, boundary value, children=['broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))'], domains={'primary': ['current collector']}),
 'Local voltage [V]': BoundaryValue(0x19a59e897c78266, boundary value, children=['broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))'], domains={'primary': ['current collector']}),
 'Voltage expression [V]': BoundaryValue(-0x5eebd9fc602d3fc4, boundary value, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))'], domains={}),
 'Terminal voltage [V]': BoundaryValue(-0x5eebd9fc602d3fc4, boundary value, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))'], domains={}),
 'Contact overpotential [V]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Voltage [V]': BoundaryValue(-0x5eebd9fc602d3fc4, boundary value, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))'], domains={}),
 'Electrolyte flux [mol.m-2.s-1]': Addition(-0xc463e83e136822f, +, children=['-concatenation(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte), Separator porosity ** Separator Bruggeman coefficient (electrolyte), Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)) * Electrolyte diffusivity [m2.s-1] * grad(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))', 'Cation transference number * concatenation((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * x_n / Negative electrode thickness [m], broadcast(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell))), (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - x_p) / Positive electrode thickness [m]) / Faraday constant [C.mol-1]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Electrolyte diffusion flux [mol.m-2.s-1]': Multiplication(0x7801b35786e29bb4, *, children=['-concatenation(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte), Separator porosity ** Separator Bruggeman coefficient (electrolyte), Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)) * Electrolyte diffusivity [m2.s-1]', 'grad(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Electrolyte migration flux [mol.m-2.s-1]': Division(0x77f222cc82b60f1a, /, children=['Cation transference number * concatenation((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * x_n / Negative electrode thickness [m], broadcast(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell))), (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - x_p) / Positive electrode thickness [m])', 'Faraday constant [C.mol-1]'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Electrolyte convection flux [mol.m-2.s-1]': FullBroadcast(-0x24da761009ef5979, broadcast, children=['0.0'], domains={'primary': ['negative electrode', 'separator', 'positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode surface potential difference [V]': Subtraction(-0x4a75925075bca4f3, -, children=['broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))', 'broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))'], domains={'primary': ['positive electrode'], 'secondary': ['current collector']}),
 'Positive electrode surface potential difference at separator interface [V]': BoundaryValue(-0x337617d7c22295fe, boundary value, children=['broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))) - (broadcast(x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))))))) + broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - broadcast((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))'], domains={'primary': ['current collector']}),
 'Surface open-circuit voltage [V]': Subtraction(-0x222238cfae421d12, -, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))', 'Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Bulk open-circuit voltage [V]': Subtraction(0x77aaf162f4a6c505, -, children=['Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))', 'Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))'], domains={'primary': ['current collector']}),
 'Particle concentration overpotential [V]': Subtraction(0x673d4188e6b2fcf3, -, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) - (Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))))', 'Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10))) - (Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10))))'], domains={'primary': ['current collector']}),
 'X-averaged reaction overpotential [V]': Subtraction(0x7bfd9d56aa54976, -, children=['x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2])))', 'x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2])))'], domains={'primary': ['current collector']}),
 'X-averaged SEI film overpotential [V]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'X-averaged solid phase ohmic losses [V]': Subtraction(0x435aadc855f887f9, -, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))', 'boundary value(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m]))'], domains={'primary': ['current collector']}),
 'Battery open-circuit voltage [V]': Multiplication(-0x4e9fe44eefadd4aa, *, children=['Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) - (Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'Battery negative electrode bulk open-circuit potential [V]': Multiplication(0x5792cfc62303d983, *, children=['Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'Battery positive electrode bulk open-circuit potential [V]': Multiplication(-0x7bedd116f41a0cfb, *, children=['Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'Battery particle concentration overpotential [V]': Multiplication(-0x28e0c12a8b4c35f6, *, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) - (Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)))) - (Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10))) - (Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'Battery negative particle concentration overpotential [V]': Multiplication(0x17c1560eda1ac56e, *, children=['Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10))) - (Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'Battery positive particle concentration overpotential [V]': Multiplication(0x612c1c5675bfe753, *, children=['Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) - (Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery reaction overpotential [V]': Multiplication(0x5637c79f3b68adcd, *, children=['x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) - x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2])))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery negative reaction overpotential [V]': Multiplication(-0x3ec8424fe460f431, *, children=['x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2])))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery positive reaction overpotential [V]': Multiplication(0x3cbc1563ad56c7de, *, children=['x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2])))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery solid phase ohmic losses [V]': Multiplication(0xbcb4775de9776c0, *, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))) - (boundary value(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery negative solid phase ohmic losses [V]': Multiplication(-0x44d4152ce1d6371a, *, children=['boundary value(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m]))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery positive solid phase ohmic losses [V]': Multiplication(-0x40dbc883c9e3e88f, *, children=['boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m])) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery electrolyte ohmic losses [V]': Multiplication(0x4ebbcddcfaa9a759, *, children=['-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) * (Negative electrode thickness [m] / (3.0 * Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte))) + Separator thickness [m] / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte))) + Positive electrode thickness [m] / (3.0 * Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'X-averaged battery concentration overpotential [V]': Multiplication(0x12dd9cdb3c80428d, *, children=['(2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * (x-average(log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))))', 'Number of cells connected in series to make a battery'], domains={'primary': ['current collector']}),
 'Battery voltage [V]': Multiplication(-0x240c7778392d6f7f, *, children=['boundary value(boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))))', 'Number of cells connected in series to make a battery'], domains={}),
 'Local ECM resistance [Ohm]': Division(-0x6a86aa4e48c36aea, /, children=['sign(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Positive electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3]))) / x-average(Positive electrode active material volume fraction) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) - (Negative electrode OCP [V] + (yz-average(Ambient temperature [K]) - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3]))) / x-average(Negative electrode active material volume fraction) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - boundary value(boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m]))))))', '((0.0 < Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) + Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) < 0.0) * Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) + (0.0 <= Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) <= 0.0)) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={'primary': ['current collector']}),
 'Terminal power [W]': Multiplication(-0x727851294d0eb896, *, children=['Current function [A]', 'boundary value(boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))))'], domains={}),
 'Power [W]': Multiplication(-0x727851294d0eb896, *, children=['Current function [A]', 'boundary value(boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))))'], domains={}),
 'Resistance [Ohm]': Division(-0x7e6b3ba15c65c64f, /, children=['sign(Current function [A]) * boundary value(boundary value(broadcast(x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(-Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Positive electrode thickness [m] / x-average(3.0 * Positive electrode active material volume fraction / Positive particle radius [m])) / (2.0 * Positive electrode exchange-current density [A.m-2]))) + Positive electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Positive electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged positive particle concentration [mol.m-3]) / Maximum concentration in positive electrode [mol.m-3], 0.9999999999), 1e-10))) + x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Negative electrode conductivity [S.m-1] * x-average((1.0 - Negative electrode porosity) ** Negative electrode Bruggeman coefficient (electrode)))) * x_n * (x_n - (2.0 * Negative electrode thickness [m])) / (2.0 * Negative electrode thickness [m])) - (x-average(broadcast(2.0 * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * arcsinh(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / Negative electrode thickness [m] / x-average(3.0 * Negative electrode active material volume fraction / Negative particle radius [m])) / (2.0 * Negative electrode exchange-current density [A.m-2]))) + Negative electrode OCP [V] + (Ambient temperature [K] - Reference temperature [K]) * Negative electrode OCP entropic change [V.K-1] + 1e-06 * (1.0 / (maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)) + 1.0 / (-1.0 + maximum(minimum(boundary value(X-averaged negative particle concentration [mol.m-3]) / Maximum concentration in negative electrode [mol.m-3], 0.9999999999), 1e-10)))) - ((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor * Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1] * x-average(log(maximum(Negative electrode porosity times concentration [mol.m-3] / Negative electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15)))) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * Negative electrode thickness [m] * ((0.3333333333333333 / (Electrolyte conductivity [S.m-1] * x-average(Negative electrode porosity ** Negative electrode Bruggeman coefficient (electrolyte)))) - (1.0 / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))))) + x-average(broadcast((2.0 - (2.0 * Cation transference number)) * Thermodynamic factor) * broadcast(Ideal gas constant [J.K-1.mol-1] * Ambient temperature [K] / Faraday constant [C.mol-1]) * log(maximum(Positive electrode porosity times concentration [mol.m-3] / Positive electrode porosity / broadcast(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3]) / concatenation(Negative electrode porosity, Separator porosity, Positive electrode porosity))), 1e-15))) - x-average(broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Electrolyte conductivity [S.m-1] * x-average(Positive electrode porosity ** Positive electrode Bruggeman coefficient (electrolyte)))) * (x_p * ((2.0 * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) - x_p) + Positive electrode thickness [m] ** 2.0 - ((Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) ** 2.0)) / (2.0 * Positive electrode thickness [m])) - ((Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)) * (Negative electrode thickness [m] + Separator thickness [m]) / (Electrolyte conductivity [S.m-1] * x-average(Separator porosity ** Separator Bruggeman coefficient (electrolyte)))) + (Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m] - (0.3333333333333333 * Positive electrode thickness [m]))) - (broadcast(Current function [A] / (Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (Positive electrode conductivity [S.m-1] * x-average((1.0 - Positive electrode porosity) ** Positive electrode Bruggeman coefficient (electrode)))) * (x_p + ((x_p - (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) ** 2.0) / (2.0 * Positive electrode thickness [m])))))', '(0.0 < Current function [A] + Current function [A] < 0.0) * Current function [A] + (0.0 <= Current function [A]) * (Current function [A] <= 0.0)'], domains={}),
 'Total lithium in negative electrode [mol]': Multiplication(0x4464e90b6f31aa76, *, children=['yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m]', 'Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'LAM_ne [%]': Subtraction(-0x23903672368de942, -, children=['100.0', '100.0 * 0.0002777777777777778 * yz-average(x-average(Negative electrode active material volume fraction)) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * Maximum concentration in negative electrode [mol.m-3] * Faraday constant [C.mol-1] / (0.0002777777777777778 * yz-average(x-average(Negative electrode active material volume fraction)) * Negative electrode thickness [m] * Maximum concentration in negative electrode [mol.m-3] * Faraday constant [C.mol-1] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'Loss of active material in negative electrode [%]': Subtraction(-0x23903672368de942, -, children=['100.0', '100.0 * 0.0002777777777777778 * yz-average(x-average(Negative electrode active material volume fraction)) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * Maximum concentration in negative electrode [mol.m-3] * Faraday constant [C.mol-1] / (0.0002777777777777778 * yz-average(x-average(Negative electrode active material volume fraction)) * Negative electrode thickness [m] * Maximum concentration in negative electrode [mol.m-3] * Faraday constant [C.mol-1] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'Total lithium in positive electrode [mol]': Multiplication(-0x768accf56efe60ec, *, children=['yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m]', 'Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'LAM_pe [%]': Subtraction(-0x323b442141c3300c, -, children=['100.0', '100.0 * 0.0002777777777777778 * yz-average(x-average(Positive electrode active material volume fraction)) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * Maximum concentration in positive electrode [mol.m-3] * Faraday constant [C.mol-1] / (0.0002777777777777778 * yz-average(x-average(Positive electrode active material volume fraction)) * Positive electrode thickness [m] * Maximum concentration in positive electrode [mol.m-3] * Faraday constant [C.mol-1] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'Loss of active material in positive electrode [%]': Subtraction(-0x323b442141c3300c, -, children=['100.0', '100.0 * 0.0002777777777777778 * yz-average(x-average(Positive electrode active material volume fraction)) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * Maximum concentration in positive electrode [mol.m-3] * Faraday constant [C.mol-1] / (0.0002777777777777778 * yz-average(x-average(Positive electrode active material volume fraction)) * Positive electrode thickness [m] * Maximum concentration in positive electrode [mol.m-3] * Faraday constant [C.mol-1] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'LLI [%]': Subtraction(0x2a0fe6f03de00d45, -, children=['100.0', '100.0 * (yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (yz-average(x-average(Negative electrode active material volume fraction * r-average(Initial concentration in negative electrode [mol.m-3]))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * r-average(Initial concentration in positive electrode [mol.m-3]))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'Loss of lithium inventory [%]': Subtraction(0x2a0fe6f03de00d45, -, children=['100.0', '100.0 * (yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) / (yz-average(x-average(Negative electrode active material volume fraction * r-average(Initial concentration in negative electrode [mol.m-3]))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * r-average(Initial concentration in positive electrode [mol.m-3]))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'Loss of lithium inventory, including electrolyte [%]': Subtraction(-0x33820e3ccc1e1691, -, children=['100.0', '100.0 * (yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * yz-average(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])))) / (yz-average(x-average(Negative electrode active material volume fraction * r-average(Initial concentration in negative electrode [mol.m-3]))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * r-average(Initial concentration in positive electrode [mol.m-3]))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average((Negative electrode thickness [m] * x-average(Negative electrode porosity) + Separator thickness [m] * x-average(Separator porosity) + Positive electrode thickness [m] * x-average(Positive electrode porosity)) / (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) * Initial concentration in electrolyte [mol.m-3] * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell)'], domains={}),
 'Total lithium [mol]': Addition(0x760442a7bdc5d61d, +, children=['yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell', '(Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * yz-average(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])))'], domains={}),
 'Total lithium in particles [mol]': Addition(0x7b6318520fec94ab, +, children=['yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell', 'yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'Total lithium capacity [A.h]': Multiplication(0x749ec4e9e098c5d8, *, children=['0.0002777777777777778', '(yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * yz-average(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])))) * Faraday constant [C.mol-1]'], domains={}),
 'Total lithium capacity in particles [A.h]': Multiplication(-0x2872a166cd329b2f, *, children=['0.0002777777777777778', '(yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell) * Faraday constant [C.mol-1]'], domains={}),
 'Total lithium lost [mol]': Subtraction(-0x4c59f7d429aa5ca7, -, children=['yz-average(x-average(Negative electrode active material volume fraction * r-average(Initial concentration in negative electrode [mol.m-3]))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * r-average(Initial concentration in positive electrode [mol.m-3]))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average((Negative electrode thickness [m] * x-average(Negative electrode porosity) + Separator thickness [m] * x-average(Separator porosity) + Positive electrode thickness [m] * x-average(Positive electrode porosity)) / (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) * Initial concentration in electrolyte [mol.m-3] * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell', 'yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * yz-average(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])))'], domains={}),
 'Total lithium lost from particles [mol]': Subtraction(-0x53abbf7d24fe529a, -, children=['yz-average(x-average(Negative electrode active material volume fraction * r-average(Initial concentration in negative electrode [mol.m-3]))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * r-average(Initial concentration in positive electrode [mol.m-3]))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell', 'yz-average(x-average(Negative electrode active material volume fraction * broadcast(r-average(X-averaged negative particle concentration [mol.m-3])))) * Negative electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell + yz-average(x-average(Positive electrode active material volume fraction * broadcast(r-average(X-averaged positive particle concentration [mol.m-3])))) * Positive electrode thickness [m] * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell'], domains={}),
 'Total lithium lost from electrolyte [mol]': Subtraction(-0x63d0551e4b0d492a, -, children=['yz-average((Negative electrode thickness [m] * x-average(Negative electrode porosity) + Separator thickness [m] * x-average(Separator porosity) + Positive electrode thickness [m] * x-average(Positive electrode porosity)) / (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m])) * Initial concentration in electrolyte [mol.m-3] * (Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell', '(Negative electrode thickness [m] + Separator thickness [m] + Positive electrode thickness [m]) * Electrode width [m] * Electrode height [m] * Number of electrodes connected in parallel to make a cell * yz-average(x-average(Porosity times concentration [mol.m-3](Negative electrode porosity times concentration [mol.m-3], Separator porosity times concentration [mol.m-3], Positive electrode porosity times concentration [mol.m-3])))'], domains={}),
 'Total lithium lost to side reactions [mol]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={}),
 'Total capacity lost to side reactions [A.h]': Scalar(0x3f7c7ee27efc90ce, 0.0, children=[], domains={})}

Even if a variable has not been included in the built pybamm.Simulation, it can still be output if the model contains the necessary building blocks. For example, we can calculate conductance from "Current [A]" and "Voltage [V]" in the model.variables,

\[G = \dfrac{I}{V} ,\]

which produces a standard ProcessedVariable object.

[27]:
conductance_symbol = model.variables["Current [A]"] / model.variables["Voltage [V]"]
conductance = solution.observe(conductance_symbol)
conductance
[27]:
<pybamm.solvers.processed_variable.ProcessedVariable0D at 0x136615580>
[25]:
# Interpolate the solution
t = np.linspace(0, solution.t[-1], 1000)

plt.plot(t, conductance(t))
plt.xlabel("Time [s]")
plt.ylabel("Conductance [S]")
[25]:
Text(0, 0.5, 'Conductance [S]')
../../../../_images/source_examples_notebooks_getting_started_tutorial-6-managing-simulation-outputs_20_1.png

Saving the simulation and output data#

In some cases simulations might take a long time to run so it is advisable to save in your computer so it can be analysed later without re-running the simulation. You can save the whole simulation doing:

[10]:
sim.save("SPMe.pkl")

If you now check the root directory of your notebooks you will notice that a new file called "SPMe.pkl" has appeared. We can load the stored simulation doing

[11]:
sim2 = pybamm.load("SPMe.pkl")

which allows the same manipulation as the original simulation would allow

[12]:
sim2.plot()
[12]:
<pybamm.plotting.quick_plot.QuickPlot at 0x1369e8590>

Alternatively, we can just save the solution of the simulation in a similar way

[13]:
sol = sim.solution
sol.save("SPMe_sol.pkl")

and load it in a similar way too

[14]:
sol2 = pybamm.load("SPMe_sol.pkl")
sol2.plot()
[14]:
<pybamm.plotting.quick_plot.QuickPlot at 0x1379de4b0>

Another option is to just save the data for some variables

[15]:
sol.save_data("sol_data.pkl", ["Current [A]", "Voltage [V]"])

or save it in .csv or .mat format

[16]:
sol.save_data("sol_data.csv", ["Current [A]", "Voltage [V]"], to_format="csv")
# matlab needs names without spaces
sol.save_data(
    "sol_data.mat",
    ["Current [A]", "Voltage [V]"],
    to_format="matlab",
    short_names={"Current [A]": "I", "Voltage [V]": "V"},
)

Note that while exporting .pkl works for all variables, exporting to .csv and .mat only works for 0D variables (i.e. variables the do not depend on space, only on time).

In this notebook we have shown how to extract and store the outputs of PyBaMM’s simulations. Next, in Tutorial 7 we will show how to change the model options.

Before finishing we will remove the data files we saved so that we leave the directory as we found it

[17]:
import os

os.remove("SPMe.pkl")
os.remove("SPMe_sol.pkl")
os.remove("sol_data.pkl")
os.remove("sol_data.csv")
os.remove("sol_data.mat")

References#

The relevant papers for this notebook are:

[18]:
pybamm.print_citations()
[1] Joel A. E. Andersson, Joris Gillis, Greg Horn, James B. Rawlings, and Moritz Diehl. CasADi – A software framework for nonlinear optimization and optimal control. Mathematical Programming Computation, 11(1):1–36, 2019. doi:10.1007/s12532-018-0139-4.
[2] Von DAG Bruggeman. Berechnung verschiedener physikalischer konstanten von heterogenen substanzen. i. dielektrizitätskonstanten und leitfähigkeiten der mischkörper aus isotropen substanzen. Annalen der physik, 416(7):636–664, 1935.
[3] Charles R. Harris, K. Jarrod Millman, Stéfan J. van der Walt, Ralf Gommers, Pauli Virtanen, David Cournapeau, Eric Wieser, Julian Taylor, Sebastian Berg, Nathaniel J. Smith, and others. Array programming with NumPy. Nature, 585(7825):357–362, 2020. doi:10.1038/s41586-020-2649-2.
[4] Alan C. Hindmarsh. The PVODE and IDA algorithms. Technical Report, Lawrence Livermore National Lab., CA (US), 2000. doi:10.2172/802599.
[5] Alan C. Hindmarsh, Peter N. Brown, Keith E. Grant, Steven L. Lee, Radu Serban, Dan E. Shumaker, and Carol S. Woodward. SUNDIALS: Suite of nonlinear and differential/algebraic equation solvers. ACM Transactions on Mathematical Software (TOMS), 31(3):363–396, 2005. doi:10.1145/1089014.1089020.
[6] Scott G. Marquis, Valentin Sulzer, Robert Timms, Colin P. Please, and S. Jon Chapman. An asymptotic derivation of a single particle model with electrolyte. Journal of The Electrochemical Society, 166(15):A3693–A3706, 2019. doi:10.1149/2.0341915jes.
[7] Valentin Sulzer, Scott G. Marquis, Robert Timms, Martin Robinson, and S. Jon Chapman. Python Battery Mathematical Modelling (PyBaMM). Journal of Open Research Software, 9(1):14, 2021. doi:10.5334/jors.309.