Main Content

Battery Equivalent Circuit

Battery model with electro-thermal dynamics and optional faults

Since R2023b

Libraries:
Simscape / Battery / Cells

Description

The Battery Equivalent Circuit block models the electro-thermal dynamics of a battery by using electrical circuit elements with variable characteristics and a zero-dimensional lumped-mass thermal heat equation. You can also use this block to simulate the faulted dynamics of a battery in shorted, open-circuit, and thermal runaway conditions. To model cycling aging and calendar aging of the battery, you can use lookup tables or empirical relationships. The block tabulates the variable characteristics of the electrical circuit elements as functions of the battery state of charge (SOC) and, optionally, current directionality and temperature. This block comprises these constituent model files:

  • Electrical model

    • Open-circuit voltage and hysteresis model

    • Instantaneous overpotential model

    • Dynamic overpotential model

  • Thermal model

    • Constant temperature

    • Lumped thermal mass model

  • Cycling aging model

    • Equations

    • Temperature-independent table lookup

    • Temperature-dependent table lookup

  • Calendar aging model

    • Resistance aging model

    • Capacity aging model

  • Faults model

    • Short model

    • Open-circuit model

    • Exothermic reactions model

Electrical Model

The Battery Equivalent Circuit block models the battery terminal voltage by using a combination of electrical circuit elements arranged in a specific circuit topology. This figure shows the equivalent circuit topology, which relies on variable resistances, variable capacitances, and a variable voltage source. However, the implementation of the Battery Equivalent Circuit block is completely in the Simscape language.

All the circuit elements have variable characteristics that are functions of other battery states:

  • OpenCircuitVoltage — The block tabulates this circuit element as a function of the SOC. If you set the Thermal model parameter to Constant temperature or Lumped thermal mass, this circuit element also depends on the 2-D lookup temperature. If you set the Hysteresis model parameter to One-state model, then the voltage source value is a function of the previous charge or discharge history of the battery.

  • R0, R1, R2, R3, Tau1, Tau2, Tau3 — The block tabulates this circuit element as a function of the SOC. If you set the Thermal model parameter to Constant temperature or Lumped thermal mass, this circuit element also depends on the 2-D lookup temperature. If you set the Current directionality for resistance parameters parameter to Enabled, then the resistance and capacitance values are also functions of the instantaneous current charge or discharge direction. Therefore, you can use charge and discharge parameter tables if they are available. If the current flowing through the battery is positive, then the block uses the charge lookup table parameters. If the current flowing through the battery is negative, then the block uses the discharge lookup table parameters.

  • SelfDischargeResistor — If you set the Thermal model parameter to Constant temperature or Lumped thermal mass, this circuit element also depends on the 2-D lookup temperature.

Note

For all the table-based parameters, the Battery Equivalent Circuit block supports linear interpolation only. For extrapolation, set the Extrapolation method for all tables parameter to Nearest, Linear, or Error.

For rows and columns, the extrapolation follows the row-column convention, in which rows are indexed before columns.

Terminal Voltage

The Battery Equivalent Circuit calculates the terminal voltage of the battery at every time step by solving the Kirchhoff's voltage law

U = OCVhyst + ηinst + ηdyn,

where:

  • U is the battery terminal voltage.

  • OCVhyst = OCV(SOC,T)+Uhyst(SOC,T) is the hysteresis-adjusted open-circuit voltage. The software updates the battery state of charge SOC, the temperature T, and the corresponding variables that depend on them at every time step during the simulation.

    • OCV(SOC,T) is the open-circuit voltage.

    • Uhyst(SOC,T) is the hysteresis voltage.

  • ηinst=IR0(SOC,T,CurDir) is the instantaneous overpotential. The software updates the battery SOC, the temperature, and the current directionality CurDir, as well as the corresponding variables that depend on them, at every time step during the simulation.

    • I is the battery current. If the value of I is positive, the block uses the charge lookup table parameters. If the value of I is negative, the block uses the discharge lookup table parameters.

  • ηdyn =i=13ΔURCi(SOC,T,CurDir) is the dynamic overpotential. This optional term depends on the number of parallel resistor-capacitor pairs. This number can vary between 1 and 3. The software updates the battery SOC, temperature, and current directionality, as well as the corresponding variables that depend on them, at every time step during the simulation.

    • ΔURCi is the voltage drop for parallel resistor-capacitor pair i. The block calculates the voltage drop using this ordinary differential equation:

      (τi(SOC,T,CurDir)dΔURCidt+ΔURCi)1Ri(SOC,T,CurDir)=I

For the Battery Equivalent Circuit block, I has a negative sign during discharge and a positive sign during charge. During discharge, the block subtracts the battery overpotentials from the open-circuit voltage value, lowering the terminal voltage of the battery. In the discharge and charge cases, the overpotentials dissipate energy as heat. This figure shows the evolution of the battery overpotentials during a battery pulse discharge. The dynamic overpotential from the resistor-capacitor pairs increases slowly over the pulse, as opposed to the instantaneous overpotential, which increases during the first few milliseconds.

Dynamic Overpotential

Batteries do not respond instantaneously to load changes. They require some time to achieve a steady state. This time-varying property is a result of the battery charge dynamics. The block models the charge dynamics by using parallel RC sections in the equivalent circuit.

To model the battery charge dynamics, set the Parallel resistor capacitor pairs parameter to one of these values:

  • No dynamics — The equivalent circuit contains no parallel RC sections. The battery exhibits no delay between terminal voltage and internal charging voltage.

  • One time-constant dynamics — The equivalent circuit contains one parallel RC section.

  • Two time-constant dynamics — The equivalent circuit contains two parallel RC sections.

  • Three time-constant dynamics — The equivalent circuit contains three parallel RC sections.

This diagram shows the battery equivalent circuit for the block circuit topology with only two time-constant dynamics and no self-discharge resistance.

In this figure:

  • R1 and R2 are the parallel RC resistances. Specify these values by setting the First polarization resistance, R1(SOC,T) and Second polarization resistance, R2(SOC,T) parameters, respectively, if you tabulate parameters over temperature. Otherwise, specify these values by setting the First polarization resistance, R1(SOC) and Second polarization resistance, R2(SOC) parameters, respectively. The voltage drop of the first RC pair is directly related to the activation overpotential from the chemical reaction at the interface of the electrodes. The time constant τ1 for this dynamic is typically lower than τ2, which indicates a faster response or faster dynamics. The voltage drop of the second RC pair is related to concentration overpotentials and typically evolves more slowly than the activation overpotential.

  • C1 and C2 are the parallel RC capacitances. The time constant τ for each parallel section relates the R and C values through the relationship C=τ/R. Specify τ for each section by using the First time constant, tau1(SOC,T) and Second time constant, tau2(SOC,T) parameters if you tabulate parameters over temperature or First time constant, tau1(SOC) and Second time constant, tau2(SOC) otherwise.

  • R0 is the instantaneous resistance. Specify this value with the Instantaneous resistance, R0(SOC,T) parameter if you tabulate parameters over temperature or Instantaneous resistance, R0(SOC) otherwise.

Note

The charge dynamics parameters can also depend on the current directionality. If you set the Current directionality for resistance parameters to Enabled, the parameters in the Overpotential section change accordingly.

State of Charge

The Battery Equivalent Circuit block calculates the SOC of the battery with the Coulomb counting method:

SOC=1Cageddchargedt,

where:

  • Caged is the aged capacity of the cell.

  • dchargedt=IID,SD(T)

    • ID,SD is the self-discharge current drain. This equation gives the current drain from the self-discharge resistor, which you can tabulate as a function of temperature T:

      ID,SD(T)=1RSD(T)OCVinternal.

    • RSD(T) is the self-discharge resistance.

    • OCVinternal is the internal open-circuit voltage.

Heat Generation Rate

The Battery Equivalent Circuit block calculates the battery heat generation rate by adding these quantities:

  • Power dissipation terms from all the resistors in the equivalent circuit topology. This term is also called the irreversible heat generation. This quantity contains ohmic and activation overpotential heat terms.

  • Reversible heat generation from entropy

  • Heat generation terms from the faulted cell behaviour:

    • Short resistance (or parallel-added resistance)

    • Open-circuit resistance (or series-added resistance)

    • Thermal runaway reaction heat

This equation shows this summation:

Q˙gen=Pdiss+Q˙rev+Qflow,exr,

where:

  • Q˙gen is the heat generation rate.

  • Pdiss=I2R0(SOC,T,CurDir)+(i=13ΔURCi(SOC,T,CurDir))I+OCVinternal2RSD(T)+Qflow,series+Qflow,parallel is the dissipated power.

    • Qflow,series is the series resistor heat flow.

    • Qflow,parallel is the parallel resistor heat flow.

  • Q˙rev=ITdOCVdt(SOC) is the reversible heat.

  • Qflow,exr is the exothermic reaction heat flow. For more information, see Faults.

Hysteresis

The hysteresis of a battery describes the dependency of the open-circuit voltage (OCV) on the charge or discharge history. Hysteresis is only indirectly dependent on the OCV.

The data obtained from measuring the OCV during a complete charging or discharging cycle is called a major loop. If the battery is only partially charged or discharged, the measured OCV forms a minor loop. The minor loops approach the major loops after a delay in charge. This effect is prominent in Li-ion batteries and it has a significant effect on the SOC estimation.

The Battery Equivalent Circuit block models the hysteresis by using a one-state model

Uhyst=MH+sgn(I)M0

where:

  • Uhyst is the hysteresis voltage.

  • H defines the hysteresis state. The block uses this ordinary differential equation to calculate the hysteresis state:

    dHdt=γCaged[I|I|H]

  • γ is the hysteresis rate.

  • Caged is the aged capacity of the cell.

  • M is the value of the Maximum hysteresis voltage, MaximumHysteresisVoltage(SOC,T) parameter if you tabulate the parameters over temperature, or Maximum hysteresis voltage, MaximumHysteresisVoltage(SOC) otherwise.

  • M0 is the value of the Instantaneous hysteresis voltage, InstantaneousHysteresisVoltage(SOC,T) parameter if you tabulate the parameters over temperature, or Instantaneous hysteresis voltage, InstantaneousHysteresisVoltage(SOC) otherwise.

For more information on hysteresis and on how to model it, see the Model Voltage Hysteresis in Battery example.

Self-Discharge

When the battery terminals are open-circuit, internal currents can still discharge the battery. This behavior is called self-discharge. To enable and model this effect, set the Self discharge parameter to Enabled.

The block models these internal currents with a temperature-dependent resistance RSD(T) across the terminals of the fundamental battery model. Specify the lookup values for this resistance by using the Self-discharge resistance, SelfDischargeR(T) parameter if you tabulate the parameters over temperature, or Self-discharge resistance, SelfDischargeR otherwise.

Thermal Model

Setting the Thermal model parameter to Lumped thermal mass adds a thermal model to the Battery Equivalent Circuit block. This model computes the battery temperature at every time step. The block uses this temperature for all temperature-dependent lookup tables. The lumped thermal mass adds this ordinary differential equation:

MthdTdt=Q˙genQ˙diss,

where:

  • Mth is the battery thermal mass.

  • Q˙gen=Pdiss+Q˙rev+Q˙flow,exr.

  • Q˙dissis the heat across the H thermal port.

To increase the fidelity of the thermal modeling and to model the thermal gradient inside the block, you can discretize the thermal model along the cell height. To height-discretize the thermal model, set the Thermal model parameter to Height distributed thermal mass. The block then exposes the HDist thermal port, which is an array of thermal nodes that represents the nodes along the height of the cell. To compute the electrical behavior of the cell, the block uses the mean of the discretized thermal nodes. (since R2024b)

Cycling Aging Model

Battery aging is the deterioration of the battery performance over repeated charge and discharge cycles.

When you set the Cycling aging model parameter to Equations, the open-circuit voltage across the fundamental battery model fades proportionally with the number of discharge cycles n:

OCVfaded=OCV(1+δOCV(N,T)100nN),

where δOCV(N,T) is the percentage change in open-circuit voltage after N discharge cycles. Specify δOCV(N,T) by using the Change in open-circuit voltage after NumDisCycles discharge cycles (%) parameter.

Note

The Battery Equivalent Circuit block tracks the current and integrates it over time. The number of discharge cycles n increases by 1 every time an equivalent cell discharge capacity is extracted.

The nominal charge, from which the block calculates the SOC, fades with the square root of the number of discharge cycles:

Cfaded=C(1+δC(N,T)100nN),

where C is the initial capacity and δC(N,T) is the percentage change in capacity after N discharge cycles. Specify δC(N,T) by using the Change in capacity after NumDisCycles discharge cycles (%) parameter.

All resistances in the battery model also fade with the square root of the number of discharge cycles:

Ri,faded=Ri(1+δRi(N,T)100nN),

where δRi(N,T) is the percentage change in the ith resistance after N discharge cycles. Specify δRi(N,T) by using the Change in resistance after NumDisCycles discharge cycles (%) parameter.

Depending on how you configure the block, the resistances include these values:

  • Instantaneous resistance — Specify the percentage change over NumDisCycles cycles using the Change in instantaneous resistance after NumDisCycles discharge cycles (%) parameter.

  • Self-discharge resistance — Specify the percentage change over NumDisCycles cycles using the Change in self-discharge resistance after NumDisCycles discharge cycles (%) parameter.

  • First charge dynamics resistance — Specify the percentage change over NumDisCycles cycles using the Change in first polarization resistance after NumDisCycles discharge cycles (%) parameter.

  • Second charge dynamics resistance — Specify the percentage change over NumDisCycles cycles using the Change in second polarization resistance after NumDisCycles discharge cycles (%) parameter.

  • Third charge dynamics resistance — Specify the percentage change over NumDisCycles cycles using the Change in third polarization resistance after NumDisCycles discharge cycles (%) parameter.

Note

You can also model the battery cycling aging characteristic by using the temperature-dependent or temperature-independent lookup tables. Choosing one of these options changes the block parameters accordingly.

Calendar Aging Model

You can model the battery performance deterioration that occurs when the battery is not in use. Calendar aging affects the internal resistance and the capacity. In particular, the resistance increase varies by mechanisms such as the creation of a solid-electrolyte interface (SEI) at the anode and cathode and the corrosion of the current collector. These processes mainly depend on the storage temperature, the storage SOC, and storage time.

To model calendar aging in the Battery Equivalent Circuit block, set one of the Resistance calendar aging or Capacity calendar aging parameters to Enabled and then set the Modeling option parameter to one of these values:

  • Equation-based

  • Tabulated: temperature

  • Tabulated: time and temperature

Note

The Battery Equivalent Circuit block applies the calendar aging only during initialization. When you set the Resistance calendar aging or Capacity calendar aging parameter to Enabled, the block exposes the Vector of time intervals parameter, which represents the time over which the battery ages before the start of the simulation. This option does not include calendar aging during the simulation.

Equation-based

These equations define the terminal resistance increase of the battery due to calendar aging:

αR(T,Voc)=(bRVoccR)eqdRkTRcalendar-aged=R0(1+i=1i=nαR(Ti,Voc)(tiaRti1aR))

where:

  • Voc is the Normalized open-circuit voltage during storage, V/Vnom parameter.

  • R0 is the Internal resistance parameter.

  • ti is the time sample derived from the Vector of time intervals parameter.

  • Ti is derived from the Temperature breakpoints, T parameter.

  • bR is the Terminal resistance linear scaling for voltage, b parameter.

  • cR is the Terminal resistance constant offset for voltage, c parameter.

  • dR is the Terminal resistance temperature-dependent exponential increase, d parameter.

  • aR is the Terminal resistance time exponent, a parameter.

  • q is the electron elementary charge, in C.

  • k is the Boltzmann constant, in J/K.

These equations define the capacity decrease of the battery due to calendar aging:

αC(T,Voc)=(bCVoccC)eqdCkTCcalendar-aged=C(1+i=1i=nαC(Ti,Voc)(tiaCti1aC))

where:

  • C is the initial capacity.

  • bC is the Capacity linear scaling for voltage, b parameter.

  • cC is the Capacity constant offset for voltage, c parameter.

  • dC is the Capacity temperature-dependent exponential increase, d parameter.

  • aC is the Capacity time constant, a parameter.

If you set the Storage condition parameter to Specify state-of-charge during storage, the block converts the SOC during storage into the normalized open-circuit voltage by using the tabulated voltage V0 against the SOC and the temperature during storage.

Tabulated: Temperature

The aged terminal resistance is the product of the terminal resistance, R0(SOC,T), the percentage resistance increase, dR0, and the power law that describes the time dependence of the calendar aging:

R0(SOC,T;tst,Tst)=R0(SOC,T)(1+i=1ndR0(Tst,i)100(tast,itast,i1tast,m)),

where:

  • T is the battery temperature. Specify the T breakpoints using the Temperature breakpoints, T parameter if you tabulate the parameters over temperature.

  • Tst is the Vector of storage temperatures parameter.

  • tst,i and tst,i-1 are the time samples derived from the Vector of time intervals parameter.

  • t0 is 0.

  • tst,m is the moment at which the software measures the resistance increase, dR0.

The same equation applies to the calculation of the aged battery capacity.

Tabulated: Time and Temperature

The aged terminal resistance is the product of the terminal resistance, R0(SOC,T) and dR0:

R0(SOC,T;Δtst,Tst)=R0(SOC,T)(1+i=1ndR0(Δtst,i,Tst,i)100).

The same equation applies to the calculation of the aged battery capacity.

Faults

The Battery Equivalent Circuit block supports three different types of fault:

  • Additional resistance fault — The resistance of a series-connected resistor ranges from a value of 0 ohm to a value that you specify. You can use this fault to model an open-circuit cell when the additional series-connected resistance is high (greater than 1000 ohm), or an abnormal internal resistance.

  • Internal short fault — The resistance of a parallel-connected resistor ranges from an infinite value to a value that you specify.

  • Exothermic reactions — Use this fault to simulate a thermal runaway event. Heat-releasing chemical reactions occur at the cell level. At low temperatures, the rate of reaction is low and the self-heating rate is not significant. At higher temperatures, the rate of exothermic reactions increases exponentially. The battery generates more heat than the amount it can dissipate. The temperature starts to rise exponentially, reaches a thermal runaway event, and the cell starts to burn. During the burn, the cell electrical behavior is equivalent to an open circuit.

    The released heat rate is a function of the extent of the reaction and the cell temperature:

    Qreaction(ξ,T)=Kscale(1ξ)ρeEaRT,

    where:

    • Kscale is a constant that scales the equation to define how fast the reaction advances.

    • ξ is the reaction extent. If the reaction extent is 0, the reaction has not started. If the reaction extent is 1, the reaction has consumed all possible reactants and is completed.

    • ρ is the value of the Order of reaction parameter and defines the polynomial dependency of the reaction rate with respect to the extent of reaction.

    • eEaRT is the Arrhenius equation and defines the temperature dependency. Ea is the activation energy, in kJ/mol, and R is equal to 8.314 J/k/mol.

    The block computes Kscale by using the Exotherm onset temperature parameter. The exotherm onset temperature is the temperature in an accelerating rate calorimetry (ARC) test at which the self-heating rate exceeds a threshold of 0.02 celsius per minute at which the reaction heat rate slowly increases the cell temperature. If the temperature exceeds this value, the reaction becomes self-sustaining and eventually produces the runaway event.

    In an ARC test, the released heat rate at the exothermic onset is equal to:

    Qreaction(ξ=0,T=TEO)=Mth,celldTdtEO=KscaleeEaRTEO

    where:

    • TEO is the exothermic onset temperature in Kelvin.

    • Mth,cell is the thermal mass of the cell.

    • dTdtEO is the rate of change of the cell temperature when the cell is at the exothermic onset temperature. The typical value is 0.02 celsius per minute.

    You can then compute Kscale as a function of dTdtEO, TEO, the thermal mass of the cell, and the activation energy:

    Kscale=Mth,celldTdtEOeEaRTEO.

    As the reaction advances, some of the materials in the battery decompose into gases. These gases dissipate into the environment. The loss of these materials decreases the thermal mass of the battery. To model this loss of thermal mass, the thermal mass decreases linearly with the reaction extent. To control the rate of thermal mass decrease with reaction extent, specify the Percent of thermal mass vented parameter accordingly.

To model a fault in the Battery Equivalent Circuit block, in the Faults section, click the Add fault hyperlink in the parameter that corresponds to the fault that you want to model. When the Create Fault window opens, use it to specify the fault properties. For more information about fault modeling, see Fault Behavior Modeling and Fault Triggering.

Predefined Parameterization

You can parameterize the Battery Equivalent Circuit block by using built-in parameterizations that represent components from specific suppliers.

These parameterizations model the steady-state electrical parameters of a battery. The software parameterizes the Open-circuit voltage (SOC), Instantaneous resistance, R0(SOC, T), Battery capacity, Percentage change in cell capacity, CapacityChange(N), and Percentage change in open-circuit voltage, OCVChangeVec(N) parameters from characteristic curves in the manufacturer datasheets. The software does not parameterize the change in series resistance with the battery cycle life and the dynamic RC network parameters. Instead, the software sums the net resistance of the RC network resistors to the series resistance of the specific parameterized data. To populate the RC parameter data, subtract the net RC network resistance from the series resistance data. The software estimates the battery thermal mass by assuming a value of 900 J/kg K for the specific heat of the battery. The thermal mass is then equal to 900 times the weight of the battery in the manufacturer datasheet.

The available data corresponds to a 1 C discharge current for different temperatures up to the minimum terminal voltage in the datasheet. The software extrapolates the data below the minimum terminal voltage. The Open-circuit voltage, OCV(SOC) parameter is temperature-independent. At lower temperatures, in the low-SOC region, the terminal resistances are constant and equal to the value of the resistance at the minimum terminal voltage. In this regime, batteries often experience higher thermal losses.

To load a predefined parameterization, double-click the Battery Equivalent Circuit block, click the <click to select> hyperlink of the Selected part parameter, and, in the Block Parameterization Manager window, select the part you want to use from the list of available components.

Note

The predefined parameterizations of Simscape™ components use available data sources for the parameter values. Engineering judgement and simplifying assumptions are used to fill in for missing data. As a result, expect deviations between simulated and actual physical behavior. To ensure accuracy, validate the simulated behavior against experimental data and refine component models as necessary.

For more information about predefined parameterization and for a list of the available components, see List of Pre-Parameterized Components (Simscape Electrical).

Variables

To set the priority and initial target values for the block variables before simulation, use the Initial Targets section in the block dialog box or Property Inspector. For more information, see Set Priority and Initial Target for Block Variables.

Nominal values provide a way to specify the expected magnitude of a variable in a model. Using system scaling based on nominal values increases the simulation robustness. You can specify nominal values using different sources, including the Nominal Values section in the block dialog box or Property Inspector. For more information, see System Scaling by Nominal Values.

Public Variables (Visible with Probe Block)

The Battery Equivalent Circuit block comprises these public variables that you can probe using the Probe block:

  • batteryCurrent — Total current measured through the battery terminals. By default, this variable has units of Amperes.

  • batteryTemperature — Battery average temperature that the block uses for the table look-up of resistances and open-circuit voltage. If you set the Thermal model parameter to Constant temperature, then the batteryTemperature variable is equal to the specified temperature value. If you set the Thermal model parameter to Lumped thermal mass, then the batteryTemperature variable is a differential state that varies during the simulation.

  • batteryVoltage — Battery terminal voltage, or the voltage difference between the positive and the negative terminals. By default, this variable has units of Volts.

  • charge — Electrical charge drawn from or added to the battery. By default, this variable has units of A*h.

  • heatGenerationRate — Total battery heat generation rate. The block calculates the heat generation rate by adding up all resistive losses, reversible heating contribution, and the exothermic reaction heat if you enabled an exothermic fault. By default, this variable has units of Watts.

  • hysteresisState — Hysteresis state in the range [-1,1]. A value of 1 indicates that the block is using the charge open-circuit voltage curve at that time step. A value of -1 indicates that the block is using the discharge open-circuit voltage curve at that time step. By default, this variable is unitless.

  • isCurrentInterruptionTempExceeded — Boolean that indicates whether the battery has exceeded its current interruption temperature during a thermal runaway event. This variable is relevant only when modeling faults.

  • isExothermFaulted — Boolean that indicates whether the battery model has transitioned into a thermal runaway or exothermic mode. This mode can be triggered by high temperature or timed based on the fault model specification. This variable is relevant only when modeling faults.

  • numCycles — Equivalent number of discharge cycles of the battery. The counter starts at zero and increases by one every time an equivalent discharge charge has been drawn from the battery. By default, this variable is unitless.

  • ocv — Open-circuit voltage of the battery adjusted for temperature, ageing, and state of charge. By default, this variable has units of Volts.

  • power_dissipated — Resistive heat generation rate or dissipated power. By default, this variable has units of Watts.

  • reactionExtent — Exothermic reaction progression in the range [0,1]. Initially, the value of this variable is 0. This variable is relevant only when modeling faults.

  • reactionHeatRate — Exothermic reaction heat, if you enabled an exothermic fault. By default, this variable has units of Watts.

  • reversibleHeat — Reversible heating contribution from entropy changes. By default, this variable has units of Watts.

  • stateOfCharge — Battery state of charge obtained from coulomb counting. By default, this variable is unitless.

  • voltageDropRC1 — Voltage drop that the first RC branch of the equivalent circuit model causes. By default, this variable has units of Volts.

  • voltageDropRC2 — Voltage drop that the second RC branch of the equivalent circuit model causes. By default, this variable has units of Volts.

  • voltageDropRC3 — Voltage drop that the third RC branch of the equivalent circuit model causes. By default, this variable has units of Volts.

Examples

Ports

Conserving

expand all

Electrical conserving port associated with the battery positive terminal.

Electrical conserving port associated with the battery negative terminal.

Thermal conserving port associated with the battery thermal mass.

Dependencies

To enable this port, in the Main section, set the Thermal model parameter to Lumped thermal mass.

Since R2024b

Thermal conserving port associated with the discretized battery thermal mass. Each element of this column array of nodes represents one discretized element in the thermal model along the height of the cell. The size of this column vector depends on the value of the Number of thermal models parameter.

Dependencies

To enable this port, in the Main section, set the Thermal model parameter to Height distributed thermal mass.

Parameters

expand all

Option to parameterize the block to represent components by specific suppliers. Click the <click to select> hyperlink to open the Block Parameterization Manager window. For more information about the Block Parameterization Manager, see Load Predefined Parameterizations (Simscape Electrical).

Main

Capacity of the battery when it is fully charged. The block calculates the SOC by dividing the accumulated charge by this value. The block calculates accumulated charge by integrating the battery current.

Option to define the thermal model of the battery.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: ThermalModel
Values: "ConstantTemperature" (default) | "LumpedThermalMass" | "TemperatureIndependent" | "HeightDistributedMass"

Extrapolation method for all the table-based parameters:

  • Linear — Estimate values beyond the data by creating a tangent line at the end of the known data and extending it beyond that limit.

  • Nearest — Extrapolate a value at a query point that is the value at the nearest sample grid point.

  • Error — Return an error if the value goes beyond the known data. If you select this option, the block does not use extrapolation.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: ExtrapolationMethod
Values: "nearest" (default) | "linear" | "error"

Open Circuit Voltage

SOC breakpoints at which you specify lookup data. This vector must be strictly ascending. The block calculates the SOC value with respect to the nominal battery capacity specified in the Battery capacity parameter. The SOC is the ratio of the available battery charge, qbattery and the nominal battery capacity, qnom(T,n). You must make sure that, for each temperature, an SOC value of 1 represents the respective battery charge capacity specified in the Battery capacity parameter, assuming a fresh battery with a number of cycles N equal to 1 and δAH(n = 1, Tfade) = 0.

SOC=qbatteryqnom(T,n)forN=1andδAH(n,Tfade)=0,qnom(T,n)=AH

Temperature breakpoints at which you specify lookup data. This vector must be strictly ascending and each element must be greater than 0 K.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass.

Lookup data for the open-circuit voltages across the fundamental battery model at the specified SOC.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence.

Lookup data for the open-circuit voltages across the fundamental battery model at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass.

Operating range of the terminal voltage. This parameter must be a 1-by-2 vector that defines the minimum and maximum values of the terminal voltage.

Option to model the hysteresis of the battery.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: HysteresisModel
Values: "none" (default) | "oneStateModel"

Maximum hysteresis voltage at the specified SOC breakpoints. The value of this parameter must be a vector of the same size as the State of charge breakpoints, SOC parameter.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Hysteresis model to One-state model.

Instantaneous hysteresis voltage at the specified SOC breakpoints. The value of this parameter must be a vector of the same size as the State of charge breakpoints, SOC parameter.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Hysteresis model to One-state model.

Hysteresis rate at the specified SOC breakpoints. The value of this parameter must be a scalar or a vector of the same size as the State of charge breakpoints, SOC parameter.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Hysteresis model to One-state model.

Maximum hysteresis voltage at the specified SOC and temperature breakpoints. The value of this parameter must be a matrix with a number of rows and columns equal to the size of the State of charge breakpoints, SOC and Temperature breakpoints, T parameters, respectively.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Hysteresis model to One-state model.

Instantaneous hysteresis voltage at the specified SOC and temperature breakpoints. The value of this parameter must be a matrix with a number of rows and columns equal to the size of the State of charge breakpoints, SOC and Temperature breakpoints, T parameters, respectively.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Hysteresis model to One-state model.

Hysteresis rate at the specified SOC and temperature breakpoints. The value of this parameter must be a scalar or a matrix with a number of rows and columns equal to the size of the State of charge breakpoints, SOC and Temperature breakpoints, T parameters, respectively.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Hysteresis model to One-state model.

Overpotential

SOC breakpoints at which you specify lookup data for the resistance parameters. This vector must be strictly ascending. The block calculates the SOC value with respect to the nominal battery capacity specified in the Battery capacity parameter.

Temperature breakpoints at which you specify lookup data for the resistance parameters. This vector must be strictly ascending and its entries must be greater than 0 K.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass.

Option to enable current directionality for resistance parameters. If you set this parameter to Enabled, the instantaneous resistance depends on the direction of the current.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: CurrentDirectionality
Values: "Disabled" (default) | "Enabled"

Instantaneous resistance of the battery at the specified SOC breakpoints.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Current directionality for resistance parameters to Disabled.

Instantaneous resistance of the battery at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Current directionality for resistance parameters to Disabled.

Instantaneous resistance of the battery during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Current directionality for resistance parameters to Enabled.

Instantaneous resistance of the battery during charging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Current directionality for resistance parameters to Enabled.

Instantaneous resistance of the battery during charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Current directionality for resistance parameters to Enabled.

Instantaneous resistance of the battery during discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Current directionality for resistance parameters to Enabled.

Option to model the self-discharge resistance of the battery. The block models this effect as a resistor across the terminals of the fundamental battery model.

As the temperature increases, the self-discharge resistance decreases. If the decrease in resistance is too fast, the battery might experience thermal runaway and numerical instability. To resolve this instability, perform these steps:

  • Decrease the thermal resistance.

  • Decrease the gradient of the self-discharge resistance with respect to temperature.

  • Increase the self-discharge resistance.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: SelfDischargeResistor
Values: "Disabled" (default) | "Enabled"

Self-discharge resistance of the battery. This resistance acts across the terminals of the fundamental battery model.

Dependencies

To enable this parameter, set Thermal model to No temperature dependence and Self discharge to Enabled.

Self-discharge resistance of the battery at the specified temperature breakpoints. This resistance acts across the terminals of the fundamental battery model.

Dependencies

To enable this parameter, set Thermal model to Constant temperature or Lumped thermal mass and Self discharge to Enabled.

Option to model the battery charge dynamics. This parameter determines the number of parallel RC sections in the equivalent circuit.

  • No dynamics — The equivalent circuit contains no parallel RC sections. The battery exhibits no delay between terminal voltage and internal charging voltage.

  • One time-constant dynamics — The equivalent circuit contains one parallel RC section. Specify the time constant using the First time constant, tau1(SOC,T) parameter if you tabulate the parameters over temperature or First time constant, tau1(SOC) otherwise.

  • Two time-constant dynamics — The equivalent circuit contains two parallel RC sections. Specify the time constants using the First time constant, tau1(SOC,T) and Second time constant, tau2(SOC,T) parameters if you tabulate the parameters over temperature or First time constant, tau1(SOC) and Second time constant, tau2(SOC) otherwise.

  • Three time-constant dynamics — The equivalent circuit contains three parallel RC sections. Specify the time constants using the First time constant, tau1(SOC,T), Second time constant, tau2(SOC,T), and Third time constant, tau3(SOC,T) parameters if you tabulate the parameters over temperature or First time constant, tau1(SOC), Second time constant, tau2(SOC), and Third time constant, tau3(SOC) otherwise.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: RCPairs
Values: "noDynamics" (default) | "rc1" | "rc2" | "rc3"

First parallel RC resistance at the specified SOC breakpoints. This parameter primarily affects the ohmic losses of the RC section.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC time constant at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics , Two time-constant dynamics, or Three time-constant dynamics.

Second parallel RC resistance at the specified SOC breakpoints. This parameter primarily affects the ohmic losses of the RC section.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC time constant at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Third parallel RC resistance at the specified SOC breakpoints. This parameter primarily affects the ohmic losses of the RC section.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC time constant at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

First parallel RC resistance during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC time constant during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC resistance during charging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC time constant during charging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

Second parallel RC resistance during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC time constant during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC resistance during charging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC time constant during charging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Third parallel RC resistance during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC time constant during discharging phase at the specified SOC breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC resistance during the charging phase at the specified SOC.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC time constant during charging phase at the specified SOC.

Dependencies

To enable this parameter, set:

  • Thermal model to No temperature dependence.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

First parallel RC resistance at the specified SOC and temperature breakpoints. This parameter primarily affects the ohmic losses of the RC section.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC time constant at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

Second parallel RC resistance at the specified SOC and temperature breakpoints. This parameter primarily affects the ohmic losses of the RC section.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC time constant at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Third parallel RC resistance at the specified SOC and temperature breakpoints. This parameter primarily affects the ohmic losses of the RC section.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC time constant at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Disabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

First parallel RC resistance during the discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC time constant during the discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC resistance during the charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

First parallel RC time constant during the charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

Second parallel RC resistance during the discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC time constant during the discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC resistance during the charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Second parallel RC time constant during the charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Third parallel RC resistance during the discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC time constant during the discharging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC resistance during the charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Third parallel RC resistance during the charging phase at the specified SOC and temperature breakpoints.

Dependencies

To enable this parameter, set:

  • Thermal model to Constant temperature or Lumped thermal mass.

  • Current directionality for resistance parameters to Enabled.

  • Parallel resistor capacitor pairs to Three time-constant dynamics.

Cycling Aging

Option to define the fading characteristic:

  • Disabled — Do not model fading characteristic.

  • Equations — The cell capacity and terminal resistance are proportional to N. The open-circuit voltage is proportional to N. If you enable the self-discharge resistance or any of the time constants, their values are proportional to N.

  • Lookup tables (temperature independent) — Set tabulated data for the percentage change in parameters as a function of N.

  • Lookup tables (temperature dependent) — Set tabulated data for the percentage change in parameters as a function of N and temperature.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: CyclingAgingMethod
Values: "disabled" (default) | "equations" | "tableN" | "tableNandT"

Number of charge-discharge cycles over which the specified percentage changes occur.

Dependencies

To enable this parameter, set Cycling aging model to Equations.

Percentage change in the open-circuit voltage after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations.

Percentage change in the terminal resistance after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations.

Percentage change in the cell capacity after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations.

Percentage change in the self-discharge resistance after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations and Self discharge to Enabled.

Percentage change in the first RC resistance after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations and Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

Percentage change in the second RC resistance after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations and Parallel resistor capacitor pairs to Two time-constant dynamics, or Three time-constant dynamics.

Percentage change in the third RC resistance after the battery undergoes NumDisCycles discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Equations and Parallel resistor capacitor pairs to Three time-constant dynamics.

Numbers of charge-discharge cycles over which the specified percentage changes occur.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent) or Lookup tables (temperature dependent).

Temperature breakpoints at which the block extracts the fading lookup tables. These temperatures are completely independent of the Temperature breakpoints, T parameter from the Main section.

Percentage change in the open-circuit voltage after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent).

Percentage change in the terminal resistance after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent).

Percentage change in the cell capacity after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent).

Percentage change in the self-discharge resistance after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent) and Self discharge to Enabled.

Percentage change in the first parallel RC resistance after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent) and Parallel resistor capacitor pairs to One time-constant dynamics, Two time-constant dynamics, or Three time-constant dynamics.

Percentage change in the second parallel RC resistance after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent) and Parallel resistor capacitor pairs to Two time-constant dynamics or Three time-constant dynamics.

Percentage change in the third parallel RC resistance after the battery undergoes N discharge cycles.

Dependencies

To enable this parameter, set Cycling aging model to Lookup tables (temperature independent) and Parallel resistor capacitor pairs to Three time-constant dynamics.

Percentage changes in the open-circuit voltage after the battery undergoes N discharge cycles at the specified temperature.

Percentage changes in the terminal resistance after the battery undergoes N discharge cycles at the specified temperature.

Percentage changes in cell capacity after the battery undergoes N discharge cycles at the specified temperature.

Percentage changes in the self-discharge resistance after the battery undergoes N discharge cycles at the specified temperature.

Percentage changes in the first parallel RC resistance after the battery undergoes N discharge cycles at the specified temperature.

Percentage changes in the second parallel RC resistance after the battery undergoes N discharge cycles at the specified temperature.

Percentage changes in the third parallel RC resistance after the battery undergoes N discharge cycles at the specified temperature.

Calendar Aging

Option to enable calendar aging for the resistance of the battery.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: CalendarAgeResistance
Values: "Disabled" (default) | "Enabled"

Option to enable calendar aging for the capacity of the battery.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: CalendarAgeCapacity
Values: "Disabled" (default) | "Enabled"

Modeling option for resistance and capacity calendar aging.

Dependencies

To enable this parameter, set Resistance calendar aging or Capacity calendar aging to Enabled.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: CalendarAgingMethod
Values: "disabled" (default) | "equations" | "tableN" | "tableNandT"

Option to specify the open-circuit voltage or the SOC during storage.

Dependencies

To enable this parameter, set Modeling option to Equation-based.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: StorageVariable
Values: "OCV" (default) | "SOC"

Normalized open-circuit voltage during storage.

Dependencies

To enable this parameter, set Modeling option to Equation-based and Storage condition to Specify open-circuit voltage during storage.

Percentage SOC during storage.

Dependencies

To enable this parameter, set Modeling option to Equation-based and Storage condition to Specify state-of-charge during storage.

Time intervals. The size of this parameter must be equal to the size of the Vector of storage temperatures parameter.

Dependencies

To enable this parameter, set Modeling option to Equation-based, Tabulated: temperature, or Tabulated: time and temperature.

Storage temperatures. The size of this parameter must be equal to the size of the Vector of time intervals parameter.

Dependencies

To enable this parameter, set Modeling option to Equation-based, Tabulated: temperature, or Tabulated: time and temperature.

Linear scaling coefficient of the terminal resistance for the open-circuit voltage.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Equation-based.

Constant offset of the terminal resistance for the open-circuit voltage.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Equation-based.

Temperature-dependent exponential increase in terminal resistance.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Equation-based.

Time exponent in the terminal resistance.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Equation-based or Tabulated: temperature.

Sampled temperatures for the calendar aging of the terminal resistance.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Tabulated: temperature or Tabulated: time and temperature.

Sampled storage time intervals for the calendar aging of the terminal resistance.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Tabulated: time and temperature.

Percentage change in the terminal resistance due to the calendar aging.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Tabulated: temperature.

Time between the battery terminal resistance at the beginning of life and the dR(Tar) measurement.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Tabulated: temperature.

Percentage change in the terminal resistance due to the calendar aging.

Dependencies

To enable this parameter, set Resistance calendar aging to Enabled and Modeling option to Tabulated: time and temperature.

Linear scaling coefficient of capacity for the open-circuit voltage.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Equation-based.

Constant offset of capacity for the open-circuit voltage.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Equation-based.

Temperature-dependent exponential decrease in capacity.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Equation-based.

Time exponent in capacity.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Equation-based or Tabulated: temperature.

Sampled temperatures for the calendar aging of the capacity.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Tabulated: temperature or Tabulated: time and temperature.

Sampled storage time intervals for the calendar aging of the capacity.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Tabulated: time and temperature.

Percentage change in the capacity due to the calendar aging.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Tabulated: temperature.

Time between the battery capacity at the beginning of life and the dAH(Tac) measurement.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Tabulated: temperature.

Percentage change in the capacity due to the calendar aging.

Dependencies

To enable this parameter, set Capacity calendar aging to Enabled and Modeling option to Tabulated: time and temperature.

Thermal

Battery temperature that the block uses in lookup tables throughout simulation.

Dependencies

To enable this parameter, set Thermal model to Constant temperature.

Thermal mass of the battery associated with the thermal port H or HDist. This parameter represents the energy required to raise the temperature of the thermal port by one kelvin.

Dependencies

To enable this parameter, set Thermal model to Lumped thermal mass or Height distributed thermal mass.

Since R2024b

Number of discretized elements in the thermal model. The value of this parameter affects the size of the array of thermal nodes at port HDist.

Dependencies

To enable this parameter, set Thermal model to Height distributed thermal mass.

Since R2024b

Thermal conductivity of the cell in the Z dimension. This parameter affects the heat exchange between the nodes of the array of thermal nodes, HDist.

Dependencies

To enable this parameter, set Thermal model to Height distributed thermal mass.

Since R2024b

Cross-sectional area of the cell in the XY dimension. This parameter affects the heat exchange between the nodes of the array of thermal nodes, HDist.

Dependencies

To enable this parameter, set Thermal model to Height distributed thermal mass.

Since R2024b

Height of the battery cell.

Dependencies

To enable this parameter, set Thermal model to Height distributed thermal mass.

Option to model the reversible heat or entropic heat in the battery. Entropy change causes the reversible heat inside a battery. The reversible heat can have a heating or cooling effect.

The block uses this equation to calculate the value of the reversible heat

Qrev=ITdOCVdT,

where dOCVdT is the value of the Entropic coefficient parameter.

Dependencies

To enable this parameter, set Thermal model to Lumped thermal mass or Height distributed thermal mass.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: ReversibleHeatModel
Values: "Disabled" (default) | "EntropicCoefficient"

Entropic coefficient of the reversible heat model. The size of this vector must be equal to the size of the State of charge breakpoints, SOC parameter.

Dependencies

To enable this parameter, set Reversible heat model to Entropic coefficient.

Faults

Option to fault a series-connected resistance. Use this fault to model an open-circuit cell if the additional resistance is greater than 1000 ohm, or an abnormal internal resistance.

To add a series-connected resistance fault, click the Add fault hyperlink.

Option to model exothermic reactions that can cause a thermal runaway event.

When exothermic reactions happen in the cell, a thermal runaway event can occur, releasing large amounts of heat and destroying the battery. The battery electrically acts as an open circuit when the temperature of the cell exceeds the value of the Current interruption temperature parameter.

To add a fault due to exothermic reactions, click the Add fault hyperlink.

Dependencies

To enable this parameter, set Thermal model to Lumped thermal mass.

Option to fault a parallel-connected resistance. The parallel-connected resistance ranges from an infinite value to a value that you specify.

To add a parallel-connected resistance fault, click the Add fault hyperlink.

Value of the additional resistance when the block is in a faulted state.

Dependencies

To enable this parameter, add an additional resistance fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Additional resistance fault parameter.

Value of the short parallel resistance when the block is in a faulted state.

Dependencies

To enable this parameter, add an internal short fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Internal short fault parameter.

Fidelity option for modeling the exothermic reactions.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: ExothermModel
Values: "analytical" (default) | "acceleratedRateCalorimetryTemperature"

Option to tabulate the exothermic reactions parameters as functions of the battery SOC.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

Programmatic Use

To set the block parameter value programmatically, use the set_param function.

Parameter: TabulateWithSOC
Values: false (default) | true

Temperature over which the battery is electrically disconnected due to thermal runaway and the current stops flowing through the battery.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and clear the Tabulate with state of charge parameter.

Total heat of the reaction.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and clear the Tabulate with state of charge parameter.

Temperature in an accelerating rate calorimetry (ARC) test at which the self-heating rate exceeds the threshold of 0.02 celsius per minute at which the reaction heat rate slowly increases the cell temperature. If the temperature exceeds this value, the reaction become self-sustaining and eventually produces a thermal runaway.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

  • Clear the Tabulate with state of charge parameter.

Exothermic onset temperature rate.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

Activation energy.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

  • Clear the Tabulate with state of charge parameter.

Order of the exothermic reaction.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

  • Clear the Tabulate with state of charge parameter.

Percentage of thermal mass that the battery vents to the environment. As the reaction advances, part of the material in the battery decomposes into gases. The battery vents these gases to the environment. The loss of these materials decreases the thermal mass of the battery. To model this loss of thermal mass, the thermal mass decreases linearly with the reaction extent. To control the rate of decrease of thermal mass with reaction extent, specify the Percent of thermal mass vented parameter accordingly.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and clear the Tabulate with state of charge parameter.

SOC values at which you specify lookup data for the exothermic parameters.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and select the Tabulate with state of charge parameter.

Corresponding current interruption temperature at the specified SOC breakpoints.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and select the Tabulate with state of charge parameter.

Corresponding total heat of reaction at the specified SOC breakpoints.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and select the Tabulate with state of charge parameter.

Corresponding exothermic onset temperature at the specified SOC breakpoints.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

  • Select the Tabulate with state of charge parameter.

Corresponding activation energy at the specified SOC breakpoints.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

  • Select the Tabulate with state of charge parameter.

Corresponding order of the reaction at the specified SOC breakpoints.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Analytical.

  • Select the Tabulate with state of charge parameter.

ARC test temperatures at which you specify lookup data.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and set the Modeling fidelity parameter to Tabulated accelerated rate calorimetry test temperature rate.

Corresponding ARC test temperature rates at the specified temperature breakpoints.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Tabulated accelerated rate calorimetry test temperature rate.

  • Clear the Tabulate with state of charge parameter.

Corresponding ARC test temperature rates at the specified temperature and SOC breakpoints.

Dependencies

To enable this parameter:

  • Add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter.

  • Set Modeling fidelity to Tabulated accelerated rate calorimetry test temperature rate.

  • Select the Tabulate with state of charge parameter.

Corresponding vented thermal mass percentage at the specified SOC breakpoints.

Dependencies

To enable this parameter, add an exothermic reactions fault to the Battery Equivalent Circuit block by clicking the Add fault hyperlink in the Exothermic reactions fault parameter and select the Tabulate with state of charge parameter.

References

[1] Zhang, Ran, and Zhengqiang Pan. “Model Identification of Lithium-Ion Batteries Considering Current-Rate Effects on Battery Impedance.” In 2019 4th International Conference on Power and Renewable Energy (ICPRE), 305–9. Chengdu, China: IEEE, 2019. https://doi.org/10.1109/ICPRE48497.2019.9034704R.

[2] Baronti, Federico, Nicola Femia, Roberto Saletti, Ciro Visone, and Walter Zamboni. “Hysteresis Modeling in Li-Ion Batteries.” IEEE Transactions on Magnetics 50, no. 11 (November 2014): 1–4. https://doi.org/10.1109/TMAG.2014.2323426

[3] Baronti, F., W. Zamboni, N. Femia, R. Roncella, and R. Saletti. “Experimental Analysis of Open-Circuit Voltage Hysteresis in Lithium-Iron-Phosphate Batteries.” In IECON 2013 - 39th Annual Conference of the IEEE Industrial Electronics Society, 6728–33, 2013. https://doi.org/10.1109/IECON.2013.6700246

[4] Ramadass, P., Bala Haran, Ralph White, and Branko N. Popov. “Mathematical Modeling of the Capacity Fade of Li-Ion Cells.” Journal of Power Sources 123, no. 2 (September 2003): 230–40. https://doi.org/10.1016/S0378-7753(03)00531-7

[5] Ning, Gang, Bala Haran, and Branko N. Popov. “Capacity Fade Study of Lithium-Ion Batteries Cycled at High Discharge Rates.” Journal of Power Sources 117, no. 1–2 (May 2003): 160–69. https://doi.org/10.1016/S0378-7753(03)00029-6

[6] Plett, Gregory L. Battery Management Systems. Volume I, Battery Modeling. Artech House, 2015.

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using Simulink® Coder™.

Version History

Introduced in R2023b

expand all