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

DEG_ID structure handles the identifications of which degradation model(s) to use. More...

#include <DEG_ID.hpp>

Collaboration diagram for slide::DEG_ID:
[legend]

Classes

struct  DegArray
 DegArray class derived from SmallVector to handle degradation model arrays. More...
 

Public Types

using data_t = uint_fast8_t
 Alias for uint_fast8_t as data_t. More...
 

Public Member Functions

auto print ()
 

Public Attributes

DegArray SEI_id {}
 Array with identifications to decide which SEI models to use. More...
 
data_t SEI_porosity { 0 }
 Integer deciding whether we reduce the active volume fraction due to SEI growth. More...
 
DegArray CS_id
 Array with identifications for which model to use for surface cracking. Max length 10. More...
 
data_t CS_diffusion { 0 }
 Integer deciding whether we reduce the negative diffusion constant due to surface cracks. More...
 
DegArray LAM_id
 Array with the integers deciding which models is to be used for loss of active material. Max length 10. More...
 
data_t pl_id { 0 }
 Integer deciding which model is to be used for li-plating. More...
 

Static Public Attributes

static constexpr data_t len = 10
 Length of the arrays with identifications of which models to use. More...
 

Detailed Description

DEG_ID structure handles the identifications of which degradation model(s) to use.

Member Typedef Documentation

◆ data_t

using slide::DEG_ID::data_t = uint_fast8_t

Alias for uint_fast8_t as data_t.

Member Function Documentation

◆ print()

auto slide::DEG_ID::print ( )
inline
  • 0: no plating
  • 1: Yang et al thermodynamic plating (Tafel kinetics)

Function to get a string representation of the struct with the degradation settings. This string is part of the names of the subfolders in which results are written.

Returns
std::string representation of the degradation identifiers. Identifiers of the same mechanism are separated by -. Identifiers of different mechanisms are separated by _. e.g., if we use SEI model 1, no SEI porosity effect, no surface cracks, LAM model 2 and LAM model 3 and lithium plating model 1: 2-0_0-0_2-3_1 2: SEI model 1 0: no SEI porosity 0: no surface cracks 0: don't decrease the diffusion due to surface cracks 2: LAM model 2 3: LAM model 3 1: lithium plating model 1
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ CS_diffusion

data_t slide::DEG_ID::CS_diffusion { 0 }

Integer deciding whether we reduce the negative diffusion constant due to surface cracks.

  • 0: no surface cracking
  • 1: Laresgoiti's stress + crack growth model, ref: Laresgoiti, Kablitz, Ecker, Sauer, Journal of Power Sources 300, 2015
  • 2: Dai stress model + Laresgoiti crack growth, ref: Laresgoiti, Kablitz, Ecker, Sauer, Journal of Power Sources 300, 2015; Dai, Cai, White, Journal of Power sources 247, 2014
  • 3: model based on Deshpande and Bernardi, ref: Deshpande & Bernardi, Journal of the Electrochemical Society 164 (2), 2017
  • 4: model from Barai et al, ref: Barai, Smith, Chen, Kim, Mukherjee, Journal of the Electrochemical Society 162 (9), 2015
  • 5: model from Ekstrom et al, ref: Ekstrom and Lindbergh, Journal of the Electrochemical Society 162 (6), 2015

◆ CS_id

DegArray slide::DEG_ID::CS_id

Array with identifications for which model to use for surface cracking. Max length 10.

  • 0: don't reduce it
  • 1: use correlation from Ashwin et al. 2016, ref: Ashwin, Chung, Wang, Journal of Power Sources 328, 2016

◆ LAM_id

DegArray slide::DEG_ID::LAM_id

Array with the integers deciding which models is to be used for loss of active material. Max length 10.

  • 0: don't decrease diffusion
  • 1: decrease according to Barai et al. 2015

◆ len

constexpr data_t slide::DEG_ID::len = 10
staticconstexpr

Length of the arrays with identifications of which models to use.

◆ pl_id

data_t slide::DEG_ID::pl_id { 0 }

Integer deciding which model is to be used for li-plating.

  • 0: no LAM
  • 1: Dai's stress model and Laresgoiti's correlation to get LAM
  • 2: delacourt's correlation between abs(j) and porosity
  • 3: Kindermann's model for cathode dissolution: tafel kinetics for increased porosity
  • 4: Narayanrao's correlation which decreases the effective surface area proportionally to itself and j

◆ SEI_id

DegArray slide::DEG_ID::SEI_id {}

Array with identifications to decide which SEI models to use.

◆ SEI_porosity

data_t slide::DEG_ID::SEI_porosity { 0 }

Integer deciding whether we reduce the active volume fraction due to SEI growth.

  • 0: no SEI growth
  • 1: kinetic model only (Tafel kinetics), ref: Ning & Popov, Journal of the Electrochemical Society 151 (10), 2004
  • 2: Pinson&Bazant model: linear diffusion + Tafel kinetics, ref: Pinson & Bazant, Journal of the Electrochemical society 160 (2), 2013
  • 3: Christensen and Newman model, ref: Christensen & Newmann, Journal of the Electrochemical Society 152 (4), 2005

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