nrel.hive.state.simulation_state.simulation_state_ops
Module Contents
Functions
|
advances the simulation clock |
|
helper for adding an entity to the simulation |
|
helper for modifying an entity in the simulation |
|
helper for adding multiple entities to the simulation |
|
helper for modifying multiple entities in the simulation |
|
helper for adding a general entity to the simulation |
|
helper for adding multiple general entities to the simulation |
|
helper for modifying a general entity in the simulation |
|
helper for moidfying multiple general entities in the simulation |
|
adds a request to the SimulationState |
|
removes a request from this simulation. |
|
|
|
given an updated request, update the SimulationState with that request |
|
|
|
adds a vehicle into the region supported by the RoadNetwork in this SimulationState |
|
given an updated vehicle, update the SimulationState with that vehicle |
|
|
|
removes the vehicle from play (perhaps to simulate a broken vehicle or end of a shift) |
|
|
|
removes a vehicle from this SimulationState, which updates the state and also returns the vehicle. |
|
|
|
adds a station to the simulation |
|
remove a station from the simulation. maybe they closed due to inclement weather. |
|
|
|
given an updated station, update the SimulationState with that station |
|
|
|
adds a base to the simulation |
|
remove a base from the simulation. all your base belong to us. |
|
|
|
given an updated base, update the SimulationState with that base |
|
|
|
trigger the update of the road network model based on the current sim time |
- nrel.hive.state.simulation_state.simulation_state_ops.tick(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]
advances the simulation clock
- Parameters:
sim – the simulation state
- Returns:
the simulation after being updated
- nrel.hive.state.simulation_state.simulation_state_ops.add_entity(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entity: nrel.hive.model.entity.Entity) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]
helper for adding an entity to the simulation
- Parameters:
sim – the simulation state
entity – the entity to add
- Returns:
the updated simulation state
- Raises:
an error if the entity cannot be added
- nrel.hive.state.simulation_state.simulation_state_ops.modify_entity(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entity: nrel.hive.model.entity.Entity) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]
helper for modifying an entity in the simulation
- Parameters:
sim – the simulation state
entity – the entity to modify
- Returns:
the updated simulation state
- Raises:
an error if the entity cannot be modified
- nrel.hive.state.simulation_state.simulation_state_ops.add_entities(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entities: Iterable[nrel.hive.model.entity.Entity]) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]
helper for adding multiple entities to the simulation
- Parameters:
sim – the simulation state
entities – the entities to add
- Returns:
the updated simulation state
- Raises:
an error if any of the entities cannot be added
- nrel.hive.state.simulation_state.simulation_state_ops.modify_entities(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entities: Iterable[nrel.hive.model.entity.Entity]) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]
helper for modifying multiple entities in the simulation
- Parameters:
sim – the simulation state
entities – the entities to modify
- Returns:
the updated simulation state
- Raises:
an error if any of the entities cannot be modified
- nrel.hive.state.simulation_state.simulation_state_ops.add_entity_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entity: nrel.hive.model.entity.Entity) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
helper for adding a general entity to the simulation
- Parameters:
sim – the simulation state
entity – the entity to add
- Returns:
the updated simulation state or an error
- nrel.hive.state.simulation_state.simulation_state_ops.add_entities_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entities: Iterable[nrel.hive.model.entity.Entity]) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
helper for adding multiple general entities to the simulation
- Parameters:
sim – the simulation state
entities – the entities to add
- Returns:
the updated simulation state or an error
- nrel.hive.state.simulation_state.simulation_state_ops.modify_entity_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entity: nrel.hive.model.entity.Entity) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
helper for modifying a general entity in the simulation
- Parameters:
sim – the simulation state
entity – the entity to modify
- Returns:
the updated simulation state or an error
- nrel.hive.state.simulation_state.simulation_state_ops.modify_entities_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, entities: Iterable[nrel.hive.model.entity.Entity]) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
helper for moidfying multiple general entities in the simulation
- Parameters:
sim – the simulation state
entities – the entities to modify
- Returns:
the updated simulation state or an error
- nrel.hive.state.simulation_state.simulation_state_ops.add_request_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, request: nrel.hive.model.request.Request) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
adds a request to the SimulationState
- Parameters:
sim – the simulation state
request – the request to add
- Returns:
the updated simulation state, or an error
- nrel.hive.state.simulation_state.simulation_state_ops.remove_request_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, request_id: nrel.hive.util.typealiases.RequestId) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
removes a request from this simulation. called once a Request has been fully serviced and is no longer alive in the simulation.
- Parameters:
sim – the simulation state
request_id – id of the request to delete
- Returns:
the updated simulation state (does not report failure)
- nrel.hive.state.simulation_state.simulation_state_ops.remove_request(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, request_id: nrel.hive.util.typealiases.RequestId) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.modify_request_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_request: nrel.hive.model.request.Request) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
given an updated request, update the SimulationState with that request
- Parameters:
sim – the simulation state
updated_request –
- Returns:
the updated simulation, or an error
- nrel.hive.state.simulation_state.simulation_state_ops.modify_request(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_request: nrel.hive.model.request.Request) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.add_vehicle_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
adds a vehicle into the region supported by the RoadNetwork in this SimulationState
- Parameters:
sim – the simulation state
vehicle – a vehicle
- Returns:
updated SimulationState, or SimulationStateError
- nrel.hive.state.simulation_state.simulation_state_ops.modify_vehicle_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
given an updated vehicle, update the SimulationState with that vehicle
- Parameters:
sim – the simulation state
updated_vehicle – the vehicle after calling a transition function and .step()
- Returns:
the updated simulation, or an error
- nrel.hive.state.simulation_state.simulation_state_ops.modify_vehicle(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_vehicle: nrel.hive.model.vehicle.vehicle.Vehicle) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.remove_vehicle_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, vehicle_id: nrel.hive.util.typealiases.VehicleId) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
removes the vehicle from play (perhaps to simulate a broken vehicle or end of a shift)
- Parameters:
sim – the simulation state
vehicle_id – the id of the vehicle
- Returns:
the updated simulation state
- nrel.hive.state.simulation_state.simulation_state_ops.remove_vehicle(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, vehicle_id: nrel.hive.util.typealiases.VehicleId) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.pop_vehicle_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, vehicle_id: nrel.hive.util.typealiases.VehicleId) returns.result.ResultE[Tuple[nrel.hive.state.simulation_state.simulation_state.SimulationState, nrel.hive.model.vehicle.vehicle.Vehicle]][source]
removes a vehicle from this SimulationState, which updates the state and also returns the vehicle. supports shipping this vehicle to another cluster node.
- Parameters:
sim – the simulation state
vehicle_id – the id of the vehicle to pop
- Returns:
either a Tuple containing the updated state and the vehicle, or, an error
- nrel.hive.state.simulation_state.simulation_state_ops.pop_vehicle(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, vehicle_id: nrel.hive.util.typealiases.VehicleId) Tuple[Exception | None, Tuple[nrel.hive.state.simulation_state.simulation_state.SimulationState, nrel.hive.model.vehicle.vehicle.Vehicle] | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.add_station_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, station: nrel.hive.model.station.station.Station) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
adds a station to the simulation
- Parameters:
sim – the simulation state
station – the station to add
- Returns:
the updated SimulationState, or a error = SimulationStateError
- nrel.hive.state.simulation_state.simulation_state_ops.remove_station_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, station_id: nrel.hive.util.typealiases.StationId) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
remove a station from the simulation. maybe they closed due to inclement weather.
- Parameters:
sim – the simulation state
station_id – the id of the station to remove
- Returns:
the updated simulation state, or an exception
- nrel.hive.state.simulation_state.simulation_state_ops.remove_station(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, station_id: nrel.hive.util.typealiases.StationId) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.modify_station_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_station: nrel.hive.model.station.station.Station) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
given an updated station, update the SimulationState with that station
- Parameters:
sim – the simulation state
updated_station – the revised station data
- Returns:
the updated simulation, or an error
- nrel.hive.state.simulation_state.simulation_state_ops.modify_station(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_station: nrel.hive.model.station.station.Station) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.add_base_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, base: nrel.hive.model.base.Base) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
adds a base to the simulation
- Parameters:
sim – the simulation state
base – the base to add
- Returns:
the updated SimulationState, or a SimulationStateError
- nrel.hive.state.simulation_state.simulation_state_ops.remove_base_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, base_id: nrel.hive.util.typealiases.BaseId) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
remove a base from the simulation. all your base belong to us.
- Parameters:
sim – the simulation state
base_id – the id of the base to remove
- Returns:
the updated simulation state, or an exception
- nrel.hive.state.simulation_state.simulation_state_ops.remove_base(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, base_id: nrel.hive.util.typealiases.BaseId) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.modify_base_safe(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_base: nrel.hive.model.base.Base) returns.result.ResultE[nrel.hive.state.simulation_state.simulation_state.SimulationState][source]
given an updated base, update the SimulationState with that base invariant: base locations will not be changed!
- Parameters:
sim – the simulation state
updated_base –
- Returns:
the updated simulation, or an error
- nrel.hive.state.simulation_state.simulation_state_ops.modify_base(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, updated_base: nrel.hive.model.base.Base) Tuple[Exception | None, nrel.hive.state.simulation_state.simulation_state.SimulationState | None][source]
- nrel.hive.state.simulation_state.simulation_state_ops.update_road_network(sim: nrel.hive.state.simulation_state.simulation_state.SimulationState, sim_time: nrel.hive.model.sim_time.SimTime) nrel.hive.state.simulation_state.simulation_state.SimulationState[source]
trigger the update of the road network model based on the current sim time
- Parameters:
sim – the simulation state
sim_time – the current sim time
- Returns:
updated simulation state (and road network)