Main Content

batteryCyclingStep

R2026b

Cycle object for battery P2D model

Since R2026a

    Description

    A batteryCyclingStep object contains information about the battery cycle, including parameters defining the charging, discharging, and resting phases, and properties for switching between these phases.

    Creation

    Description

    cycling = batteryCyclingStep(PropertyName=Value) creates a batteryCyclingStep object and specifies the properties for the battery cycle. For example, you can specify the normalized current and hold voltage values, maximum simulation time, cutoff normalized current, maximum and minimum voltage limits, and the time step.

    You can use a vector of cycling steps to specify a sequence of charging, discharging, resting, and charging with constant voltage, in any combination and order.

    model = batteryP2DModel(CyclingStep=[cycling1 cycling2 ...])

    example

    Properties

    expand all

    Charging, Discharging, and CV Phase

    Rate at which the battery is charged or discharged relative to its ideal capacity, specified as a real number or a function handle. For example, a 1C rate means the battery is charged or discharged in one hour. Do not specify both NormalizedCurrent and HoldVoltage simultaneously.

    Data Types: double | function_handle

    Voltage during the constant voltage (CV) phase, specified as a positive number. Do not specify both NormalizedCurrent and HoldVoltage simultaneously.

    Battery P2D modeling uses SI units of measurements, so the constant voltage value must be specified in Volts (V).

    Data Types: double

    Stopping

    Maximum simulation time if no other cutoff criterion is met, specified as a positive number. Battery P2D modeling uses SI units of measurements, so the cutoff time must be specified in seconds (s).

    Data Types: double

    Current at which the constant voltage charging process is terminated, specified as a positive number. Typically, this value is a small fraction of the 1C current to ensure complete charging or discharging.

    Data Types: double

    Maximum voltage limit for the battery during charging, specified as a positive number. If the voltage is greater than this value, then the charging simulation stops.

    Battery P2D modeling uses SI units of measurements, so the maximum voltage limit for battery during charging must be specified in Volts (V).

    Data Types: double

    Minimum voltage limit for the battery during discharging, specified as a positive number. If the voltage is smaller than this value, then discharging simulation stops.

    Battery P2D modeling uses SI units of measurements, so the minimum voltage limit for battery during discharging must be specified in Volts (V).

    Data Types: double

    Time Step

    Output time step, specified as a positive number. This property specifies the interval at which data is saved in the output results object. Battery P2D modeling uses SI units of measurements, so the output time step value must be specified in seconds (s).

    Data Types: double

    Examples

    collapse all

    Specify battery parameters for charging, discharging, resting, and constant voltage steps.

    Create an object that specifies the battery cycling step for charging, and set the properties for the normalized current, the cutoff voltage, the cutoff time, and the output time step.

    c_charge = batteryCyclingStep( ...
        NormalizedCurrent=5, ...
        CutoffVoltageUpper=3.9, ...
        OutputTimeStep=0.5);

    Create a battery P2D model using this object to specify the CyclingStep property of the model.

    model = batteryP2DModel(CyclingStep=c_charge);
    model.CyclingStep
    ans = 
      batteryCyclingStep with properties:
    
              NormalizedCurrent: 5
                    HoldVoltage: []
                     CutoffTime: []
        CutoffNormalizedCurrent: []
             CutoffVoltageUpper: 3.9000
             CutoffVoltageLower: []
                 OutputTimeStep: 0.5000
    
    

    Specify parameters for discharging.

    c_discharge = batteryCyclingStep(...
        NormalizedCurrent=-5, ...
        CutoffVoltageLower=2.8, ...
        OutputTimeStep=1);
    
    model = batteryP2DModel(CyclingStep=c_discharge);
    model.CyclingStep
    ans = 
      batteryCyclingStep with properties:
    
              NormalizedCurrent: -5
                    HoldVoltage: []
                     CutoffTime: []
        CutoffNormalizedCurrent: []
             CutoffVoltageUpper: []
             CutoffVoltageLower: 2.8000
                 OutputTimeStep: 1
    
    

    Specify parameters for resting.

    c_rest = batteryCyclingStep(...
        NormalizedCurrent=0, ...
        CutoffTime=1000, ...
        OutputTimeStep=100);
    
    model = batteryP2DModel(CyclingStep=c_rest);
    model.CyclingStep
    ans = 
      batteryCyclingStep with properties:
    
              NormalizedCurrent: 0
                    HoldVoltage: []
                     CutoffTime: 1000
        CutoffNormalizedCurrent: []
             CutoffVoltageUpper: []
             CutoffVoltageLower: []
                 OutputTimeStep: 100
    
    

    Specify parameters for the CV phase: the voltage, the cutoff time, and the output time step.

    c_cv = batteryCyclingStep(...
        HoldVoltage=3.7, ...
        CutoffNormalizedCurrent=0.1, ...
        CutoffTime=3600, ...
        OutputTimeStep=5);
    
    model = batteryP2DModel(CyclingStep=c_cv);
    model.CyclingStep
    ans = 
      batteryCyclingStep with properties:
    
              NormalizedCurrent: []
                    HoldVoltage: 3.7000
                     CutoffTime: 3600
        CutoffNormalizedCurrent: 0.1000
             CutoffVoltageUpper: []
             CutoffVoltageLower: []
                 OutputTimeStep: 5
    
    

    Specify a sequence of processes, such as charging, discharging, resting, and charging with constant voltage phase, in any combination and order by using a vector of batteryCyclingStep objects.

    model = batteryP2DModel( ...
        CyclingStep=[c_charge c_cv c_discharge c_rest]);
    model.CyclingStep
    ans = 
      1×4 batteryCyclingStep array with properties:
    
        NormalizedCurrent
        HoldVoltage
        CutoffTime
        CutoffNormalizedCurrent
        CutoffVoltageUpper
        CutoffVoltageLower
        OutputTimeStep
    
    

    Version History

    Introduced in R2026a

    expand all