NeTrainSim: A Network Freight Train Simulator for Estimating Energy/Fuel Consumption


TR Number



Journal Title

Journal ISSN

Volume Title



Although train simulation research is vast, most available network simulators do not track the instantaneous movements and interactions of multiple trains for the computation of energy/fuel consumption. In this paper, we introduce the NeTrainSim simulator for heavy long-haul freight trains on a network of multiple intersecting tracks. Trains are modeled as a series of moving mass points (each car/locomotive is modeled as a point mass) while ensuring safe following distances between them. The simulator considers the motion of the train as a whole and neglects the relative movements between the train cars/locomotives. Furthermore, the powers of the different locomotives are transferred to the first locomotive as such a simplification result in a reduced simulation time without impacting the accuracy of energy consumption estimates. While the different tractive forces are combined, the resistive forces are calculated at their corresponding locations. The output files of the simulator contain pertaining information to the train trajectories and the instantaneous energy consumption levels. A summary file is also provided with the total energy consumed for the full trip and the entire network of trains. Two case studies are conducted to demonstrate the performance of the simulator. The first case study validates the model by comparing the output of NeTrainSim to empirical trajectory data using a basic single-train network. The results confirm that the simulated trajectory is precise enough to estimate the electric energy consumption of the train. The second case study demonstrates the train-following model considering six trains following each other. The results showcase the model’s ability in relation to maintaining safe-following distances between successive trains. Finally, the NeTrainSim is demonstrated to be scalable with computational times of O(n) for less than 50 trains (n) and O(n2) for higher number of trains.