nrel.hive.model.vehicle.mechatronics.powercurve

Submodules

Package Contents

Classes

Powercurve

a powertrain has a behavior where it calculates energy consumption in KwH

TabularPowercurve

builds a tabular, interpolated lookup model from a file

Functions

build_powercurve(→ powercurve.Powercurve)

Attributes

powercurve_models

class nrel.hive.model.vehicle.mechatronics.powercurve.Powercurve[source]

Bases: abc.ABC

a powertrain has a behavior where it calculates energy consumption in KwH

abstract charge(start_soc: nrel.hive.util.units.Ratio, full_soc: nrel.hive.util.units.Ratio, power_kw: nrel.hive.util.units.Kw, duration_seconds: nrel.hive.util.units.Seconds = 1) Tuple[nrel.hive.util.units.KwH, nrel.hive.util.units.Seconds][source]
Parameters:
  • start_soc

  • full_soc

  • power_kw

  • duration_seconds

Returns:

the charge amount along with the time spent charging

class nrel.hive.model.vehicle.mechatronics.powercurve.TabularPowercurve(data: Dict[str, Any], nominal_max_charge_kw: nrel.hive.util.units.Kw | None = None, battery_capacity_kwh: nrel.hive.util.units.KwH | None = None)[source]

Bases: nrel.hive.model.vehicle.mechatronics.powercurve.powercurve.Powercurve

builds a tabular, interpolated lookup model from a file

charge(start_soc: nrel.hive.util.units.Ratio, full_soc: nrel.hive.util.units.Ratio, power_kw: nrel.hive.util.units.Kw, duration_seconds: nrel.hive.util.units.Seconds = 1) Tuple[nrel.hive.util.units.KwH, nrel.hive.util.units.Seconds][source]

(estimated) energy rate due to fueling, based on an interpolated tabular lookup model

Parameters:
  • start_soc

  • full_soc – the cutoff energy limit

  • power_kw – how fast to charge

  • duration_seconds – the amount of time to charge for

Returns:

the energy source charged for this duration using this charger_id, along with the time charged

nrel.hive.model.vehicle.mechatronics.powercurve.powercurve_models
nrel.hive.model.vehicle.mechatronics.powercurve.build_powercurve(config: dict) powercurve.Powercurve[source]