Cylindrical/Tapered Roller Bearing Slice Stress Calculation Module
Project description
BSTART-TRB
Cylindrical/Tapered Roller Bearing Slice Stress Calculation Module
A high-performance Python package for calculating contact stress distribution in roller bearings using the slice method with Fortran computational core.
Features
- 🚀 Fast Fortran Core: Compiled Fortran code via f2py for optimal performance
- 📦 Pre-compiled Binary: No Fortran compiler required for installation
- 🎯 Type-Safe: Complete type hints and IDE support
- 🔬 Accurate: Uses influence coefficient method based on elastic contact theory
- 📊 Flexible: Supports various crown types (linear, circular, logarithmic)
Installation
pip install bstart-trb
Note: This package includes pre-compiled binaries for Windows (x64). Support for other platforms coming soon.
Quick Start
from slice_wrapper import (
slice_stress,
RollerParams,
RacewayParams,
CrownType,
RacewayType,
)
# Define cylindrical roller parameters
roller = RollerParams(
d1=10.0, # Small end diameter (mm)
d2=10.0, # Large end diameter (mm)
length=9.6, # Effective length (mm)
alfa=0.0, # Half cone angle (degrees)
tilt=0.0, # Tilt angle (degrees)
crown_type=CrownType.LOGARITHMIC,
curve_q=14100.0, # Design load (N)
)
# Define outer ring raceway parameters
raceway = RacewayParams(
diameter=-150.0, # Negative for concave surface (mm)
raceway_type=RacewayType.OUTER,
fai=0.0, # Half cone angle (degrees)
)
# Calculate slice stress distribution
result = slice_stress(roller, raceway, load=1340.86, n_slice=30)
# Access results
print(f"Max stress: {result.max_stress:.0f} MPa")
print(f"Contact deflection: {result.deflection:.6f} mm")
print(f"Stress uniformity: {result.stress_uniformity:.2%}")
print(f"Contact slices: {result.contact_slices}/{result.n_slice}")
What is Slice Calculation?
The slice method divides the roller-raceway contact into multiple slices along the roller length to accurately calculate stress distribution. This is essential for:
- Capturing edge stress concentration effects
- Analyzing the impact of crown modifications
- Predicting bearing life more accurately
- Understanding load distribution along roller length
Key Parameters
Roller Parameters
d1,d2: Roller diameters (mm) - equal for cylindrical rollerslength: Effective roller length (mm)alfa: Half cone angle (degrees) - 0 for cylindrical rollerstilt: Roller tilt angle (degrees)crown_type: Crown modification typeSTRAIGHT: No crown modificationCIRCULAR: Circular crownLOGARITHMIC: Logarithmic crown (recommended)
curve_q: Design load (N) for optimal stress distribution
Raceway Parameters
diameter: Raceway diameter (mm) - negative for outer ring (concave)raceway_type:INNERorOUTERfai: Raceway cone angle (degrees)
Calculation Parameters
load: Applied load on roller (N)n_slice: Number of slices (default 30, max 50)
Theory
This package implements the influence coefficient method based on elastic half-space contact theory:
- Discretizes roller into slices
- Calculates elastic coupling between slices (influence coefficient matrix)
- Solves linear system using Gaussian elimination
- Iterates to convergence for contact area and load balance
The method is more accurate than simplified Hertz formulas as it accounts for:
- Elastic coupling between slices
- Dynamic contact area determination
- Edge loading effects
- Crown modification influence
Requirements
- Python >= 3.12
- NumPy >= 2.0.0
Platform Support
| Platform | Status |
|---|---|
| Windows (x64) | ✅ Supported |
| Linux | 🚧 Coming soon |
| macOS | 🚧 Coming soon |
License
MIT License - See LICENSE file for details.
Author
Gu Lei
References
- Harris, T.A., Kotzalas, M.N. - Rolling Bearing Analysis, 5th Edition
- Johnson, K.L. - Contact Mechanics
- ISO/TS 16281:2008 - Rolling bearings calculation methods
Contributing
Contributions are welcome! Please feel free to submit issues or pull requests.
Project details
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 bstart_trb-0.1.0.tar.gz.
File metadata
- Download URL: bstart_trb-0.1.0.tar.gz
- Upload date:
- Size: 54.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4b1cc56396ea53658108e441e34dfd8d9d8e03c89378f1136e76b9b8a5c325dc
|
|
| MD5 |
76d2e3e443023885df8eacb5abf18bdc
|
|
| BLAKE2b-256 |
df46a2afe1a05c4b3beaed0e1bcd7066893074da5d723d050e6d300ca7b232bd
|
File details
Details for the file bstart_trb-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bstart_trb-0.1.0-py3-none-any.whl
- Upload date:
- Size: 56.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5838901314fca8eaa04e63a75354df87225f6745adeb270d5e03afe0c16bf874
|
|
| MD5 |
e4bb80bb8b9fe5b69d76af07ebfba6fb
|
|
| BLAKE2b-256 |
e861b0e4a06ba05d2cd6a88117284eac0c2ac9d4eecbb90f2b8a60b78076af1f
|