RCAIDE.Library.Methods.Powertrain.Sources.Batteries.Lithium_Ion_LFP.compute_lfp_cell_performance

compute_lfp_cell_performance#

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

Computes the performance of lithium iron phosphate (LFP) battery cells.

Parameters:
  • battery_module (BatteryModule) –

    The battery module containing LFP cells with the following attributes:
    • cell.electrode_areafloat

      Area of the cell electrode [m²]

    • cell.surface_areafloat

      Surface area of the cell [m²]

    • cell.massfloat

      Mass of the cell [kg]

    • cell.specific_heat_capacityfloat

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

    • cell.discharge_performance_mapfunction

      Function that maps C-rate, temperature, and discharge capacity to voltage

    • electrical_configuration.seriesint

      Number of cells in series

    • electrical_configuration.parallelint

      Number of cells in parallel

  • state (State) – Current system state containing conditions for all components

  • bus (ElectricalBus) – The electrical bus connected to the battery module

  • coolant_lines (list) – List of coolant lines that may be connected to the battery module

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

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

Returns:

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

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

Notes

This function computes the electrical and thermal performance of LFP battery cells within a battery module. It calculates:

  1. Current flow through the module and individual cells

  2. Heat generation due to joule heating and entropy changes

  3. Cell voltage under load based on state of charge, temperature, and current

  4. Power flow through the module

  5. Temperature changes based on heat generation and cooling (if present)

  6. State of charge and depth of discharge updates

  7. Charge throughput tracking

Major Assumptions
  • All battery cells in a module exhibit the same thermal behavior

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

Theory

Heat generation in the cell includes both joule heating and entropic effects:

\[\dot{Q}_{joule} = \frac{i_{cell}^2}{\sigma}\]
\[\dot{Q}_{entropy} = f(SOC) \cdot T \cdot \frac{dU}{dT}\]
where:
  • \(i_{cell}\) is the current density [A/m²]

  • \(\sigma\) is the electrical conductivity [S/m]

  • \(SOC\) is the state of charge

  • \(T\) is the temperature [K]

  • \(\frac{dU}{dT}\) is the entropic coefficient

reuse_stored_lfp_cell_data(battery_module, state, bus, stored_results_flag, stored_battery_tag)[source]#

Reuses results from one propulsor for identical batteries

compute_lfp_cell_state(battery_module, battery_module_data, SOC, T, I)[source]#

Computes the electrical state variables of a lithium iron phosphate (LFP) battery cell using look-up tables.

Parameters:
  • battery_module (BatteryModule) –

    The battery module containing LFP cells with the following attributes:
    • cell.nominal_capacityfloat

      Nominal capacity of the cell [Ah]

  • battery_module_data (function) – Look-up function that maps C-rate, temperature, and discharge capacity 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 LFP battery cell under load conditions by using a look-up table approach. It converts the state of charge to discharge capacity, calculates the C-rate, and then uses these values along with temperature 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 [-10°C, 60°C]

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

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