nrel.hive.model.vehicle.mechatronics.ice

Module Contents

Classes

ICE

Mechatronics for an internal combustion engine (ICE)

Attributes

log

nrel.hive.model.vehicle.mechatronics.ice.log[source]
class nrel.hive.model.vehicle.mechatronics.ice.ICE[source]

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

Mechatronics for an internal combustion engine (ICE)

mechatronics_id: nrel.hive.util.typealiases.MechatronicsId
tank_capacity_gallons: nrel.hive.util.units.GallonGasoline
idle_gallons_per_hour: nrel.hive.util.units.GallonPerHour
powertrain: nrel.hive.model.vehicle.mechatronics.powertrain.powertrain.Powertrain
nominal_miles_per_gallon: nrel.hive.util.units.MilesPerGallon
classmethod from_dict(d: nrel.hive.util.units.Dict, custom_powertrain_constructor: Callable[[nrel.hive.util.units.Dict[str, Any]], nrel.hive.model.vehicle.mechatronics.powertrain.powertrain.Powertrain] | None = None) ICE[source]

build from a dictionary

Parameters:

d – the dictionary to build from

Returns:

the built Mechatronics object

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

checks to make sure charger is gasoline 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 tank capacity 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 level of the fuel tank :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.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. units for the charger are gallons per second

Parameters:
  • vehicle

  • charger

  • time_seconds

Returns:

the updated vehicle, along with the time spent charging