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:
Current flow through the module and individual cells
Heat generation due to joule heating and entropy changes
Cell voltage under load based on state of charge, temperature, and current
Power flow through the module
Temperature changes based on heat generation and cooling (if present)
State of charge and depth of discharge updates
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