Skip to main content

An electrical and mechanical analysis tool of overhead conductors.

Project description

ohmly - An electrical and mechanical analysis tool of overhead conductors

Ohmly is a lightweight Python library for engineers who work with overhead transmission and distribution lines.

It provides the core mechanical tools needed to evaluate conductor behavior under real-world loading conditions: sag, tension, wind, ice, temperature, variation, and more.

The library includes:

  • A built-in database of conductor properties.
  • Catenary-based sag-tension calculations.
  • Multiple load-case (hypothesis evaluation).
  • Temperature-dependent tension models.
  • Wind & ice loading.

[!IMPORTANT] All mechanical calculations currently follow Spanish ITC-LAT 07 only. Other regulations are not yet implemented.

[!WARNING] Electrical analysis modules will be added in future releases.

Disclaimer

Ohmly is an MIT-licensed engineering support tool.

Mechanical calculations currently follow Spanish ITC-LAT 07 only and must be validated by a qualified engineer.

See DISCLAIMER.md for full details.

Why Use Ohmly?

  • Fast and lightweight: Designed for quick analysis without heavy dependencies.
  • Regulation-aware: All mechanical calculations follow ITC-LAT 07, ensuring compliance.
  • Flexible scenarios: Easily define custom hypotheses, spans, and environmental conditions.
  • Clear results: Sag-tension tables are easy to read and integrate into reports.

Documentation

Comprehensive documentation, tutorials, and normative explanations are available in the project documentation.

The docs cover:

  • Mechanical analysis workflow (ITC-LAT 07)
  • Conductor definition (database and manual)
  • Mechanical analysis zones
  • Wind, ice, and apparent load calculations
  • Hypothesis definition and validation
  • Sag–tension tables and controlling hypotheses

📘 Read the full documentation here:
https://ohmly.readthedocs.io/en/stable/

Installation

pip install ohmly

Getting Started

Here's a minimal example that shows how fast it is to compute sag-tension results.

from ohmly import ConductorRepository, MechAnalysis, MechAnalysisZone, MechAnalysisHypothesis

# 1. Load a conductor from the internal database
repo = ConductorRepository()
conductor = repo.get(legacy_code="LA 180")

# 2. Create a mechanical analysis context for zone A
mech = MechAnalysis(conductor, MechAnalysisZone.A)

# 3. Define hypotheses (scenarios) to evaluate
eds = MechAnalysisHypothesis(name="EDS", temp=15, rts_factor=0.15)  # Every-Day Stress
chs = MechAnalysisHypothesis(name="CHS", temp=-5, rts_factor=0.2)   # Cold-Hour Stress

hypos = [eds, chs]

# 4. Define span lengths (in meters)
spans = [100, 200, 300]

# 5. Compute sag-tension table
sagten_table = mech.stt(hypos, spans)

# 6. Print results
print(sagten_table)

Sample output:

                EDS                 CHS
  Span   T (daN), RTS (%)     T (daN), RTS (%)
 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   100   930.8383, 14.3338   1298.8000, 20.0000
   200   974.1000, 15.0000   1160.4121, 17.8690
   300   974.1000, 15.0000   1067.9360, 16.4450

For a complete, regulation-aligned explanation of each step, see the Mechanical Analysis documentation.


Project Structure

  • ohmly/ – Core library code
  • docs/ – Mechanical analysis documentation and tutorials (ITC-LAT 07)

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

ohmly-0.0.16.tar.gz (14.6 kB view details)

Uploaded Source

Built Distribution

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

ohmly-0.0.16-py3-none-any.whl (15.3 kB view details)

Uploaded Python 3

File details

Details for the file ohmly-0.0.16.tar.gz.

File metadata

  • Download URL: ohmly-0.0.16.tar.gz
  • Upload date:
  • Size: 14.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-37-generic

File hashes

Hashes for ohmly-0.0.16.tar.gz
Algorithm Hash digest
SHA256 9202044776beb6dcb1ffa57cb028f56026b830b68fbab514a6b1e2acf589c7c4
MD5 acd7f111627ac63581488d2e3d84250e
BLAKE2b-256 ea7ebdf72a480a899e483762d1e7985909c2e8e07b876bd11676c26b1df807c5

See more details on using hashes here.

File details

Details for the file ohmly-0.0.16-py3-none-any.whl.

File metadata

  • Download URL: ohmly-0.0.16-py3-none-any.whl
  • Upload date:
  • Size: 15.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.3 Linux/6.14.0-37-generic

File hashes

Hashes for ohmly-0.0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 1e30e5ed9e860ea886d3d7e001c60ed0fa23742ef093fadbcf08f9af0ced9550
MD5 83303d58d9c65cde01859776de6f7417
BLAKE2b-256 34dd3b9c0b84133faabbf99a2f4e17c5964040a2bebea1ea87433ef456a18cbe

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