Rail3D*


 

More Complicated Timetables



So, we’ve got basic timetables working for a couple of routes. Now lets make it a bit more interesting: imagine that we are having problems of overcrowding on the inner suburban section between Alfaton and Echo Road. The proposed solution is to run extra trains over this section, reversing at Echo Road.

1 Introducing a new route

1.1 A change of direction

Obviously, the first thing we need is a reversing facility of some kind. The simplest thing would be a crossover (see Basic Station Crossover), but for intensive suburban services it’s better to put in a reversing siding between the running lines, so that other services aren’t delayed by trains standing in the platform waiting to reverse. In case we want to use this later for stabling trains, I put in two sidings, but we only need one for the moment.

Following the convention we’ve been using so far, trains to Echo Road will be route “E”. I gave the reversing sidings their own location name “Echo Reverse” — this means that we can use the reversing sidings as the timing point, rather than Echo Road station, which simplifies things when we’re stabling trains out of service.

Of course, we have to make sure that the points at Echo Reverse and Bravo Junction are set up to send Route E in the correct direction.

1.2 Working out the timings

From our earlier measurements, it takes 16 minutes for a train to go from Echo Road to Alfaton and back. We probably need to add on 2 or 3 minutes for going from Echo Road to the reversing siding and back, so that means we should be able to do a round trip on our new route E in less than 20 minutes. That means we can double the frequency on the busy section by adding a single extra train.

It obviously makes most sense for passengers if trains are spaced at regular intervals between Echo Road and Alfaton, so the simplest thing to do would be to shift the route L timings by 5 minutes, and make the new route E use the previous route L “slots” from Alfaton. This would give us something like this:

Route H E H E H E
Alfaton d 00 10 20 30 40 50
Echo Road 8 18 28 38 48 58
Hauttel a 16 - 36 - 56 -
Hauttel d 22 - 42 - 02 -
Echo Road 30 40 50 00 10 20
Alfaton a 38 48 58 08 18 28

(Note that the trains on route E will “jump back” two columns in this table at Echo Road, if we’re operating route E with a single train.)

Route L L L
Alfaton d 05 25 45
Limathorpe a 17 37 57
Limathorpe d 31 51 11
Alfaton a 43 03 23

1.3 Timetables in Rail3D

For Route H (unchanged):

Alfaton [06~23]:00 [06~23]:20 [06~23]:40 00:00 
Hauttel [06~23]:02 [06~23]:22 [06~23]:42 00:02

For Route E (new):

Alfaton [06~23]:10 [06~23]:30 [06~23]:50 00:10 
Echo Reverse [06~23]:19 [06~23]:39 [06~23]:59 00:19

For Route L (shifted five minutes):

Alfaton [06~23]:05 [06~23]:25 [06~23]:45 00:05 
Limathorpe [06~23]:11 [06~23]:31 [06~23]:51 00:11

If we add an extra train and call it Route E, we can give it this timetable, and it will slot in nicely between the Route H workings. Don’t forget to amend the timetable for Route L as above.

2 Responding to demand

It turns out that we don’t actually need these extra trains outside the morning and afternoon peaks, so we can revise timetable E a bit to save some money.

New Route E timetable:

Alfaton [06~10]:10 [06~09]:30 [06~09]:50 [16~19]:10 [16~19]:30 [15~18]:50
Echo Reverse [06~09]:19 [06~09]:39 [05~09]:59 [16~19]:19 [16~18]:39 [15~18]:59

This needs to be arranged so that during the middle of the day, and at night, the train is held at Echo Reverse, out of the way of other traffic. The 10:10 from Alfaton stays at Echo Reverse until 15:59, and the 19:30 from Alfaton stays at Echo Reverse until 05:59, so that should be ok.

3 An aside: making life easier for our passengers

Now that we have three different routes, it would be nice if we could set the destination indicators on our trains, so that passengers can see where they’re going (asuming we’ve chosen a model that is fitted with destination indicators). We can do this with a simple document script (see Scripting). We only need to update the indicator when a train reverses: obviously, we need to know where the train is and which route it’s on to decide where it’s going.

To use this, just paste the script below into the Document Script dialogue, and press the Compile button.

// layout route management
//Mark Hodson Aug 2008

Init()
{
	string Location;
}
OnReverse()
{
	string route=Train.GetRoute();
	if(Location=="Alfaton")
	{
		if(route=="H")
		{
			Train.SetDestinationIndicator("Hauttel");
		}
		if(route=="E")
		{
			Train.SetDestinationIndicator("Echo Road");
		}	
		if(route=="L")
		{
			Train.SetDestinationIndicator("Limathorpe");
		}		
	}
	if(Location=="Hauttel")
	{
	Train.SetDestinationIndicator("Alfaton");
	}	
	if(Location=="Echo Reverse")
	{
	Train.SetDestinationIndicator("Alfaton");
	}
	if(Location=="Limathorpe")
	{
	Train.SetDestinationIndicator("Alfaton");
	}	

}

4 Download

You can find the completed layout for this part of the tutorial at: http://www.markhodson.nl/rail3d/2kdlayouts/ops_layout_03.trp



import