ROSE

ROSE is an open-source calculation model to compute the railway track degradation. ROSE is a numerical model based on the finite element method, mainly on the beam theory and Winkler foundation. ROSE is build in Python.

ROSE consists of:

  • train-track interaction model that computes the dynamic response

  • cyclic cumulative models that compute the track degradation in time.

_images/rose.png

Scope of the ROSE model.

ROSE Installation

Installing ROSE as a user

It is recommended to install ROSE in a Python virtual environment. The main purpose of Python virtual environments is to create an isolated environment for Python projects. This means that each project can have its own dependencies, regardless of what dependencies every other project has. This avoids issues with packages dependencies.

The virtual environment should be installed and activated before the installation of ROSE. To create a virtual environment with pip follow this link. To create a virtual environment with conda follow this link.

Currently, ROSE supports Python 3.9, 3.10 and 3.11, therefore, you need to create the virtual environment with one of these Python versions.

Installing ROSE as a user

To install ROSE stable release, run the following code in your environment:

pip install git+https://github.com/PlatypusBytes/ROSE.git

Installing ROSE as a developer

To install the package as a developer, you need first to check out the repository.

git clone https://github.com/PlatypusBytes/ROSE.git

To install the package in editable mode with the following command:

pip install -e ."[testing]"

This will install the package in editable mode, so that any changes you make to the code will be reflected in the installed package. The [testing] flag will also install the dependencies needed for running the tests.

Alternatively, you can install the requirements manually with the following command:

pip install -r requirements.txt

Tutorials

In ROSE several tutorials are available in the form of Jupyter notebooks. The tutorials are available in the following links:

Contributing

We welcome contributions to ROSE. If you want contribute please follow the steps defined in Code contribution.

ROSE team

ROSE is a research programme that results from a collaboration between the following partners:

The ROSE team.

Package documentation

The rose package documentation.

References

References in ROSE.