Skip to main content

Add your description here

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 bstart_trb 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.11
  • 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.2.1.tar.gz (163.5 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.2.1-py3-none-any.whl (74.9 kB view details)

Uploaded Python 3

File details

Details for the file bstart_trb-0.2.1.tar.gz.

File metadata

  • Download URL: bstart_trb-0.2.1.tar.gz
  • Upload date:
  • Size: 163.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for bstart_trb-0.2.1.tar.gz
Algorithm Hash digest
SHA256 476bd445257c6a0cf065e2e15f936c3cfecc0c1db56c89933365e2279fcd1552
MD5 0b8ccb47a47175a805be562a092e330a
BLAKE2b-256 a22484d32498ad539ac1134eb89d0b62952363bc4ef60db497dcd7d40bd4ee7b

See more details on using hashes here.

File details

Details for the file bstart_trb-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: bstart_trb-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 74.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for bstart_trb-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 176748f010c05af19b7dc0110a0e8655b3c6be016e87c3128c121f2432020546
MD5 955009f8a792d96bbc7e90c9cd0d0454
BLAKE2b-256 029e48abf37e0c6a05ef34695aa146504607786e6ddb88b36b43fc45f3b43f2c

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