SLIDE  3.0.0
A simulator for lithium-ion battery pack degradation
Loading...
Searching...
No Matches
slide::State_SPM Class Reference

< #TODO how can we make this so it takes 29=N_states from enum? More...

#include <State_SPM.hpp>

Inheritance diagram for slide::State_SPM:
[legend]
Collaboration diagram for slide::State_SPM:
[legend]

Public Types

enum  Index : size_t {
  i_I , i_V , i_T , i_delta ,
  i_LLI , i_thickp , i_thickn , i_ep ,
  i_en , i_ap , i_an , i_CS ,
  i_Dp , i_Dn , i_delta_pl , i_zp ,
  i_zn = i_zp + nch , i_rDCp = i_zn + nch , i_rDCn , i_rDCcc ,
  i_SOC , N_states , N_save = i_zp
}
 
using z_type = std::array< value_type, nch >
 
using states_type = std::array< value_type, N_states >
 
- Public Types inherited from slide::State< 29 >
enum  Index
 

Public Member Functions

auto & zp (size_t i)
 z_type, transformed li concentration at the positive inner nodes of the positive particle More...
 
auto & zn (size_t i)
 z_type, transformed li concentration at the positive inner nodes of the negative particle More...
 
auto & z (size_t i)
 Both z_p and z_n;. More...
 
auto zp ()
 
auto zn ()
 
auto z ()
 
auto & T ()
 cell temperature [K] More...
 
auto & delta ()
 thickness of the SEI layer [m] More...
 
auto & LLI ()
 lost lithium [As] More...
 
auto & thickp ()
 thickness of the cathode [m] More...
 
auto & thickn ()
 thickness of the anode [m] More...
 
auto & ep ()
 volume fraction of active material in the cathode [-] More...
 
auto & en ()
 volume fraction of active material in the anode [-] More...
 
auto & ap ()
 effective surface area of the cathode [m2 m-3] More...
 
auto & an ()
 effective surface area of the anode [m2 m-3] More...
 
auto & CS ()
 surface area of the cracks at the surface of the negative particle [m2] More...
 
auto & Dp ()
 diffusion constant at reference temperature of the cathode [m s-1] More...
 
auto & Dn ()
 diffusion constant at reference temperature of the anode [m s-1] More...
 
auto & rDCp ()
 specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2] More...
 
auto & rDCn ()
 specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2] More...
 
auto & rDCcc ()
 specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2] More...
 
auto & delta_pl ()
 thickness of the plated lithium layer [m] More...
 
auto & SOC ()
 thickness of the plated lithium layer [m] More...
 
auto & I ()
 current [A] More...
 
auto & V ()
 voltage [V] More...
 
void overwriteGeometricStates (double thickpi, double thickni, double epi, double eni, double api, double ani)
 overwrite the states related to the geometry of a cell More...
 
void overwriteCharacterisationStates (double Dpi, double Dni, double ri)
 overwrite the states related to the characterisation of a cell More...
 
std::span< double > viewGeometricStates ()
 #Check and fix. Why this also checks SOC? More...
 
auto I () const
 current [A] More...
 
- Public Member Functions inherited from slide::State< 29 >
auto time () const
 time [s] More...
 
auto & time ()
 time [s] More...
 
auto Ah () const
 Current throughput [Ah]. More...
 
auto & Ah ()
 Current throughput [Ah]. More...
 
auto Wh () const
 Energy throughput [Wh]. More...
 
auto & Wh ()
 Energy throughput [Wh]. More...
 
auto reset ()
 

Static Public Attributes

static constexpr auto nch = settings::nch
 

Additional Inherited Members

- Static Public Member Functions inherited from slide::State< 29 >
static constexpr auto description (size_t i)
 

Detailed Description

< #TODO how can we make this so it takes 29=N_states from enum?

Member Typedef Documentation

◆ states_type

using slide::State_SPM::states_type = std::array<value_type, N_states>

State() = default; //!< Default constructor which DOESN'T initialise the states. All states are set to 0 State(const slide::states_type &s) : x{s} {}

◆ z_type

using slide::State_SPM::z_type = std::array<value_type, nch>

Member Enumeration Documentation

◆ Index

enum slide::State_SPM::Index : size_t
Enumerator
i_I 
i_V 
i_T 

cell temperature [K]

i_delta 

thickness of the SEI layer [m]

i_LLI 

lost lithium inventory [As]

i_thickp 

thickness of the cathode [m]

i_thickn 

thickness of the anode [m]

i_ep 

volume fraction of active material in the cathode [-]

i_en 

volume fraction of active material in the anode [-]

i_ap 

effective surface area of the porous cathode [m2 m-3]

i_an 

effective surface area of the porous anode [m2 m-3]

i_CS 

surface area of the cracks at the surface of the negative particle [m2]

i_Dp 

diffusion constant of the cathode at reference temperature [m s-1]

i_Dn 

diffusion constant of the anode at reference temperature [m s-1]

i_delta_pl 

thickness of the plated lithium layer [m]

i_zp 

transformed concentration at the positive inner Chebyshev nodes of the positive particle

i_zn 

transformed concentration at the positive inner Chebyshev nodes of the negative particle

i_rDCp 

(ONLY CATHODE) specific resistance of both electrodes combined [Ohm m2]

i_rDCn 

(ONLY ANODE) specific resistance of both electrodes combined [Ohm m2]

i_rDCcc 

(ONLY SEPARATOR) specific resistance of both electrodes combined [Ohm m2]

i_SOC 
N_states 
N_save 

Save until i_zp.

Member Function Documentation

◆ an()

auto & slide::State_SPM::an ( )
inline

effective surface area of the anode [m2 m-3]

Here is the caller graph for this function:

◆ ap()

auto & slide::State_SPM::ap ( )
inline

effective surface area of the cathode [m2 m-3]

Here is the caller graph for this function:

◆ CS()

auto & slide::State_SPM::CS ( )
inline

surface area of the cracks at the surface of the negative particle [m2]

Here is the caller graph for this function:

◆ delta()

auto & slide::State_SPM::delta ( )
inline

thickness of the SEI layer [m]

Here is the caller graph for this function:

◆ delta_pl()

auto & slide::State_SPM::delta_pl ( )
inline

thickness of the plated lithium layer [m]

Here is the caller graph for this function:

◆ Dn()

auto & slide::State_SPM::Dn ( )
inline

diffusion constant at reference temperature of the anode [m s-1]

Here is the caller graph for this function:

◆ Dp()

auto & slide::State_SPM::Dp ( )
inline

diffusion constant at reference temperature of the cathode [m s-1]

Here is the caller graph for this function:

◆ en()

auto & slide::State_SPM::en ( )
inline

volume fraction of active material in the anode [-]

Here is the caller graph for this function:

◆ ep()

auto & slide::State_SPM::ep ( )
inline

volume fraction of active material in the cathode [-]

Here is the caller graph for this function:

◆ I() [1/2]

auto & slide::State_SPM::I ( )
inline

current [A]

Here is the caller graph for this function:

◆ I() [2/2]

auto slide::State_SPM::I ( ) const
inline

current [A]

◆ LLI()

auto & slide::State_SPM::LLI ( )
inline

lost lithium [As]

Here is the caller graph for this function:

◆ overwriteCharacterisationStates()

void slide::State_SPM::overwriteCharacterisationStates ( double  Dpi,
double  Dni,
double  ri 
)
inline

overwrite the states related to the characterisation of a cell

< Set the states

< Considering both anode and cathode r is same.

< #TODO -> r was //!< the specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2]

Here is the call graph for this function:
Here is the caller graph for this function:

◆ overwriteGeometricStates()

void slide::State_SPM::overwriteGeometricStates ( double  thickpi,
double  thickni,
double  epi,
double  eni,
double  api,
double  ani 
)
inline

overwrite the states related to the geometry of a cell

< set the states

Here is the call graph for this function:
Here is the caller graph for this function:

◆ rDCcc()

auto & slide::State_SPM::rDCcc ( )
inline

specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2]

Here is the caller graph for this function:

◆ rDCn()

auto & slide::State_SPM::rDCn ( )
inline

specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2]

Here is the caller graph for this function:

◆ rDCp()

auto & slide::State_SPM::rDCp ( )
inline

specific resistance (resistance times real surface area of the combined electrodes) [Ohm m2]

Here is the caller graph for this function:

◆ SOC()

auto & slide::State_SPM::SOC ( )
inline

thickness of the plated lithium layer [m]

Here is the caller graph for this function:

◆ T()

auto & slide::State_SPM::T ( )
inline

cell temperature [K]

Here is the caller graph for this function:

◆ thickn()

auto & slide::State_SPM::thickn ( )
inline

thickness of the anode [m]

Here is the caller graph for this function:

◆ thickp()

auto & slide::State_SPM::thickp ( )
inline

thickness of the cathode [m]

Here is the caller graph for this function:

◆ V()

auto & slide::State_SPM::V ( )
inline

voltage [V]

void setT(double Ti); //!< set the temperature

Here is the caller graph for this function:

◆ viewGeometricStates()

std::span< double > slide::State_SPM::viewGeometricStates ( )
inline

#Check and fix. Why this also checks SOC?

◆ z() [1/2]

auto slide::State_SPM::z ( )
inline
Here is the call graph for this function:

◆ z() [2/2]

auto & slide::State_SPM::z ( size_t  i)
inline

Both z_p and z_n;.

Here is the caller graph for this function:

◆ zn() [1/2]

auto slide::State_SPM::zn ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zn() [2/2]

auto & slide::State_SPM::zn ( size_t  i)
inline

z_type, transformed li concentration at the positive inner nodes of the negative particle

Here is the caller graph for this function:

◆ zp() [1/2]

auto slide::State_SPM::zp ( )
inline
Here is the call graph for this function:
Here is the caller graph for this function:

◆ zp() [2/2]

auto & slide::State_SPM::zp ( size_t  i)
inline

z_type, transformed li concentration at the positive inner nodes of the positive particle

Here is the caller graph for this function:

Member Data Documentation

◆ nch

constexpr auto slide::State_SPM::nch = settings::nch
staticconstexpr

The documentation for this class was generated from the following file: