Clearer IS:electrificationSection modelling

Links

  • Forum discussion:
    • Christian Rahmig, 24.05.2024: https://www.railml.org/forum/index.php?t=msg&goto=3247&#msg_3247
  • Related issues:
    • #511 Different modelling of electrification systems in RS and IS
    • #679 How can it be expressed that something is not there, like if there is no electrification available?

Summary

The structure of IS:electrificationSection is not intuitive , and two of the attributes have an undocumented value space (fixed in railML 3.3). It is not possible to explicitly specify that a section is not electrified. (added 2025-12-04)

Details

IS:electrificationSection has several subelements:

  • energyCatenary: catenary energy parameters
    • @allowsRegenerativeBraking: whether the use of regenerative braking is allowed
    • maxTrainCurrent: maximum current that can be accessed in the described electrification section
      • @maxCurrent: maximum allowed current in Ampere
      • @trainType: train category for which the maximum train current constraint is valid ("all", "freight", "highspeed" or "passenger")
      • @operationType: type of operation for maximum train current: standstill or driving (integer "driving" or "standstill")
      • @validFor: application of maximum train current: train or pantograph (integer "pantograph" or "train")
  • energyPantograph: pantograph energy parameters
    • @requiresTSIcompliance: whether a TSI compliant pantograph head is required
    • @compliantTSITypes: space separated list of accepted TSI compliant pantograph heads
    • @nationalPanHeadTypes: space separated list of accepted other pantograph heads
    • @contactStripMaterials: space separated list of permitted contact strip materials
  • energyRollingstock: rollingstock energy parameters
    • @requiresPowerLimitation: whether a current or power limitation on board is required
    • @permittedStaticContactForce: value of the permitted static contact force of the pantograph, in [N]
    • @permittedMaxContactForce: value of the permitted maximum (dynamic) contact force of the pantograph, in [N]
    • @requiresAutomaticDroppingDevice: whether an automatic dropping device at the pantographs is required
    • @requiredFireCategory: information on the required fire category of the rolling stock ("A", "B" or "none")
  • hasContactWire: construction details of the contact wire
    • @minHeight: minimum height of contact wire above top of rail, in [m]
    • @maxHeight: maximum height of contact wire above top of rail, in [m]
    • @maxDisplacement: maximum lateral displacement of the contact wire from centre of track including stagger and wind forces, in [m]
  • pantographSpacing: pantograph spacing parameters
    • @numberPantographsRaised: number of pantographs raised simultaneously on moving train
    • @spacingPantographsRaised: minimum spacing between raised pantographs of a train, in [m]
    • @speed4PantographSpacing: related maximum speed for the given pantograph spacing limit, in [km/h]

There is no property in IS:electrificationSection or in CO:electrificationSystem to specify that a section (or system) is unelectrified. (added 2025-12-04)

The issue

  1. What is the difference between energyPantograph and energyRollingstock? The attributes of energyPantograph do not seem to be energy related. Only one of the attributes of energyRollingstock looks energy related, and most of them concern the pantograph.
  2. energyCatenary/@operationType and energyCatenary/@validFor are of type integer, but it is not documented how the integer values should be interpreted. These should probably be enumerations.
  3. Differences in terminology: "contact line"/"contact wire" and "overhead"/"catenary"/"contact wire". Which differences are intended and which are not?
  4. How to specify that a section is not electrified? See also #679. (added 2025-12-04)

Possible solutions

  1. Refactor energyPantograph and energyRollingstock.
  2. Create enumerations for energyCatenary/@operationType and energyCatenary/@validFor. (done in railML 3.3)
  3. Consider modifying/aligning terminology and document any intended terminology differences.
  4. Remodel either electrificationSection or electrificationSystem to allow specifying that a section is unelectrified and prevent simultaneously providing electrification properties. (added 2025-12-04)

Solution for railML 3.3

  • Change enumeration data type for \\energyCatenary\maxTrainCurrent\@operationType from integer to tMaxTrainCurrentOperation with values "driving" and "standstill"
  • Change enumeration data type for \\energyCatenary\maxTrainCurrent\@validFor from integer to tMaxTrainCurrentValid with values "pantograph" and "train"
Edited Dec 04, 2025 by CO Coordination
Assignee Loading
Time tracking Loading

railML.org e.V. (Registry of Associations: VR 5750) Phone: +49 351 47582911 Altplauen 19h; 01187 Dresden; Germany