nrel.hive.model.vehicle.mechatronics.bev

Module Contents

Classes

BEV

Interface for creating energy sources

Attributes

log

nrel.hive.model.vehicle.mechatronics.bev.log[source]
class nrel.hive.model.vehicle.mechatronics.bev.BEV[source]

Bases: nrel.hive.model.vehicle.mechatronics.mechatronics_interface.MechatronicsInterface

Interface for creating energy sources

mechatronics_id: nrel.hive.util.typealiases.MechatronicsId
battery_capacity_kwh: nrel.hive.util.units.KwH
idle_kwh_per_hour: nrel.hive.util.units.KwH_per_H
powertrain: nrel.hive.model.vehicle.mechatronics.powertrain.powertrain.Powertrain
powercurve: nrel.hive.model.vehicle.mechatronics.powercurve.powercurve.Powercurve
nominal_watt_hour_per_mile: nrel.hive.util.units.WattHourPerMile
charge_taper_cutoff_kw: nrel.hive.util.units.Kw
battery_full_threshold_kwh: nrel.hive.util.units.KwH = 0.1
classmethod from_dict(d: nrel.hive.util.units.Dict[str, str], custom_powertrain_constructor: Callable[[nrel.hive.util.units.Dict[str, Any]], nrel.hive.model.vehicle.mechatronics.powertrain.powertrain.Powertrain] | None = None, custom_powercurve_constructor: Callable[[nrel.hive.util.units.Dict[str, Any]], nrel.hive.model.vehicle.mechatronics.powercurve.powercurve.Powercurve] | None = None) BEV[source]

build from a dictionary

Parameters:
  • d – the dictionary to build from

  • custom_powertrain_constructor – An optional custom constuctor to build the Powertrain

  • custom_powercurve_constructor – An optional custom constuctor to build the Powercurve

Returns:

the built Mechatronics object

valid_charger(charger: nrel.hive.model.energy.charger.Charger) bool[source]

checks to make sure charger is electric energy type

Parameters:

charger – the charger to check

Returns:

true/false

initial_energy(percent_full: nrel.hive.util.units.Ratio) immutables.Map[nrel.hive.model.energy.energytype.EnergyType, float][source]

return an energy dictionary from an initial soc

Parameters:

percent_full

Returns:

range_remaining_km(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) nrel.hive.util.units.Kilometers[source]

how much range remains, in kilometers :return:

calc_required_soc(required_range: nrel.hive.util.units.Kilometers) nrel.hive.util.units.Ratio[source]

what is the required soc to travel a given distance :param required_range: the distance the vehicle needs to travel :return:

fuel_source_soc(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) nrel.hive.util.units.Ratio[source]

what is the state of charge of the battery :return:

is_empty(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) bool[source]

is the vehicle empty

Parameters:

vehicle

Returns:

is_full(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) bool[source]

is the vehicle full

Parameters:

vehicle

Returns:

consume_energy(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle, route: nrel.hive.model.roadnetwork.route.Route) nrel.hive.model.vehicle.vehicle.Vehicle[source]

consume_energy over a route

Parameters:
  • vehicle

  • route

Returns:

idle(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle, time_seconds: nrel.hive.util.units.Seconds) nrel.hive.model.vehicle.vehicle.Vehicle[source]

idle for a set amount of time

Parameters:
  • vehicle

  • time_seconds

Returns:

add_energy(vehicle: nrel.hive.model.vehicle.vehicle.Vehicle, charger: nrel.hive.model.energy.charger.Charger, time_seconds: nrel.hive.util.units.Seconds) Tuple[nrel.hive.model.vehicle.vehicle.Vehicle, nrel.hive.util.units.Seconds][source]

add energy into the system

Parameters:
  • vehicle

  • charger

  • time_seconds

Returns:

the updated vehicle, along with the time spent charging