ISEAFrame
2.26.1
|
In the aging simulation, the aging behavior of a battery cell is derived from its thermal-electrical behavior. The state of aging is described by a decrease in capacity and an increase in resistance as well as an SOC offset.
The aging simulation uses discrete aging steps. At first, the thermal-electrical simulation is run. After each step, data that is needed for the aging calculation is collected. Once the thermal-electrical simulation is finished, the aging is calculated. If more than one aging step should be calculated, the results of the aging simulation are applied to the electrical elements and the thermal-electrical simulation is started again.
Because the time scale of the aging simulation is much larger than that of the electrical simulation, the aging is scaled up to a larger time step. The XML file used for the simulation specifies a number of calculation cycles and an aging step time. The number of calculation cycles determines how often the given current or power profile is simulated before each aging step. The aging simulation assumes that the thermal-electrical behavior is the same for the rest of the aging step time.
Starting in version 2.19.0, the aging simulation supports current or power profiles that are longer than the aging step time. In this case, the number of aging steps, calculation cycles and steady state cycles given in the XML file are ignored. Instead the entire profile is simulated once and an aging step occurs every time the aging step time has passed. Since the entire steptime was simulated, no scaling factor is applied to the aging calculation.
A simulation is started with an XML file containing
and the current profile
Because the XML file specifies two calculation cycles, the current profile is simulated two times. This means that all current values are automatically repeated after the profile has ended, resulting in
During this thermal-electrical simulation, the aging simulation collects the data required to perform the next aging step. The electrical simulation took 4 seconds in total, but an aging step time of 30 days is specified in the XML file, so the aging simulation assumes that all 129600 cycles that make up 30 days are the same as the 2 cycles that have actually been simulated. After the aging is calculated, the cahnges in capacity, resistance and SOC are applied to the electrical cellelements and the entire simulation is carried out a second time for the second aging step.
The aging model can also be used in combination with a halfcell simulation. Each anode or cathode element can have its own aging effects that are calculated seperately for each element. If an aging effect is added to an entire cell in a halfcell simulation, it is automatically added to each electrode element instead.
To calculate the change of the cell capacity in a halfcell simulation, the cell voltage at 0 and 100 % SOC is stored before the simulation starts. After each aging step, it is determined at what charge the cell reached those voltage limits. The difference between the stored charge at maximum and minimum voltage is then used as the new cell capacity.
The calendric aging depends on the cell age t and is calculated using the formulas
\begin{eqnarray*} C_i & = & 1 - ((1 - C_{i-1})^\frac{1}{n} + \Delta t \cdot (\alpha_{C,i})^\frac{1}{n})^n \\ R_i & = & 1 + ((R_{i-1} - 1)^\frac{1}{n} + \Delta t \cdot (\alpha_{R,i})^\frac{1}{n})^n \\ \Delta Q & = & (1 - C_i) \cdot C_0 \cdot SOC \end{eqnarray*}
\( C_i \) and \( R_i \) denote the capacity and resistance relative to their initial values \( C_0 \) and \( R_0 \). The stress factors \( \alpha_C \) and \( \alpha_R \) are functions of the cell voltage and temperature. The exponent \( n \) is given as a constant between 0 and 1 and can be different for capacity and resistance. Values with the subscript \( i \) change in every aging step, so that \( i-1 \) denotes a value from the previous aging step.
The cyclic aging depends on the chargethroughput Q and is calculated using the formulas
\begin{eqnarray*} C_i & = & 1 - ((1 - C_{i-1})^\frac{1}{n} + \Delta Q \cdot (\beta_{C,i})^\frac{1}{n})^n \\ R_i & = & 1 + ((R_{i-1} - 1)^\frac{1}{n} + \Delta Q \cdot (\beta_{R,i})^\frac{1}{n})^n \\ \Delta Q & = & (1 - C_i) \cdot C_0 \cdot SOC \end{eqnarray*}
The stress factors \( \beta_C \) and \( \beta_R \) are functions of the average cell voltage and the depth of discharge.
The anode overhang effect describes the change in capacity caused by an exchange of lithium with the anode overhang. This effect only works in a halfcell simulation by changing the balancing which affects the usable cell capacity.
The exchanged charge is calculated is dependence of a time constant \( \tau \) using the formula
\[ Q = C (V_{anode} - V_{overhang}) \cdot (1 - e^\frac{t}{\tau}) \]
The capacity \( C \) is calculated by linearising the overhang as a capacitor, resulting in
\[ C = \frac{SOC_{overhang} \cdot C_{Overhang}}{V_{overhang}} \]
The time constant \( \tau \) depens on the temperature \( T \) and is calculated from two given constants \( A \) and \( E \):
\[ \tau = A \cdot e^\frac{E}{T} \]
Global options for the aging simulation are described on the page XML options. A detailed example for an aging simulation can be found at scenarions/aging/sanyo_18651_single_cell_aging.xml.
Filters for the aging simulation can be added in <Configuration><Observer><Aging>. At this point, only the MatlabFilter and the StdoutFilter are supported. For more details, see Observer.
The aging for each cell can be specified using the element <Aging> inside the cell's XML element. The aging element contains a list of aging effects affecting the cell.
If the cell is not new at the beginnig of the simulation, the initial cell age and charge throughput can be set by adding an <AgingState> element with the following children:
XML Tag | Type | Unit | Explanation |
---|---|---|---|
CellAge | double | day | Cell age at the start of the simulation |
ChargeThroughput | double | Ah | Charge throughput at the start of the simulation |
The general XML format of a halfcell simulation is described here. Each element of the classes AnodeElement and CathodeElement con contain an <Aging> element and an <AgingState> element that work in the same way as those of a cell. An example for a halfcell simulation is given in scenarions/aging/sanyo_18651_single_cell_aging.
The calendric aging is used by adding an element with the class attribute "CalendarianAging" to the cell's aging element.
XML Tag | Type | Unit | Explanation |
---|---|---|---|
TimeExponent | double | Exponent n in the formulas used to calculate the calendric aging | |
FormulaCapacity | string | Formula used to calculate the value of alpha. The symbols V, T and SOC can be used for the cell's voltage, temperature and SOC | |
FormulaResistance | string | Formula used to calculate the value of alpha. The symbols V, T and SOC can be used for the cell's voltage, temperature and SOC | |
MinAlphaCapacity | double | Minimum value for the stress factor. If a lower value is calculated, this value is used instead. | |
MinAlphaResistance | double | Minimum value for the stress factor. If a lower value is calculated, this value is used instead. | |
MaxAlphaCapacity | double | Maximum value for the stress factor. If a higher value is calculated, this value is used instead. | |
MaxAlphaResistance | double | Maximum value for the stress factor. If a higher value is calculated, this value is used instead. | |
InitialCapacityFactor | double | 0 - 1 | Initial value for the capacity factor. Optional, default = 1. |
InitialResistanceFactor | double | 0 - 1 | Initial value for the capacity factor. Optional, default = 1. |
The cyclic aging is used by adding an element with the class attribute "CyclicalAging" to the cell's aging element.
XML Tag | Type | Unit | Explanation |
---|---|---|---|
ChargeExponentCapacity | double | Exponent n in the formula used to calculate the capacity for the cyclic aging | |
ChargeExponentResistance | double | Exponent n in the formula used to calculate the resistance for the cyclic aging | |
FormulaCapacity | string | Formula used to calculate the value of beta. The symbols meanV, deltaDOD, meanSOC and meanI can be used for the cell's average voltage, depth of discharge, average SOC and average current | |
FormulaResistance | string | Formula used to calculate the value of beta. The symbols meanV, deltaDOD, meanSOC and meanI can be used for the cell's average voltage, depth of discharge, average SOC and average current | |
MinBetaCapacity | double | Minimum value for the stress factor. If a lower value is calculated, this value is used instead. | |
MinBetaResistance | double | Minimum value for the stress factor. If a lower value is calculated, this value is used instead. | |
MaxBetaCapacity | double | Maximum value for the stress factor. If a higher value is calculated, this value is used instead. | |
MaxBetaResistance | double | Maximum value for the stress factor. If a higher value is calculated, this value is used instead. | |
InitialCapacityFactor | double | 0 - 1 | Initial value for the capacity factor. Optional, default = 1. |
InitialResistanceFactor | double | 0 - 1 | Initial value for the capacity factor. Optional, default = 1. |
The anode overhang is used by adding an element with the class attribute "AnodeOverhang" to the anode's aging element.
XML Tag | Type | Unit | Explanation |
---|---|---|---|
Voltage | Object | V | Voltage of the anode overhang, should depend on the overhang SOC |
ActivationCoefficient | double | K | Constant E used to calculate the time constant |
TauCoefficient | double | day | Constant A used to calculate the time constant |
SocWhereOffsetIsZero | double | % | The overhang SOC that results in no change to the balancing. If this is not the same as the initial overhang SOC, the anode SOC is immediately changed before the simulation starts. |
Soc | SOC state | Soc object that specifies the overhang capacity and the initial overhang SOC |
Loss of active material in a halfcell simulation is used by adding an element with the class attribute "LAM" to the electrode's aging element.
XML Tag | Type | Unit | Explanation |
---|---|---|---|
Value | Object | fraction of initial capacity | Fraction of the initial capacity that is lost through LAM. The cached variable cycles can be used to get the cell's equivalent full cycles |
Loss of lithium inventory in a halfcell simulation is used by adding an element with the class attribute "LLI" to the electrode's aging element.
XML Tag | Type | Unit | Explanation |
---|---|---|---|
Value | Object | As | Amount of lithium that is lost through LLI. The cached variable cycles can be used to get the cell's equivalent full cycles. |