Class NewellFundamentalDiagramConfigurator
- java.lang.Object
-
- org.goplanit.utils.builder.Configurator<T>
-
- org.goplanit.supply.fundamentaldiagram.FundamentalDiagramConfigurator<NewellFundamentalDiagramComponent>
-
- org.goplanit.supply.fundamentaldiagram.NewellFundamentalDiagramConfigurator
-
public class NewellFundamentalDiagramConfigurator extends FundamentalDiagramConfigurator<NewellFundamentalDiagramComponent>
Configurator for Newell Fundamental diagram implementation. We allow one to overwrite the the capacity and maximum densities used for each FD but not the free speed, since the free speed is a physical value that is a given. Note that a change on the link segment level takes precedence over a change on the link segment type, i.e., the most specific overwrite is used in the final fundamental diagram applied on the link segment.In absence of a capacity the capacity is computed by the point of intersection of the free flow branch and congested branch, which for Newell is defined by only the free flow speed, maximum density and intersection points with the x-axis (density=0), by explicitly setting the capacity or moving the maximum density point the FD will adjust its backward wave speed to accommodate any change comapred to the default computed capacity/maximum density.
- Author:
- markr
-
-
Field Summary
-
Fields inherited from class org.goplanit.utils.builder.Configurator
delayedMethodCalls
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
NewellFundamentalDiagramConfigurator()
Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
setCapacityLinkSegmentPcuHourLane(MacroscopicLinkSegment linkSegment, double capacityPcuHourLane)
Set the capacity in pcu/h/lane to use for the Newell FD for a given link segment.void
setCapacityLinkSegmentTypePcuHourLane(MacroscopicLinkSegmentType linkSegmentType, double capacityPcuHourLane)
Set the capacity in pcu/h/lane to use for the Newell FD for a given link segment type.void
setMaximumDensityLinkSegmentPcuKmLane(MacroscopicLinkSegment linkSegment, double maxDensityPcuKmLane)
Set the maximum density in pcu/km/lane to use for the Newell FD for a given link segment.void
setMaximumDensityLinkSegmentTypePcuKmLane(MacroscopicLinkSegmentType linkSegmentType, double maxDensityPcuKmLane)
Set the maximum density in pcu/km/lane to use for the Newell FD for a given link segment type.-
Methods inherited from class org.goplanit.supply.fundamentaldiagram.FundamentalDiagramConfigurator
configure
-
Methods inherited from class org.goplanit.utils.builder.Configurator
callVoidMethod, collectParameterTypes, getClassTypeToConfigure, getFirstParameterOfDelayedMethodCall, registerDelayedMethodCall
-
-
-
-
Method Detail
-
setCapacityLinkSegmentPcuHourLane
public void setCapacityLinkSegmentPcuHourLane(MacroscopicLinkSegment linkSegment, double capacityPcuHourLane)
Set the capacity in pcu/h/lane to use for the Newell FD for a given link segment. This only impacts the backward wave speed used to keep the FD viable.- Parameters:
linkSegment
- the specified link segmentcapacityPcuHourLane
- to use
-
setMaximumDensityLinkSegmentPcuKmLane
public void setMaximumDensityLinkSegmentPcuKmLane(MacroscopicLinkSegment linkSegment, double maxDensityPcuKmLane)
Set the maximum density in pcu/km/lane to use for the Newell FD for a given link segment. This only impacts the backward wave speed used to keep the FD viable. one to change the capacity.- Parameters:
linkSegment
- the specified link segmentmaxDensityPcuKmLane
- to use
-
setCapacityLinkSegmentTypePcuHourLane
public void setCapacityLinkSegmentTypePcuHourLane(MacroscopicLinkSegmentType linkSegmentType, double capacityPcuHourLane)
Set the capacity in pcu/h/lane to use for the Newell FD for a given link segment type. This only impacts the backward wave speed used to keep the FD viable.- Parameters:
linkSegmentType
- the specified link segment typecapacityPcuHourLane
- to use
-
setMaximumDensityLinkSegmentTypePcuKmLane
public void setMaximumDensityLinkSegmentTypePcuKmLane(MacroscopicLinkSegmentType linkSegmentType, double maxDensityPcuKmLane)
Set the maximum density in pcu/km/lane to use for the Newell FD for a given link segment type. This only impacts the backward wave speed used to keep the FD viable. one to change the capacity.- Parameters:
linkSegmentType
- the specified link segment typemaxDensityPcuKmLane
- to use
-
-