Rolland
Rolling Noise and Dynamics (Rolland) is an open-source, high-performance time-domain simulation framework designed to analyze, predict, and optimize the dynamic and acoustic properties of railway tracks.
By employing an explicit Finite Difference Method (FDM) scheme, Rolland solves 13 differential equations of motion alongside 14 additional auxiliary differential equations corresponding to the boundary domain. This captures full track dynamics—including coupled vertical and lateral bending, longitudinal waves, axial torsion, cross-sectional warping, and sleeper movement under eccentric excitation and support conditions. The framework incorporates Complex Frequency-Shifted Perfectly Matched Layers (CFS-PML) for infinite track modeling and supports spatially varying track properties as well as moving excitation sources.
Key Features
- Full Track Dynamics: Solves 13 differential equations of motion alongside 14 additional auxiliary differential equations to capture vertical and lateral bending waves, longitudinal waves, torsional waves, and warping effects together with sleeper movement and eccentric support reactions.
- Fast Time-Domain Solver: Uses explicit Finite Difference Method (FDM) schemes with high-order stencils for fast simulations.
- Infinite Track Boundary (CFS-PML): Uses absorbing boundary layers to eliminate artificial wave reflections.
- Flexible Track Structures: Supports ballasted and slab tracks with continuous or discrete supports, including spatial (periodic/stochastic) track property variations.
- Excitation: Includes stationary excitation (Gaussian impulse) and moving sources (e.g. moving random force).
- Post-Processing & Validation: Computes point/transfer mobility, Track Decay Rate (TDR), and provides built-in reference models for easy validation.
Planned Features:
- Non-linear Hertzian contact dynamics for wheel-rail interaction.
- Multi-wheel vehicle pass-by excitation models.
- Rail acoustic radiation modeling.
Installation
To install Rolland, run:
pip install rolland
Documentation
Documentation is available here with how-to guides and detailed API reference.
Contributing
Contributions to Rolland are welcome! Whether you are reporting bugs, improving documentation, or submitting pull requests for new features:
- Fork the repository on GitHub.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Ensure code formatting meets requirements using
ruff checkand tests pass withpytest. - Submit a Pull Request with a clear summary of your changes.
License
This project is licensed under the BSD 3-Clause License. See the pyproject.toml file for licensing metadata.
Citation
If you use Rolland for academic work, please consider citing both our publication:
Mantel, M., & Sarradj, E. (2026). Time-domain modeling of coupled wave propagation in discretely supported railway tracks. Computers & Structures, 332, 108432. https://doi.org/10.1016/j.compstruc.2026.108432
@article{mantel2026timedomain,
author = {Mantel, Maximilian and Sarradj, Ennes},
title = {Time-domain modeling of coupled wave propagation in discretely supported railway tracks},
journal = {Computers \& Structures},
volume = {332},
pages = {108432},
year = {2026},
doi = {https://doi.org/10.1016/j.compstruc.2026.108432},
}
and our software:
Mantel, M., Wagner, B., & Sarradj, E. (2026). Rolland: A time-domain simulation framework for railway track dynamics and rolling noise (Version 26.08) [Computer software]. Zenodo. https://doi.org/10.5281/zenodo.21920225
@software{mantel2026rolland_api,
author = {Mantel, Maximilian and Wagner, Benjamin and Sarradj, Ennes},
title = {Rolland: A Time-Domain Simulation Framework for Railway Track Dynamics and Rolling Noise},
year = {2026},
version = {v26.08},
doi = {10.5281/zenodo.21920225},
url = {https://github.com/mantelmax/rolland}
}
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rolland-26.8.tar.gz.
File metadata
- Download URL: rolland-26.8.tar.gz
- Upload date:
- Size: 64.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
65e0947d9f988e8249a8a98e302f3657b863f40300dfed952a021d60c4d80b81
|
|
| MD5 |
1d94a89299f1fc541cf5afff5e8c1d6b
|
|
| BLAKE2b-256 |
0fa493eefbaca995c3dfed663b756de1ea8fdd43e1ae2bd740141ceb8aaf8316
|
Provenance
The following attestation bundles were made for rolland-26.8.tar.gz:
Publisher:
publish.yml on mantelmax/rolland
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rolland-26.8.tar.gz -
Subject digest:
65e0947d9f988e8249a8a98e302f3657b863f40300dfed952a021d60c4d80b81 - Sigstore transparency entry: 2736938614
- Sigstore integration time:
-
Permalink:
mantelmax/rolland@8e20aab22dc82a6e5134e4c0d93b36d09b2b5cfb -
Branch / Tag:
refs/tags/v26.08 - Owner: https://github.com/mantelmax
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8e20aab22dc82a6e5134e4c0d93b36d09b2b5cfb -
Trigger Event:
release
-
Statement type:
File details
Details for the file rolland-26.8-py3-none-any.whl.
File metadata
- Download URL: rolland-26.8-py3-none-any.whl
- Upload date:
- Size: 73.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aff47f348a385f208398789f9a0de358b98f51f18a871e2621d85026408e1528
|
|
| MD5 |
e2c9eeef622b9ac9e50fbbd37ccc00e4
|
|
| BLAKE2b-256 |
f6be8b69a1e8a59e5df9d678ceda4d1aa445d55a05c55848ef385e2e780d6582
|
Provenance
The following attestation bundles were made for rolland-26.8-py3-none-any.whl:
Publisher:
publish.yml on mantelmax/rolland
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rolland-26.8-py3-none-any.whl -
Subject digest:
aff47f348a385f208398789f9a0de358b98f51f18a871e2621d85026408e1528 - Sigstore transparency entry: 2736938882
- Sigstore integration time:
-
Permalink:
mantelmax/rolland@8e20aab22dc82a6e5134e4c0d93b36d09b2b5cfb -
Branch / Tag:
refs/tags/v26.08 - Owner: https://github.com/mantelmax
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8e20aab22dc82a6e5134e4c0d93b36d09b2b5cfb -
Trigger Event:
release
-
Statement type: