bmlite.P2D.dae#

The dae module provides the system of differential algebraic equations (DAE) for the P2D model. In addition, the bandwidth function is included in this module, which helps determine the lower and upper bandwidths of residuals so the 'band' linear solver option can be used in the IDASolver class.

Functions#

residuals(t, sv, svdot, res, inputs)

The DAE residuals res = M*y' - f(t, y) for the P2D model.

sign(x)

Return +1 for x >= 0, -1 for x < 0.

Module Contents#

bmlite.P2D.dae.residuals(t, sv, svdot, res, inputs)[source]#

The DAE residuals res = M*y' - f(t, y) for the P2D model.

Parameters:
  • t (float) – Value of time [s].

  • sv (1D array) – Solution/state variables at time t.

  • svdot (1D array) – Solution/state variable time derivatives at time t.

  • res (1D array) – An array the same size as sv and svdot. The values are filled in with res = M*y' - f(t, y) inside this function.

  • inputs ((sim : P2D Simulation object, exp : experiment dict)) – The simulation object and experimental details dictionary inputs that describe the specific battery and experiment to simulate.

Returns:

outputs (tuple[np.ndarray]) – If the experimental step mode is set to post, then the following post-processed variables will be returned in a tuple. Otherwise, returns None.

Variable

Description [units] (type)

div_i_an

divergence in anode volume [A/m3] (1D array)

div_i_sep

divergence in separator volume [A/m3] (1D array)

div_i_ca

divergence in cathode volume [A/m3] (1D array)

sdot_an

Li+ production at each x_a [kmol/m3/s] (1D array)

sdot_ca

Li+ production at each x_c [kmol/m3/s] (1D array)

sum_ip

i_ed + i_el at “plus” interfaces [A/m2] (1D array)

i_el_x

i_el at each x interface [A/m2] (1D array)

bmlite.P2D.dae.sign(x)[source]#

Return +1 for x >= 0, -1 for x < 0.