Skip to main content
     _______..___________. _______ .___  ___.
    /       ||           ||   ____||   \/   |
   |   (----``---|  |----`|  |__   |  \  /  |
    \   \        |  |     |   __|  |  |\/|  |
.----)   |       |  |     |  |____ |  |  |  |
|_______/        |__|     |_______||__|  |__|

STEM: Soil and Track System Modelling Tool

Tests Documentation Status codecov PyPI version Python versions License

STEM is an open-source finite element model for computing railway-induced vibrations and evaluating the effectiveness of mitigation measures. It simulates the train–track interaction and the propagation of vibrations through the subsurface, taking into account track irregularities, the type of train and train speed, and the spatial variability of the track and soil properties. STEM is powered by Kratos Multiphysics.

The tool provides a set of commands for creating the geometry of the model, defining the soil and track properties, setting the boundary conditions and loads, generating the mesh, and performing post-processing on the results.

Features

  • Parametric geometry, meshing, and model generation for 2D (plane strain) and 3D soil–track systems
  • Beam, triangular, and tetrahedral element support (linear and quadratic order)
  • Train–track interaction via a user-defined vehicle model (UVEC), including rail irregularities and dipped rail joints
  • Linear elastic soil models, with non-linear models available through the UMAT API definition
  • Point, line, surface, and moving loads
  • Dirichlet, Neumann, and absorbing (Lysmer) boundary conditions
  • Implicit and explicit time integration, dynamic analysis, quasi-static analyses, and multi-stage simulations
  • Post-processing and output to JSON and VTK for visualisation in ParaView

Requirements

  • Python 3.10, 3.11, or 3.12
  • ParaView (to visualise results)
  • Git

Installation

STEM can be downloaded and installed on any system that supports Python. It is recommended to install STEM inside a Python virtual environment. To install the latest stable release, run:

pip install STEM-Vibrations

Further details, including the development and editable (developer) installs, can be found in the installation guide.

Usage

To get started, refer to the tutorials, which build up from basic usage to more advanced features. For the theory and numerical methods behind the model, see the formulation documentation.

Benchmarks

STEM is validated against analytical solutions. The automatically generated benchmark report is available as a PDF here. In addition to these analytical benchmarks, STEM contains a set of benchmarks and unit tests that run automatically on every commit to the repository.

Contributing

Contributions are welcome. Please refer to the contribution guidelines.

Authors

See the full list of authors and contributors.

License

This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

stem_vibrations-1.4.0.tar.gz (179.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

stem_vibrations-1.4.0-py3-none-any.whl (111.7 kB view details)

Uploaded Python 3

File details

Details for the file stem_vibrations-1.4.0.tar.gz.

File metadata

  • Download URL: stem_vibrations-1.4.0.tar.gz
  • Upload date:
  • Size: 179.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for stem_vibrations-1.4.0.tar.gz
Algorithm Hash digest
SHA256 dce766ad927748193b07e1a461de52fc2cb956cb4c194bcb154091583d57a011
MD5 6b287433e506e199ed2a6becfe1d5dcf
BLAKE2b-256 90d6327d5f8e383ef1aa30bda6800031a7fd591cbe2aef2b0c32def294614bd8

See more details on using hashes here.

File details

Details for the file stem_vibrations-1.4.0-py3-none-any.whl.

File metadata

  • Download URL: stem_vibrations-1.4.0-py3-none-any.whl
  • Upload date:
  • Size: 111.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.11

File hashes

Hashes for stem_vibrations-1.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 78b1f13d9eedab223df51ad435b1e68e8c7177225f03882f0bfda4a55eab445b
MD5 6b1d07684744104921cd52c999974fe6
BLAKE2b-256 b4fb8b66d1146179f2cf8697b349227a1bf9f5c2ccff1a8dc41bf0c04db870ef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page