RCAIDE.Library.Methods.Powertrain.Sources.Batteries.Lithium_Ion_NMC.compute_nmc_cell_performance

compute_nmc_cell_performance#

compute_nmc_cell_performance(battery_module, state, bus, coolant_lines, t_idx, delta_t)[source]#

Computes the performance of a lithium-nickel-manganese-cobalt-oxide (NMC) battery cell.

Parameters:
  • battery_module (RCAIDE.Library.Components.Sources.Battery_Modules.Lithium_Ion_NMC) –

    Battery module component with the following attributes:
    • tagstr

      Identifier for the battery module

    • cellData
      Cell properties
      • electrode_areafloat

        Area of the electrode [m²]

      • surface_areafloat

        Surface area of the cell [m²]

      • massfloat

        Mass of a single cell [kg]

      • specific_heat_capacityfloat

        Specific heat capacity of the cell [J/(kg·K)]

      • discharge_performance_mapfunction

        Function that maps state of charge, temperature, and current to voltage

    • maximum_energyfloat

      Maximum energy capacity of the module [J]

    • electrical_configurationData
      Electrical configuration
      • seriesint

        Number of cells in series

      • parallelint

        Number of cells in parallel

  • state (RCAIDE.Framework.Mission.Common.State) –

    State object containing:
    • conditionsData
      Flight conditions
      • energydict
        Energy conditions indexed by component tag
        • [bus.tag]Data
          Bus-specific conditions
          • energynumpy.ndarray

            Energy stored in the bus [J]

          • power_drawnumpy.ndarray

            Power draw on the bus [W]

          • current_drawnumpy.ndarray

            Current draw on the bus [A]

          • battery_modulesdict
            Battery module conditions indexed by tag
            • [battery_module.tag]Data
              Battery module conditions
              • energynumpy.ndarray

                Energy stored in the module [J]

              • voltage_open_circuitnumpy.ndarray

                Open-circuit voltage [V]

              • powernumpy.ndarray

                Power output [W]

              • internal_resistancenumpy.ndarray

                Internal resistance [Ω]

              • heat_energy_generatednumpy.ndarray

                Heat energy generated [W]

              • voltage_under_loadnumpy.ndarray

                Voltage under load [V]

              • currentnumpy.ndarray

                Current [A]

              • temperaturenumpy.ndarray

                Temperature [K]

              • state_of_chargenumpy.ndarray

                State of charge [0-1]

              • cellData

                Cell-specific conditions with same properties as module

    • numericsData
      Numerical properties
      • number_of_control_pointsint

        Number of control points in the mission

  • bus (RCAIDE.Library.Components.Systems.Electrical_Bus) –

    Electrical bus component with the following attributes:
    • tagstr

      Identifier for the electrical bus

    • battery_module_electric_configurationstr

      Configuration of battery modules (“Series” or “Parallel”)

    • battery_moduleslist

      List of battery modules connected to the bus

  • coolant_lines (list) – List of coolant lines for thermal management

  • t_idx (int) – Current time index in the simulation

  • delta_t (numpy.ndarray) – Time step size [s]

Returns:

  • stored_results_flag (bool) – Flag indicating if results were stored

  • stored_battery_module_tag (str) – Tag of the battery module for which results were stored

Notes

This function models the electrical and thermal behavior of an NMC battery cell based on experimental data. It updates various battery conditions in the state object, including: current energy, temperature, heat energy generated, load power, current, open-circuit voltage, charge throughput, internal resistance, state of charge, depth of discharge, and voltage under load.

The model includes:
  • Internal resistance calculation

  • Thermal modeling (heat generation and temperature change)

  • Electrical performance (voltage and current calculations)

  • State of charge and depth of discharge updates

Major Assumptions
  • All battery modules exhibit the same thermal behavior

  • The cell temperature is assumed to be the temperature of the entire module

  • Battery performance follows empirical models based on experimental data

Theory The internal resistance is modeled as a function of state of charge:

\[R_0 = 0.01483 \cdot SOC^2 - 0.02518 \cdot SOC + 0.1036\]

Heat generation includes both Joule heating and entropy effects:

\[ \begin{align}\begin{aligned}\dot{q}_{entropy} = -T \cdot \Delta S \cdot i / (nF)\\\dot{q}_{joule} = i^2 / \sigma\\Q_{heat} = (\dot{q}_{joule} + \dot{q}_{entropy}) \cdot A_s\end{aligned}\end{align} \]

References

[1] Zou, Y., Hu, X., Ma, H., and Li, S. E., “Combined State of Charge and State of Health estimation over lithium-ion battery cell cycle lifespan for electric vehicles,” Journal of Power Sources, Vol. 273, 2015, pp. 793-803. doi:10.1016/j.jpowsour.2014.09.146 [2] Jeon, D. H., and Baek, S. M., “Thermal modeling of cylindrical lithium ion battery during discharge cycle,” Energy Conversion and Management, Vol. 52, No. 8-9, 2011, pp. 2973-2981. doi:10.1016/j.enconman.2011.04.013

reuse_stored_nmc_cell_data(battery_module, state, bus, stored_results_flag, stored_battery_module_tag)[source]#

Reuses results from one propulsor for identical batteries

Assumptions: N/A

Source: N/A

Inputs:

Outputs:

Properties Used: N.A.

compute_nmc_cell_state(battery_module_data, SOC, T, I)[source]#

Computes the electrical state variables of a lithium-nickel-manganese-cobalt-oxide (NMC) battery cell using look-up tables.

Parameters:
  • battery_module_data (function) – Look-up function that maps state of charge, temperature, and current to voltage

  • SOC (numpy.ndarray) – State of charge of the cell [unitless, 0-1]

  • T (numpy.ndarray) – Battery cell temperature [K]

  • I (numpy.ndarray) – Battery cell current [A]

Returns:

V_ul – Under-load voltage [V]

Return type:

numpy.ndarray

Notes

This function computes the voltage of an NMC battery cell under load conditions by using a look-up table approach. It converts the state of charge to depth of discharge, and then uses this value along with temperature and current to determine the cell voltage.

The function applies limits to ensure the inputs are within the valid range of the look-up data:

  • SOC is limited to [0, 1]

  • Temperature is limited to [272.65K, 322.65K] (approximately 0°C to 50°C)

  • Current is limited to [0A, 8A]

The input to the look-up table is a concatenated array of [current, temperature, depth_of_discharge].

Major Assumptions
  • The battery performance can be accurately represented by a look-up table

  • The model is valid only within the specified temperature and current ranges