This repository contains test cases for railway induced vibrations modelled with STEM.
In order to run the test cases, you need to have STEM installed. You can find the installation instructions in the STEM documentation. In the test cases, the STEM version 1.2.3 is used.
For the test cases you also need to have git installed, in order to commit the results.
The presentation with the overview of the test cases can be found here.
To run the test cases, you can download the example python scripts for soft soil and stiff soil and edit according to your test case needs.
Once you have run the STEM model, you can upload the results to this repository.
Create a new branch named after your test case (e.g. test_case_number).
Commit the results to this branch in the folder data and create a pull request.
If the results are not in the data folder, they won't be processed.
To commit the results you need to prepare the test case yaml file, e.g. test_case_number.yaml.
This yaml file must follow this structure:
organisation: Organization Name
title: Test Case Title
test-description: >
The description of the test case goes here.
date: 2025-06-23
json-file: json_output_test_case_number.json
input-file: input_file_test_case_number.py
mdpa-file: input_file_test_case_number.mdpa
STEM-version: 1.2.3The organisation and title are self-explanatory.
The test-description field should contain a description of the test case. This can be a few sentences or a longer description.
The date field should contain the date of the test case in the format YYYY-MM-DD.
The json-file field should contain the name of the JSON file with the results of the test case. This is a file generated by the STEM model, which contains the results of the test case in JSON format.
The input-file field should contain the name of the input file used to run the test case.
The mdpa-file field should contain the name of the MDPA file used to run the test case.
This is a file that contains the model definition in Kratos Multiphysics format.
The STEM-version field should contain the version of STEM. In principle this should be 1.2.3.
Please note, that STEM produces two .json and two .mdpa results files. This is because the calculation is run in two stages:
- First stage static initialisation
- Second stage dynamic loading
Please only commit the .json and .mdpa files of the second stage.
You can find an example of the yaml file here.
Please make sure to replace the fields with your own values. Before committing the yaml file, please make sure that the json-file and input-file fields match the names of the files you are committing, and validate the yaml file.
You can validate your yaml file here.
You then need to commit the yaml file, JSON file and input file to the repository, in your branch and create a pull request.
To create a branch and commit the files you can use the following commands (please replace test_case_number, json_output_test_case_number.json, and input_file_test_case_number.py with your own values):
# Clone the repository
git clone https://github.com/StemVibrations/TestCases.git
cd TestCases
# Create a new branch for your test case
git checkout -b test_case_number
# Add the test case yaml file, JSON output file and input file
git add data/test_case_number.yaml data/json_output_test_case_number.json data/input_file_test_case_number.mdpa data/input_file_test_case_number.py
git commit -m "Add test case number"
git push origin test_case_numberTo create a pull request, you can go to the GitHub repository and click on the "Pull requests" tab. Then click on the "New pull request" button and select your branch.
Once you have created the pull request, you need to make sure that the pull request is valid, and the workflow is successful. You can check the status of the workflow in the "Actions" tab of the repository.
Here is an example of how the Actions tab looks:
Once the pull request is merged, the results will be processed and visualized in the Test cases webpage.
You can find all the results in the results page, and a summary of the results in the summary page.
If you want to explore the results of the test cases, you can download them from the data folder. You can see how the data is processed and visualized in the available scripts, or you can use your own scripts to process and visualize the data.
This project is licensed under the BSD 3-Clause License. See LICENSE for details.
