Autopysta
Loading...
Searching...
No Matches
newell.h
Go to the documentation of this file.
1
13#ifndef _NEWELL
14#define _NEWELL
15
16#include <math.h>
17#include "p_newell.h"
18#include "model.h"
19#include "point.h"
20#include "clock.h"
21
34class newell : public model {
35protected:
36 float tau;
37 float sj;
38
48
60 double accel(point* leader, point* follower, params* p) override;
61
73 point* new_point(point* leader, point* follower, params* p = nullptr) override;
74
75public:
83
93
105 double equil_spcg(double vl, double vf, params* p = nullptr) override;
106
118 double wave_speed(point* leader, point* follower, params* p) override;
119
128 double free_flow_speed(params* p = nullptr) override;
129
142 point* new_point(generalized_trajectory* leader, trajectory* follower, params* p = nullptr) override;
143};
144
145#endif
Base class for different types of trajectories.
Definition trajectory.h:26
Abstract car-following model class.
Definition model.h:30
Newell's car-following model (2002).
Definition newell.h:34
float tau
Time gap (τ) between the trajectories of the follower and the leader.
Definition newell.h:36
newell(p_newell *p)
Constructor for Newell's model with custom parameters.
double equil_spcg(double vl, double vf, params *p=nullptr) override
Computes the equilibrium spacing between the leader and follower vehicles.
float sj
Jam spacing (δ), the minimum distance between vehicles in a jam.
Definition newell.h:37
point * new_point(point *leader, point *follower, params *p=nullptr) override
Computes the next point in the follower's trajectory.
void initialize_parameters(p_newell *p)
Initializes the model parameters for Newell's model.
double free_flow_speed(params *p=nullptr) override
Returns the free-flow speed for Newell's model.
double wave_speed(point *leader, point *follower, params *p) override
Returns the wave speed for Newell's model.
point * new_point(generalized_trajectory *leader, trajectory *follower, params *p=nullptr) override
Computes the next point in the follower's trajectory using generalized trajectories.
double accel(point *leader, point *follower, params *p) override
Computes the follower vehicle's acceleration based on the leader's position.
newell()
Default constructor for Newell's model.
Parameter class for Newell's car-following model.
Definition p_newell.h:32
Base class for car-following model parameters.
Definition params.h:24
Represents a point in time for a vehicle in a traffic simulation.
Definition point.h:23
Represents a dynamic trajectory of a moving object.
Definition trajectory.h:59
File for the clock class definition (short description).
File for the model and lcm classes definitions (short description).
Header file for the p_newell class definition.
File for the point class definition.