Skip to main content

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 rollers
  • length: Effective roller length (mm)
  • alfa: Half cone angle (degrees) - 0 for cylindrical rollers
  • tilt: Roller tilt angle (degrees)
  • crown_type: Crown modification type
    • STRAIGHT: No crown modification
    • CIRCULAR: Circular crown
    • LOGARITHMIC: 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: INNER or OUTER
  • fai: 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:

  1. Discretizes roller into slices
  2. Calculates elastic coupling between slices (influence coefficient matrix)
  3. Solves linear system using Gaussian elimination
  4. 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

bstart_trb-0.1.0.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

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

bstart_trb-0.1.0-py3-none-any.whl (56.0 kB view details)

Uploaded Python 3

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

Hashes for bstart_trb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 4b1cc56396ea53658108e441e34dfd8d9d8e03c89378f1136e76b9b8a5c325dc
MD5 76d2e3e443023885df8eacb5abf18bdc
BLAKE2b-256 df46a2afe1a05c4b3beaed0e1bcd7066893074da5d723d050e6d300ca7b232bd

See more details on using hashes here.

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

Hashes for bstart_trb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5838901314fca8eaa04e63a75354df87225f6745adeb270d5e03afe0c16bf874
MD5 e4bb80bb8b9fe5b69d76af07ebfba6fb
BLAKE2b-256 e861b0e4a06ba05d2cd6a88117284eac0c2ac9d4eecbb90f2b8a60b78076af1f

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 Pingdom Monitoring Sentry Error logging StatusPage Status page