You are here: Wiki > start > usertrack > ttuse > ttseed

Table of Contents

Timetable Seeding
Creating a seed train
Seed Groups
Rules and Decisions that are interrupted by a Seed Group time
Where a single train is involved
Where there is a chain of trains governed by choices or probabilities

Timetable Seeding

At the start of a timetable, it is highly likely that some trains will be partway through a simulation's control area. To cater for this, trains can be 'seeded' at any signal in the simulation, unless the developer has explicitly prevented seeding at a given signal.

Developers can also enable the exit triangles as seed points for terminus platforms. These can be bespoke labelled, e.g. "Edinburgh P16".

On starting the simulation, trains will seed travelling in the direction of the signal or platform exit triangle. Note that the train will be stopped and will take a few seconds to restart.

Creating a seed train

In the timetable editor "train detail" screen where you normally enter the entry point, tick the "seed train" check box. This populates the entry field with the list of available signals [seed points].

:usertrack:ttuse:tteditor-details-seeding.PNG

In this instance we have chosen signal LS5568 (on the Staffordshire simulation). Signals are identified by the letter 'S', followed by their identity as shown in the simulation. Refer to the simulation's Signal Number Plan for signal numbers.

The distance between the train and the signal it seeds at ('Seeding gap') can be changed from the default 15m if required.

Only one train may be seeded at a signal per seed group. Where multiple trains seed in a location (usually a station platform), one train should be seeded, with Divide activities inserted at that location as required. Take care to ensure that the divide activities correspond to the direction in which the train seeds, and the required order of trains in the platform.

Timetable locations are then added in the usual way, starting with the next location the train will encounter (if it is moving) or the location the train is stopped at. Remember not to specify an arrival time at the train's start location, as this will generate an error.

Seed Groups

Seed groups (new in Loader 4.14) enable a single timetable file to contain multiple seed (or start) times. Previously one would have required one file per seed/start time, with any amendments needing to be made to up to all of those files individually.

Timetables without seed groups are fully supported. There is a default group to which older timetables will belong: this defaults to the selected timetable start time. The Seeding Groups tab in the F4 timetable editor shows a list of custom groups. The "new" button can be used to create a new seeding group which consists of simply a start time.

Each schedule, when selected as a seeding train, now has a further option called "Seeding Group". This allows you to select the default group "(TT Start)" or a custom seeding group.

To create or edit a seed group, open the 'Seed Group' tab in the timetable editor.

:usertrack:ttuse:f4-seedgroups.PNG

Click a group to select it. The following functions are available:

Edit- Edit the start time of the selected seed group.

New- Create a new seed group, and enter the seed group time.

Delete- Delete the selected seed group.

Referenced by- Lists trains that are allocated to the selected seed group.

List unassigned- Lists seed groups that have no trains allocated to them.

When starting a simulation, instead of a time entry for the start time on the Timetables tab, a drop-down is now provided which lists the following options:

  • Custom without seeding. Enter the desired start time in the HH and MM boxes to the right. No seeding will take place.
  • Default with seeding. The timetable will start at the time defined in the timetable file, and seeding will take place (default group, aka "(TT Start)".
  • Default without seeding. The timetable will start at the time defined in the timetable file, but no seeding will take place.
  • Seed at HH:MM. Custom seeding start times will appear here. The timetable will start at the selected seed time and the seeding group for that time will be executed.

Rules and Decisions that are interrupted by a Seed Group time

The core code does not currently allow for Decisions or Rules to be governed by the Seed Group which has been selected. The major problem this can cause is where there is a train TT'd to enter x minutes after a previous action which took place before a Seed Group time and the new train enters after the Seed Group time. In the simplest case it will affect a single train leaving the sim then another single train entering. More complex cases may involve alternative trains running before the Seed Group time causing other alternative trains to enter after the Seed Group time. This can be worked round by a process involving duplication of some timetables as explained below.

Where a single train is involved

For the single train situation where we have Train A leaving the sim, a seed time in the TT then Train B entering n minutes after Train A has left the sim (and using the 0000 / 0445 seed times) you need to do the following.

  • Create two variants of Train B, one tagged to each TT start time. For this discussion we'll call them Train B 0000 and Train B 0445.
  • Create a rule that Train B 0445 must not run if Train A runs.
  • Create a rule that Train B 0000 enters n minutes after Train A leaves the area.

Then at the Train B entry time, Train B 0000 will enter if the 00:00 seed time was chosen, while Train B 0445 will enter if the 04:45 seed time was used.

Where there is a chain of trains governed by choices or probabilities

If you have two trains entering before a seed time with a choice of entry governed by decision then spawning two other trains to enter after the seed (Train A > Train X and Train B > Train Y) you need to do the following.

  • Create two variants each of Train X and Train Y as you did for Train B above.
  • Add the choices from the Train A/Train B decision to trains X and Y as:
    • Train X 0000; no decision added
    • Train X 0445; Train A/Train B decision, choice Train A
    • Train Y 0000; no decision added
    • Train Y 0445; Train A/Train B decision, choice Train B
  • Create rules as:
    • Train X 0000 enters x minutes after Train A leaves the area.
    • Train Y 0000 enters x minutes after Train B leaves the area
    • Train X 0445 must not run if Train A runs.
    • Train X 0445 must not run if Train B runs.
    • Train Y 0445 must not run if Train A runs.
    • Train Y 0445 must not run it Train B runs.

If Trains A/B are governed by rules rather than decisions so there is no Train A/Train B decision for step 2 above, create a Train X/Train Y decision which is only applied to the two 0445 trains. Similarly if Trains A/B are governed by probability of entry and Mutex rule, apply the same probabilities to 0445 Train X/Train Y and clone the Train A/Train B rule to 0445 Train X/Train Y.


Last edited by Steamer on 09/01/2020 at 20:11