Implement generic supercapacitor model


Electric Drives/Extra Sources


The Supercapacitor block implements a generic model parameterized to represent most popular types of supercapacitors. The figure shows the equivalent circuit of the supercapacitor:

The supercapacitor output voltage is expressed using a Stern equation as:




To represent the self-discharge phenomenon, the supercapacitor electric charge is modified as follows (when iSC = 0):




The constants α1, α2, and α3 are the rates of change of the supercapacitor voltage during time intervals (toc, t3), (t3, t4), and (t4, t5) respectively, as shown in the figure:

AiInterfacial area between electrodes and electrolyte (m2)
cMolar concentration (mol/m3) equal to c = 1/(8NAr3)
rMolecular radius (m)
FFaraday constant
iscSupercapacitor current (A)
VscSupercapacitor voltage (V)
CTTotal capacitance (F)
RscTotal resistance (ohms)
NeNumber of layers of electrodes
NAAvogadro constant
NpNumber of parallel supercapacitors
NsNumber of series supercapacitors
QTElectric charge (C)
RIdeal gas constant
dMolecular radius
TOperating temperature (K)
εPermittivity of material
ε0Permittivity of free space

Dialog Box and Parameters

Parameters Tab

Rated capacitance (F)

Specify the nominal capacitance of the supercapacitor, in farad.

Equivalent DC series resistance (Ohms)

Specify the internal resistance of the supercapacitor, in ohms.

Rated voltage (V)

Specify the rated voltage of the supercapacitor, in volts. Typical rated voltage is equal to 2.7 V.

Number of series capacitors

Specify the number of series capacitors to be represented.

Number of parallel capacitors

Specify the number of parallel capacitors to be represented.

Initial voltage (V)

Specify the initial voltage of the supercapacitor, in volts.

Operating temperature (celsius)

Specify the operating temperature of the supercapacitor. The nominal temperature is 25° C.

Stern Tab

Use predetermined parameters

When this check box is selected, loads predetermined parameters of the Stern model into the mask of the block. These parameter values have been determined from experimental tests, and they can be used as default values to represent a common supercapacitor. Experimental validation of the model has shown a maximum error of 2% for charge and discharge when using the predetermined parameters.

When this check box is selected, the Number of layers, Molecular radius (m), Permittivity of electrolyte material (F/m), and Estimate using test data parameters appear dimmed.

Estimate using test data

When this check box is selected, you provide test data required for the estimation of the Stern model parameters. This parameter is available only if the Optimization Toolbox™ of MATLAB® is installed.

When this check box is selected, the Charge current (A) and Voltage @ 0 s, 20 s, and 60 s [V_0, V_2, V_3] (V) parameters are enabled. The Use predetermined parameters, Number of layers, Molecular radius (m), and Permittivity of electrolyte material (F/m) parameters appear dimmed.

Number of layers

Specify the number of layers related to the Stern model.

Molecular of radius (m)

Specify the molecular radius related to the Stern model, in meters.

Permittivity of electrolyte material (F/m)

Specify the permittivity of the electrolyte material, in farad/meter.

Charge current (A)

Specify the charge current during a constant current charge test, in amperes.

Voltage @ 0 s, 20 s, and 60 s [V_0, V_2, V_3] (V)

Specify the supercapacitor voltage, in volts, at 0 s, 20 s, and 60 s, when the supercapacitor is charged with a constant current equal to the value provided in the Charge current (A) parameter.

Self-discharge Tab

Simulate self-discharge

When this check box is selected, you provide test data required for modeling the self-discharge phenomenon.

Current prior open-circuit (A)

Specify the current prior to an open-circuit event, in amperes.

Voltage @ 0 s, 10 s, 100 s, and 1000 s [V_oc, V_3, V_4, V_5] (V)

Specify the supercapacitor voltage, in volts, at 0 s, 10 s, 100 s, and at 1000 s, when the supercapacitor is open-circuit. The corresponding current prior to open-circuit is given in the Current prior open-circuit (A) parameter.

Plot charge characteristics

When this check box is selected, the block plots a figure containing the charge curves at the specified charge currents and time units.

Charge current [i_1, i_2, i_3, ...] (A)

Specify the charge currents, in amperes, used to plot the charge characteristics.

Time units

Specify the time units (seconds, minutes, hours) used to plot the charge characteristics.

Inputs and Outputs


Outputs a vector containing measurement signals. You can demultiplex these signals using the Bus Selector block.

1The supercapacitor currentACurrent
2The supercapacitor voltageVVoltage
3The state of charge (SOC), between 0 and 100%SOC

The SOC for a fully charged supercapacitor is 100% and for an empty supercapacitor is 0%. The SOC is calculated as:


Model Assumptions

  • Internal resistance is assumed constant during the charge and the discharge cycles.

  • The model does not take into account temperature effect on the electrolyte material.

  • No aging effect is taken into account.

  • Charge redistribution is the same for all values of voltage.

  • The block does not model cell balancing.

  • Current through the supercapacitor is assumed to be continuous.


The parallel_battery_SC_boost_converter example shows a simple hybridization of a supercapacitor with a battery. The supercapacitor is connected to a buck/boost converter and the battery is connected to a boost converter. The DC bus voltage is equal to 42V. The converters are doing power management. The battery power is limited by a rate limiter block, therefore the transient power is supplied to the DC bus by the supercapacitor.


[1] Oldham, K. B. "A Gouy-Chapman-Stern model of the double layer at a (metal)/(ionic liquid) interface." J. Electroanalytical Chem. Vol. 613, No. 2, 2008, pp. 131–38.

[2] Xu, N., and J. Riley. "Nonlinear analysis of a classical system: The double-layer capacitor." Electrochemistry Communications. Vol. 13, No. 10, 2011, pp. 1077–81.

Was this topic helpful?