|
Autopysta
|
Vehicle creator that injects vehicles at a fixed rate (flow). More...
#include <fixed_demand_creator.h>
Public Member Functions | |
| fixed_demand_creator (model *_model, double _flow) | |
| Constructs a fixed-demand vehicle creator. | |
| fixed_demand_creator (model *_model, double _flow, int maxvehs) | |
| Constructs a limited fixed-demand vehicle creator. | |
| void | validate_creator () override |
| Validates the flow rate parameters of the fixed-demand vehicle creator. | |
| vehicle * | create_no_leader (int lane) override |
| Creates a new vehicle in a lane without a leader. | |
Public Member Functions inherited from creator | |
| virtual vehicle * | create (point *leader, bool immediate_follower=false) |
| Creates a new vehicle based on the current leader's position. | |
| vector< vehicle * > | initial_state (point *leader) |
| Initializes vehicles in the first simulation timestep. | |
Additional Inherited Members | |
Protected Member Functions inherited from creator | |
Protected Attributes inherited from creator | |
| int | max_vehs = INT_MAX |
| Maximum number of vehicles that can be created. | |
| int | n_vehs = 0 |
| Counter for the number of vehicles created so far. | |
| model * | Model = nullptr |
| Traffic model used to determine vehicle behavior. | |
Vehicle creator that injects vehicles at a fixed rate (flow).
The fixed_demand_creator class generates vehicles based on a specified flow rate, placing them at the beginning of a lane or behind a leader. Vehicles are injected at regular intervals based on the desired headway.
| fixed_demand_creator::fixed_demand_creator | ( | model * | _model, |
| double | _flow ) |
Constructs a fixed-demand vehicle creator.
This constructor creates a vehicle creator that generates vehicles at a specified flow rate.
| _model | A car-following model governing the lane's capacity. |
| _flow | The target flow rate (vehicles per second). |
| fixed_demand_creator::fixed_demand_creator | ( | model * | _model, |
| double | _flow, | ||
| int | maxvehs ) |
Constructs a limited fixed-demand vehicle creator.
This constructor creates a vehicle creator that generates vehicles at a specified flow rate with a limit on the maximum number of vehicles created.
| _model | A car-following model governing the lane's capacity. |
| _flow | The target flow rate (vehicles per second). |
| maxvehs | The maximum number of vehicles to create. |
|
overridevirtual |
Creates a new vehicle in a lane without a leader.
This function generates a new vehicle in an empty lane if there is space, or returns nullptr if no more vehicles can be created.
| lane | The lane number where the vehicle is created. |
nullptr if no vehicle was created. Implements creator.
|
overridevirtual |
Validates the flow rate parameters of the fixed-demand vehicle creator.
This method checks that the specified flow rate is feasible given the time step (dt) of the simulation. If the demand is not feasible, an exception will be thrown.
Reimplemented from creator.