commit
5d77fa97f1
|
@ -0,0 +1,159 @@
|
|||
# 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
|
|
@ -0,0 +1,40 @@
|
|||
# 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
|
|
@ -0,0 +1,74 @@
|
|||
# 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/
|
|
@ -0,0 +1,11 @@
|
|||
# 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,5 +1,13 @@
|
|||
# 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
|
||||
|
@ -28,115 +36,6 @@ settings_directory = "data/settings.yaml"
|
|||
|
||||
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},
|
||||
## year = {2014},
|
||||
## title = {Running Time Estimation},
|
||||
## pages = {?--?},
|
||||
## pages = {65--90},
|
||||
## booktitle = {Railway Timetabling \& Operations.},
|
||||
## editora = {Hansen, Ingo A.},
|
||||
## editorb = {Pachl, Jörn},
|
||||
|
|
Loading…
Reference in New Issue