public class SequentialFixedAccelerationModel extends AbstractGTUFollowingModel
Copyright (c) 2013-2015 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
BSD-style license. See OpenTrafficSim License.
org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Acceleration, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.AnglePlane, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.AngleSlope, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.AngleSolid, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Area, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Density, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Dimensionless, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalCharge, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalCurrent, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalPotential, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.ElectricalResistance, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Energy, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.FlowMass, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.FlowVolume, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Force, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Frequency, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Length, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.LinearDensity, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Mass, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Power, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Pressure, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Speed, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Temperature, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Time, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Torque, org.djunits.value.vdouble.scalar.DOUBLE_SCALAR.Volume
TOODANGEROUS
ABAMPERE, ABCOULOMB, ABVOLT, ACRE, AMPERE, ARCMINUTE, ARCSECOND, ARE, ATMOSPHERE_STANDARD, ATMOSPHERE_TECHNICAL, ATOMIC_UNIT, BAR, BARYE, BTU_ISO, BTU_IT, CALORIE_IT, CENTESIMAL_ARCMINUTE, CENTESIMAL_ARCSECOND, CENTIMETER, CENTIMETER_MERCURY, COULOMB, CUBIC_CENTIMETER, CUBIC_DECIMETER, CUBIC_FEET_PER_MINUTE, CUBIC_FEET_PER_SECOND, CUBIC_FOOT, CUBIC_INCH, CUBIC_INCH_PER_MINUTE, CUBIC_INCH_PER_SECOND, CUBIC_KM, CUBIC_METER, CUBIC_METER_PER_DAY, CUBIC_METER_PER_HOUR, CUBIC_METER_PER_MINUTE, CUBIC_METER_PER_SECOND, CUBIC_MILE, CUBIC_YARD, DALTON, DAY, DECIMETER, DEG, DEGREE, DEGREE_CELSIUS, DEGREE_FAHRENHEIT, DEGREE_RANKINE, DEGREE_REAUMUR, DEKAMETER, DYNE, ELECTRONVOLT, EMU, ERG, ERG_PER_SECOND, ESU, EXA_ELECTRONVOLT, FARADAY, FOOT, FOOT_MERCURY, FOOT_PER_SECOND, FOOT_PER_SECOND_2, FOOT_POUND_FORCE, FOOT_POUND_FORCE_PER_HOUR, FOOT_POUND_FORCE_PER_MINUTE, FOOT_POUND_FORCE_PER_SECOND, FRANKLIN, GAL, GALLON_IMP, GALLON_PER_DAY, GALLON_PER_HOUR, GALLON_PER_MINUTE, GALLON_PER_SECOND, GALLON_US_FLUID, GIGA_ELECTRONVOLT, GIGAHERTZ, GIGAWATT, GIGAWATT_HOUR, GRAD, GRAM, GRAM_PER_CENTIMETER_3, HECTARE, HECTOMETER, HECTOPASCAL, HERTZ, HORSEPOWER_METRIC, HOUR, INCH, INCH_MERCURY, INCH_PER_SECOND_2, INCH_POUND_FORCE, JOULE, KELVIN, KG_PER_METER_3, KGF_PER_SQUARE_MM, KILO_ELECTRONVOLT, KILOAMPERE, KILOCALORIE, KILOGRAM, KILOGRAM_FORCE, KILOGRAM_PER_SECOND, KILOHERTZ, KILOMETER, KILOOHM, KILOPASCAL, KILOVOLT, KILOWATT, KILOWATT_HOUR, KM_PER_HOUR, KM_PER_HOUR_2, KNOT, KNOT_PER_SECOND, LITER, LITER_PER_DAY, LITER_PER_HOUR, LITER_PER_MINUTE, LITER_PER_SECOND, MEGA_ELECTRONVOLT, MEGAHERTZ, MEGAOHM, MEGAVOLT, MEGAWATT, MEGAWATT_HOUR, METER, METER_KILOGRAM_FORCE, METER_PER_SECOND, METER_PER_SECOND_2, MICROAMPERE, MICROVOLT, MICROWATT_HOUR, MILE, MILE_PER_HOUR, MILE_PER_HOUR_2, MILE_PER_HOUR_PER_SECOND, MILLI_ELECTRONVOLT, MILLIAMPERE, MILLIAMPERE_HOUR, MILLIBAR, MILLIMETER, MILLIMETER_MERCURY, MILLIOHM, MILLISECOND, MILLIVOLT, MILLIWATT_HOUR, MINUTE, NANOAMPERE, NAUTICAL_MILE, NEWTON, NEWTON_METER, OHM, OUNCE, OUNCE_FORCE, OUNCE_IMP_FLUID, OUNCE_US_FLUID, PASCAL, PER_CENTIMETER, PER_DAY, PER_DECIMETER, PER_DEKAMETER, PER_FOOT, PER_HECTOMETER, PER_HOUR, PER_INCH, PER_KILOMETER, PER_METER, PER_MILE, PER_MILLIMETER, PER_MILLISECOND, PER_MINUTE, PER_NAUTICAL_MILE, PER_SECOND, PER_WEEK, PER_YARD, PETA_ELECTRONVOLT, PIEZE, PINT_IMP, PINT_US_FLUID, POUND, POUND_FOOT, POUND_FORCE, POUND_INCH, POUND_PER_SECOND, POUND_PER_SQUARE_FOOT, POUND_PER_SQUARE_INCH, QUART_IMP, QUART_US_FLUID, RAD, RADIAN, RPM, SECOND, SLOPE_ARCMINUTE, SLOPE_ARCSECOND, SLOPE_CENTESIMAL_ARCMINUTE, SLOPE_CENTESIMAL_ARCSECOND, SLOPE_DEGREE, SLOPE_GRAD, SLOPE_RADIAN, SQUARE_CENTIMETER, SQUARE_DEGREE, SQUARE_FOOT, SQUARE_INCH, SQUARE_METER, SQUARE_MILE, SQUARE_MILLIMETER, SQUARE_YARD, STANDARD_GRAVITY, STATAMPERE, STATCOULOMB, STATVOLT, STERADIAN, STHENE, STHENE_METER, STHENE_METER_PER_SECOND, TERA_ELECTRONVOLT, TERAHERTZ, TERAWATT_HOUR, TON_FORCE, TON_LONG, TON_METRIC, TON_SHORT, TONNE, TORR, VOLT, WATT, WATT_HOUR, WEEK, YARD
Constructor and Description |
---|
SequentialFixedAccelerationModel(org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface simulator)
Construct a SequentialFixedAccelerationModel with empty list of FixedAccelerationModel steps.
|
SequentialFixedAccelerationModel(org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface simulator,
Set<FixedAccelerationModel> steps)
Construct a SequentialFixedAccelerationModel and load it with a list of FixedAccelerationModel steps.
|
Modifier and Type | Method and Description |
---|---|
SequentialFixedAccelerationModel |
addStep(FixedAccelerationModel step)
Add one FixedAccelerationModel step to this SequentialFixedAccelerationModel.
|
org.djunits.value.vdouble.scalar.Acceleration.Abs |
computeAcceleration(org.djunits.value.vdouble.scalar.Speed.Abs followerSpeed,
org.djunits.value.vdouble.scalar.Speed.Abs followerMaximumSpeed,
org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed,
org.djunits.value.vdouble.scalar.Length.Rel headway,
org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
Compute the acceleration that would be used to follow a leader.
TODO We should probably add a be ready to stop before argument to prevent vehicles that cannot see their leader, or should slow down for a crossing from accelerating to unsafe speeds. |
FixedAccelerationModel |
get(int index)
Retrieve one FixedAccelerationModel step.
|
String |
getLongName()
Return complete textual information about this instantiation of this GTU following model.
|
String |
getName()
Return the name of this GTU following model.
|
org.djunits.value.vdouble.scalar.Time.Rel |
getStepSize()
Return the step size of this GTU following model.
|
org.djunits.value.vdouble.scalar.Acceleration.Abs |
maximumSafeDeceleration()
Return the maximum safe deceleration for use in gap acceptance models.
|
int |
size()
Retrieve the number of FixedAccelerationModel steps in this SequentialFixedAccelerationModel.
|
org.djunits.value.vdouble.scalar.Time.Abs |
timeAfterCompletionOfStep(int index)
Retrieve the simulation time at the end of the Nth step of this SequentialFixedAccelerationModel.
|
computeAcceleration, computeAcceleration, computeAccelerationWithNoLeader, minimumHeadway
public SequentialFixedAccelerationModel(org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface simulator)
simulator
- DEVSSimulator; the simulator (needed to obtain the current simulation time)public SequentialFixedAccelerationModel(org.opentrafficsim.core.dsol.OTSDEVSSimulatorInterface simulator, Set<FixedAccelerationModel> steps)
simulator
- DEVSSimulator; the simulator (needed to obtain the current simulation time)steps
- Set<FixedAccelerationModel>; the list of FixedAccelerationModel steps.public final SequentialFixedAccelerationModel addStep(FixedAccelerationModel step)
step
- FixedAccelerationModel; the step to addpublic final int size()
public final FixedAccelerationModel get(int index)
index
- int; the index of the retrieved FixedAccelerationModel steppublic final org.djunits.value.vdouble.scalar.Time.Abs timeAfterCompletionOfStep(int index)
index
- int; the steppublic final org.djunits.value.vdouble.scalar.Acceleration.Abs computeAcceleration(org.djunits.value.vdouble.scalar.Speed.Abs followerSpeed, org.djunits.value.vdouble.scalar.Speed.Abs followerMaximumSpeed, org.djunits.value.vdouble.scalar.Speed.Abs leaderSpeed, org.djunits.value.vdouble.scalar.Length.Rel headway, org.djunits.value.vdouble.scalar.Speed.Abs speedLimit)
followerSpeed
- DoubleScalar.Abs<SpeedUnit>; the speed of the follower at the current timefollowerMaximumSpeed
- DoubleScalar.Abs<SpeedUnit>; the maximum speed that the follower is capable of driving
atleaderSpeed
- DoubleScalar.Abs<SpeedUnit>; the speed of the follower at the current timeheadway
- DoubleScalar.Rel<LengthUnit>; the net headway (distance between the front of the follower to
the rear of the leader) at the current timespeedLimit
- DoubleScalar.Abs<SpeedUnit>; the local speed limitpublic final org.djunits.value.vdouble.scalar.Acceleration.Abs maximumSafeDeceleration()
public final org.djunits.value.vdouble.scalar.Time.Rel getStepSize()
public final String getName()
public final String getLongName()
Copyright © 2014–2015 Delft University of Technology. All rights reserved.