battery.py

class openconcept.energy_storage.battery.SOCBattery(**kwargs)

Bases: Group

Same as SimpleBattery but also tracks state of charge

Inputs:
  • battery_weight (float) – Weight of the battery pack (scalar, kg)

  • elec_load (float) – Electric power draw upstream (vector, W)

  • SOC_initial (float) – Initial state of charge (default 1) (scalar, dimensionless)

  • duration (float) – Length of the mission phase (corresponding to num_nodes) (scalar, s)

Outputs:
  • SOC (float) – State of charge of the battery on a scale of 0 to 1 (vector, dimensionless)

  • max_energy (float) – Total energy in the battery at 100% SOC (scalar, Wh)

  • heat_out (float) – Waste heat produced (vector, W)

  • component_cost (float) – Nonrecurring cost of the component (scalar, USD)

  • component_sizing_margin (float) – Equal to 1 when producing full rated power (vector, dimensionless)

Options:
  • num_nodes (int) – Number of analysis points to run (sets vec length; default 1)

  • efficiency (float) – Shaft power efficiency. Sensible range 0.0 to 1.0 (default 1.0)

  • specific_power (float) – Rated power per unit weight (default 5000, W/kg)

  • default_specific_energy (float) – Battery energy per unit weight NOTE UNITS (default 300, !!!! Wh/kg) Can be set using variable input ‘specific_energy’ as well if doing a sweep

  • cost_inc (float) – Cost per unit weight (default 50, USD/kg)

  • cost_base (float) – Base cost (default 1 USD)

class openconcept.energy_storage.battery.SimpleBattery(**kwargs)

Bases: ExplicitComponent

A simple battery which tracks power limits and generates heat.

Specific energy assumption INCLUDING internal losses should be used The efficiency parameter only generates heat

Inputs:
  • battery_weight (float) – Weight of the battery pack (scalar, kg)

  • elec_load (float) – Electric power draw upstream (vector, W)

Outputs:
  • max_energy (float) – Total energy in the battery at 100% SOC (scalar, Wh)

  • heat_out (float) – Waste heat produced (vector, W)

  • component_cost (float) – Nonrecurring cost of the component (scalar, USD)

  • component_sizing_margin (float) – Equal to 1 when producing full rated power (vector, dimensionless)

Options:
  • num_nodes (int) – Number of analysis points to run (sets vec length; default 1)

  • efficiency (float) – Shaft power efficiency. Sensible range 0.0 to 1.0 (default 1.0)

  • specific_power (float) – Rated power per unit weight (default 5000, W/kg)

  • specific_energy (float) – Battery energy per unit weight NOTE UNITS (default 300, !!!! Wh/kg) Can override this with variable input during a sweep (input specific_energy)

  • cost_inc (float) – Cost per unit weight (default 50, USD/kg)

  • cost_base (float) – Base cost (default 1 USD)