Dynamic simulation of a simplified rail vehicle rolling on a railway track. The track is modelled as a timoshenko rail beam on discrete sleeper supports. The rail vehicle is modelled as a quarter car model.
For API documentation and full examples, please see the documentation.
This model can be used to simulate the high frequency dynamics of the vertical vehicle-rail interaction. railFE can be used to construct the state space matrices of a discretely supported railway track, of railway vehicles and solve the non-linear Herzian contact mechanics between the rail and the wheel. railFE can be used to extract the frequency response function at selected degrees of freedom. It further allows the solution of a linear system of coupled differential equations.
The model is composed of several substructure components:
- Vehicle assembly or properties (i.e. from Simpack),
- Track assembly (2D FE Model of Beam: 4DOF Timoshenko elements),
- Non-linear Hertzian contact spring:
The equilibrium matrices of the system are formulated as:
Local dynamics, modal superposition:
The following steps provide guidance on how to install railFE:
- Install Python, required Python packages, and get the railFE source code from GitHub
- Install railFE
Once you have installed the aforementioned tools follow these steps to build and install railFE:
- Open a Terminal (Linux/macOS) or Command Prompt (Windows), navigate into the top-level railFE directory and activate your environment of choice. Run the following command:
(railFE)$ python setup.py install
You are now ready to proceed to running railFE.
railFE is designed as an extensible Python package.
The folder railFE/examples contains several usage cases of the package:
- Example 1: Plotting the shape function for 4DOF Timoshenko elements without and with elastic bedding.
- Example 2: Evaluation of the frequency response of the track (selected observed degrees of freedom) under a point load applied at a fixed location on the Finite Element model.
- Example 3 to do: Simulation of dynamic response of the system with gaussian track noise.
- Example 4: Simulation of dynamic response when crossing a geometric irregularity on the rail (impulse like excitation and gaussian noise).
- Example 5: Simulation of dynamic response when crossing a geometric irregularity on the rail with different track parameters and speeds (impulse like excitation and gaussian noise).
- Example 6: Analytic solution of the timoshenko beam shape functions: TimoshenkoBeam_AnalyticShapeFunctions.py
Feel free to dive in! Open an issue or submit PRs.
This project exists thanks to all the people who contribute.
MIT © Cyprien Hoelzl