Compare commits
No commits in common. "5d77fa97f1ef07b85981448f496b69c49ef5456d" and "18c902e98c7df6b5a0fa33e922503049245c3406" have entirely different histories.
5d77fa97f1
...
18c902e98c
159
CHANGELOG.md
159
CHANGELOG.md
|
@ -1,159 +0,0 @@
|
||||||
# Changelog
|
|
||||||
|
|
||||||
All notable changes to this project will be documented in this file.
|
|
||||||
|
|
||||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
||||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
||||||
|
|
||||||
Categories: Added, Changed, Deprecated, Removed, Fixed, and Security.
|
|
||||||
|
|
||||||
## [Unreleased]
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.8] 2022-01-20
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Refactor the modular structure:
|
|
||||||
* Divide TrainRun into TrainRunCalc with the main functions and Import for importing data from yaml files
|
|
||||||
* Extract the modules Export and AdditionalOutput from TrainRunCalc
|
|
||||||
* Divide the module Operationsmodes and add its functions to TrainRunCalc and EnergySaving
|
|
||||||
* Add the remaining functions of the module types to EnergySaving
|
|
||||||
* Divide the module MovingPhases into Behavior and DrivingDynamics
|
|
||||||
* Rename the module Preparation to Characteristics
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.7] 2022-01-14
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Refactor all mutable structs as a Dictionaries:
|
|
||||||
* Refactor the mutable struct EnergySavingModification from types.jl as a Dictionary in OperationsModes.jl
|
|
||||||
* Refactor the mutable struct CharacteristicSection from types.jl as a Dictionary in Preparation.jl
|
|
||||||
* Refactor the mutable struct BehaviorSection from types.jl as a Dictionary in MovingPhases.jl
|
|
||||||
* Refactor the mutable struct DataPoint from types.jl as a Dictionary in MovingPhases.jl
|
|
||||||
* Remove behavior section "cruisingAfterCoasting"
|
|
||||||
* Rename some variables
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.6.2] 2021-12-17
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
Add function addStandstill! for creating the BehaviorSection standstill:
|
|
||||||
* Add function addStandstill! to MovinPhases.jl
|
|
||||||
* Use function addStandstill! in OperationModes.jl
|
|
||||||
* Rename the BehaviorSection standStill to standstill
|
|
||||||
|
|
||||||
### Fixed
|
|
||||||
|
|
||||||
* Fix: Rename addStartingPhase! to addBreakFreePhase!
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.6.1]
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
Add an attribute to DataPoint to record the corresponding driving behavior
|
|
||||||
* Add the attribute behavior to Datapoint in types.jl
|
|
||||||
* Attach the corresponding behavior to data points in MovingPhases.jl
|
|
||||||
* Attach the behavior "standStill" to the last data point of the driving course in OperationModes.jl
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
* Rework Output.jl for outputting the data points' behavior
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.6]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Refactor some of the mutable structs from types.jl as Dictionaries
|
|
||||||
* Remove the mutable structs Train, Path, PathSection, Settings and MovingSection
|
|
||||||
* Create Dictionaries for train, path an settings in Input.jl
|
|
||||||
* Create a Dictionary for the whole moving section in Preperation.jl and a function for copying the moving section in OperationModes.jl
|
|
||||||
* Change the type of existing Dictionary keys from String to Symbol
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.5.3]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Rename variables in every .jl an .yaml file
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.5.2]
|
|
||||||
|
|
||||||
Merge fixing branches
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.5.1]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Rename the real world path file
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.5]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Refactor modules for diminishing run and tractive effort velocity pairs
|
|
||||||
* Add the seperate moving phase "diminishing run" for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher
|
|
||||||
* Refactor tractiveEffortArray to tractiveEffortVelocityPairs
|
|
||||||
* Rename file path and folder path to directory
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.4.1]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Rename waypoints
|
|
||||||
* rename "waypoints" to "dataPoints" and "Waypoint" to "DataPoint"
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.4]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Refactor and fix modules EnergySaving, OperationModes and MovingPhases
|
|
||||||
* add the general used level of accuracy from v0.3 to EnergySaving and OperationModes
|
|
||||||
* fix OperationModes and MovingPhases for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.3]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Refactor module MovingPhases
|
|
||||||
* extract repeatedly occuring code lines and create smaller functions (e.g. the function moveAStep)
|
|
||||||
* integrate a new approach for calculating the waypoints near intersections (e.g. including an editable level of accuracy)
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.2]
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
Modules and variables were renamed.
|
|
||||||
|
|
||||||
|
|
||||||
## Version [0.1] 2021-02-19
|
|
||||||
|
|
||||||
Proof of concept and master thesis submission.
|
|
||||||
|
|
||||||
|
|
||||||
[Unreleased]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.8...master
|
|
||||||
[0.8]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.7...v0.8
|
|
||||||
[0.7]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.6.2...v0.7
|
|
||||||
[0.6.2]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.6.1...v0.6.2
|
|
||||||
[0.6.1]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.6...v0.6.1
|
|
||||||
[0.6]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5.3...v0.6
|
|
||||||
[0.5.3]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5.2...v0.5.3
|
|
||||||
[0.5.2]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5.1...v0.5.2
|
|
||||||
[0.5.1]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.5...v0.5.1
|
|
||||||
[0.5]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.4.1...v0.5
|
|
||||||
[0.4.1]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.4...v0.4.1
|
|
||||||
[0.4]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.3...v0.4
|
|
||||||
[0.3]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.2...v0.3
|
|
||||||
[0.2]: https://github.com/railtoolkit/TrainRun.jl/compare/v0.1...v0.2
|
|
||||||
[0.1]: https://github.com/railtoolkit/TrainRun.jl/releases/tag/v0.1
|
|
40
CITATION.cff
40
CITATION.cff
|
@ -1,40 +0,0 @@
|
||||||
# YAML 1.2
|
|
||||||
# This CITATION.cff file was generated with cffinit.
|
|
||||||
# Visit https://bit.ly/cffinit to generate yours today!
|
|
||||||
---
|
|
||||||
cff-version: 1.2.0
|
|
||||||
title: TrainRun.jl
|
|
||||||
message: 'If you use this software, please cite it using these metadata.'
|
|
||||||
type: software
|
|
||||||
authors:
|
|
||||||
- given-names: Max
|
|
||||||
family-names: Kannenberg
|
|
||||||
affiliation: TU Braunschweig
|
|
||||||
- given-names: Martin
|
|
||||||
family-names: Scheidt
|
|
||||||
email: m.scheidt@tu-bs.de
|
|
||||||
orcid: 'https://orcid.org/0000-0002-9384-8945'
|
|
||||||
affiliation: TU Braunschweig
|
|
||||||
identifiers:
|
|
||||||
- type: doi
|
|
||||||
value: 10.5281/zenodo.6448563
|
|
||||||
description: 'Collection of archived snapshots of all versions of the library'
|
|
||||||
- type: doi
|
|
||||||
value: 10.5281/zenodo.6448564
|
|
||||||
description: Current version
|
|
||||||
url: 'https://www.railtoolkit.org/projects/TrainRun.jl/'
|
|
||||||
repository: 'https://github.com/railtoolkit/TrainRun.jl'
|
|
||||||
abstract: >-
|
|
||||||
TrainRun.jl is a step towards open science and open data in railway engineering.
|
|
||||||
Its modular design offers the possibility to serve as a basis for future
|
|
||||||
optimization and development. TrainRun.jl is suitable for qualitative
|
|
||||||
calculations to compare different trains, and it is publicly available, and we
|
|
||||||
invite others to collaborate.
|
|
||||||
keywords:
|
|
||||||
- railway
|
|
||||||
- running time
|
|
||||||
- driving dynamics
|
|
||||||
- julia language
|
|
||||||
license: ISC
|
|
||||||
version: v0.8
|
|
||||||
date-released: 2022-01-20
|
|
|
@ -1,74 +0,0 @@
|
||||||
# Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
In the interest of fostering an open and welcoming environment, we as
|
|
||||||
contributors and maintainers pledge to making participation in our project and
|
|
||||||
our community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, disability, ethnicity, gender identity and expression, level of experience,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity and
|
|
||||||
orientation.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to creating a positive environment
|
|
||||||
include:
|
|
||||||
|
|
||||||
* Using welcoming and inclusive language
|
|
||||||
* Being respectful of differing viewpoints and experiences
|
|
||||||
* Gracefully accepting constructive criticism
|
|
||||||
* Focusing on what is best for the community
|
|
||||||
* Showing empathy towards other community members
|
|
||||||
|
|
||||||
Examples of unacceptable behavior by participants include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery and unwelcome sexual attention or
|
|
||||||
advances
|
|
||||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or electronic
|
|
||||||
address, without explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Our Responsibilities
|
|
||||||
|
|
||||||
Project maintainers are responsible for clarifying the standards of acceptable
|
|
||||||
behavior and are expected to take appropriate and fair corrective action in
|
|
||||||
response to any instances of unacceptable behavior.
|
|
||||||
|
|
||||||
Project maintainers have the right and responsibility to remove, edit, or
|
|
||||||
reject comments, commits, code, wiki edits, issues, and other contributions
|
|
||||||
that are not aligned to this Code of Conduct, or to ban temporarily or
|
|
||||||
permanently any contributor for other behaviors that they deem inappropriate,
|
|
||||||
threatening, offensive, or harmful.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies both within project spaces and in public spaces
|
|
||||||
when an individual is representing the project or its community. Examples of
|
|
||||||
representing a project or community include using an official project e-mail
|
|
||||||
address, posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event. Representation of a project may be
|
|
||||||
further defined and clarified by project maintainers.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported by contacting the project team at [INSERT EMAIL ADDRESS]. All
|
|
||||||
complaints will be reviewed and investigated and will result in a response that
|
|
||||||
is deemed necessary and appropriate to the circumstances. The project team is
|
|
||||||
obligated to maintain confidentiality with regard to the reporter of an incident.
|
|
||||||
Further details of specific enforcement policies may be posted separately.
|
|
||||||
|
|
||||||
Project maintainers who do not follow or enforce the Code of Conduct in good
|
|
||||||
faith may face temporary or permanent repercussions as determined by other
|
|
||||||
members of the project's leadership.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
|
|
||||||
available at [http://contributor-covenant.org/version/1/4][version]
|
|
||||||
|
|
||||||
[homepage]: http://contributor-covenant.org
|
|
||||||
[version]: http://contributor-covenant.org/version/1/4/
|
|
|
@ -1,11 +0,0 @@
|
||||||
# Contributing
|
|
||||||
|
|
||||||
When contributing to this repository, please first discuss the change you wish to make via issue,
|
|
||||||
email, or any other method with the owners of this repository before making a change.
|
|
||||||
|
|
||||||
Please note we have a code of conduct, please follow it in all your interactions with the project.
|
|
||||||
|
|
||||||
# Pull Request Process
|
|
||||||
|
|
||||||
* add your changes to the CHANGELOG.md under [Unreleased]
|
|
||||||
* TODO!
|
|
117
README.md
117
README.md
|
@ -1,13 +1,5 @@
|
||||||
# TrainRun
|
# TrainRun
|
||||||
|
|
||||||
[![License: ISC](https://img.shields.io/badge/license-ISC-green.svg)](https://opensource.org/licenses/ISC) [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.6448563.svg)](https://doi.org/10.5281/zenodo.6448563)
|
|
||||||
|
|
||||||
------------
|
|
||||||
|
|
||||||
# About
|
|
||||||
|
|
||||||
TrainRun.jl is a step towards open science and open data in railway engineering. Its modular design offers the possibility to serve as a basis for future optimization and development. TrainRun.jl is suitable for qualitative calculations to compare different trains, and it is publicly available, and we invite others to collaborate.
|
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
||||||
# Installation
|
# Installation
|
||||||
|
@ -36,6 +28,115 @@ settings_directory = "data/settings.yaml"
|
||||||
|
|
||||||
train_run = calculateDrivingDynamics(train, running_path, settings)
|
train_run = calculateDrivingDynamics(train, running_path, settings)
|
||||||
```
|
```
|
||||||
|
------------
|
||||||
|
|
||||||
|
# History
|
||||||
|
|
||||||
|
## Version 0.8
|
||||||
|
|
||||||
|
Refactor the modular structure
|
||||||
|
|
||||||
|
- Divide TrainRun into TrainRunCalc with the main functions and Import for importing data from yaml files
|
||||||
|
- Extract the modules Export and AdditionalOutput from TrainRunCalc
|
||||||
|
- Divide the module Operationsmodes and add its functions to TrainRunCalc and EnergySaving
|
||||||
|
- Add the remaining functions of the module types to EnergySaving
|
||||||
|
- Divide the module MovingPhases into Behavior and DrivingDynamics
|
||||||
|
- Rename the module Preparation to Characteristics
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.7
|
||||||
|
|
||||||
|
Refactor all mutable structs as a Dictionaries
|
||||||
|
|
||||||
|
- Refactor the mutable struct EnergySavingModification from types.jl as a Dictionary in OperationsModes.jl
|
||||||
|
- Refactor the mutable struct CharacteristicSection from types.jl as a Dictionary in Preparation.jl
|
||||||
|
- Refactor the mutable struct BehaviorSection from types.jl as a Dictionary in MovingPhases.jl
|
||||||
|
- Refactor the mutable struct DataPoint from types.jl as a Dictionary in MovingPhases.jl
|
||||||
|
- Remove behavior section "cruisingAfterCoasting"
|
||||||
|
- Rename some variables
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.6.2
|
||||||
|
|
||||||
|
Add function addStandstill! for creating the BehaviorSection standstill
|
||||||
|
|
||||||
|
- Add function addStandstill! to MovinPhases.jl
|
||||||
|
- Use function addStandstill! in OperationModes.jl
|
||||||
|
- Rename the BehaviorSection standStill to standstill
|
||||||
|
- Fix: Rename addStartingPhase! to addBreakFreePhase!
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.6.1
|
||||||
|
|
||||||
|
Add an attribute to DataPoint to record the corresponding driving behavior
|
||||||
|
|
||||||
|
- Add the attribute behavior to Datapoint in types.jl
|
||||||
|
- Attach the corresponding behavior to data points in MovingPhases.jl
|
||||||
|
- Attach the behavior "standStill" to the last data point of the driving course in OperationModes.jl
|
||||||
|
- Rework Output.jl for outputting the data points' behavior
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.6
|
||||||
|
|
||||||
|
Refactor some of the mutable structs from types.jl as Dictionaries
|
||||||
|
|
||||||
|
- Remove the mutable structs Train, Path, PathSection, Settings and MovingSection
|
||||||
|
- Create Dictionaries for train, path an settings in Input.jl
|
||||||
|
- Create a Dictionary for the whole moving section in Preperation.jl and a function for copying the moving section in OperationModes.jl
|
||||||
|
- Change the type of existing Dictionary keys from String to Symbol
|
||||||
|
|
||||||
|
## Version 0.5.3
|
||||||
|
|
||||||
|
Rename variables in every .jl an .yaml file
|
||||||
|
|
||||||
|
## Version 0.5.2
|
||||||
|
|
||||||
|
Merge fixing branches
|
||||||
|
|
||||||
|
## Version 0.5.1
|
||||||
|
|
||||||
|
Rename the real world path file
|
||||||
|
|
||||||
|
## Version 0.5
|
||||||
|
|
||||||
|
Refactor modules for diminishing run and tractive effort velocity pairs
|
||||||
|
|
||||||
|
- Add the seperate moving phase "diminishing run" for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher
|
||||||
|
- Refactor tractiveEffortArray to tractiveEffortVelocityPairs
|
||||||
|
- Rename file path and folder path to directory
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.4.1
|
||||||
|
|
||||||
|
Rename waypoints
|
||||||
|
|
||||||
|
- rename "waypoints" to "dataPoints" and "Waypoint" to "DataPoint"
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.4
|
||||||
|
|
||||||
|
Refactor and fix modules EnergySaving, OperationModes and MovingPhases
|
||||||
|
|
||||||
|
- add the general used level of accuracy from v0.3 to EnergySaving and OperationModes
|
||||||
|
- fix OperationModes and MovingPhases for steep ascents where a train runs with maximum tractive effort while the driving resistances are even higher
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.3
|
||||||
|
|
||||||
|
Refactor module MovingPhases
|
||||||
|
|
||||||
|
- extract repeatedly occuring code lines and create smaller functions (e.g. the function moveAStep)
|
||||||
|
- integrate a new approach for calculating the waypoints near intersections (e.g. including an editable level of accuracy)
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.2
|
||||||
|
|
||||||
|
Modules and variables were renamed.
|
||||||
|
|
||||||
|
|
||||||
|
## Version 0.1
|
||||||
|
|
||||||
|
Proof of concept and master thesis submission.
|
||||||
|
|
||||||
------------
|
------------
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ module DrivingDynamics
|
||||||
## author = {Brünger, Olaf and Dahlhaus, Elias},
|
## author = {Brünger, Olaf and Dahlhaus, Elias},
|
||||||
## year = {2014},
|
## year = {2014},
|
||||||
## title = {Running Time Estimation},
|
## title = {Running Time Estimation},
|
||||||
## pages = {65--90},
|
## pages = {?--?},
|
||||||
## booktitle = {Railway Timetabling \& Operations.},
|
## booktitle = {Railway Timetabling \& Operations.},
|
||||||
## editora = {Hansen, Ingo A.},
|
## editora = {Hansen, Ingo A.},
|
||||||
## editorb = {Pachl, Jörn},
|
## editorb = {Pachl, Jörn},
|
||||||
|
|
Loading…
Reference in New Issue