Skip to main content

pyHarm presentation

pyHarm is an Harmonic Balance Method (HBM) based solver for mechanical nonlinear system simulations distributed under Apache 2.0 license (see LICENSE file for more detail about the license). The code is built as a python package and aims at performing a wide range of studies in the field of nonlinear dynamic simulations. Its main feature is Forced Response Frequency analysis using an harmonic balance solver enhanced with continuation methods.

The philosophy behind the code is to treat the mechanical system as an assembly of elementary elements/connectors such that their contribution to the residual and jacobian can be evaluated independantly.

The code is extensively using the factory design pattern in the subpackages to introduce abstract and flexibility when developing new components.

Documentation is available on readthedocs :

Basic Installation

pyHarm is provided as a complete Python package. To install the package, use the pip Python package installer with the following command:

pip install pyHarm-os

We strongly recommend using the package within a virtual environment dedicated to the library. A pyharm_env.yml file is available in the directory, enabling you to easily build a conda environment with the following command:

conda env create --name YOUR_ENV_NAME -f pyharm_env.yml

where YOUR_ENV_NAME is your chosen name for the environment. Otherwise, the default name pyHarm_env will be used and can be accessed via:

conda activate YOUR_ENV_NAME

Once your clean environment is ready and active, just install pyHarm using pip install pyHarm-os

For more details about the installation process, please refer to the dedicated section of the documentation.

Project content description

The repository comprises three folders. The core files of the pyHarm code are contained in the src folder. The Tutorials folder contains a set of Tutorials to learn how to use pyHarm in the form of Jupyter Notebooks. Finally, the tests folder contains a set of pytest tests divided into two sections :

  • unitests : contains small tests that check specific parts of the source code
  • nonregression : contains complete analysis of use cases

To run the tests, use the following command with your pyHarm environment activated, replacing NAME_TEST_CAT with one of the aforementioned categories:

pytest -m NAME_TEST_CAT
$TEST_SET$ Description
all run all the tests contained in test folder
unit run only the unit tests that check specific parts of the source code
nonregression run only the nonregression tests that contain complete analysis of use cases

NB: When installing the pyHarm package, the tests as well as the Tutorials do not get installed alongside.

Metadata

Release files for pyHarm-os 1.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pyHarm-os 1.2.2
File Size Uploaded Provenance
pyharm_os-1.2.2.tar.gz 98.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for pyHarm-os 1.2.2
File Interpreter ABI Platform
pyharm_os-1.2.2-py3-none-any.whl Python 3 none any Details

Total release size: 302.2 kB

Release files / pyharm_os-1.2.2.tar.gz

Download URL pyharm_os-1.2.2.tar.gz
Size 98.7 kB
Tags Source
SHA-256 checksum
How to use checksums
365180fcda3b6c5531b06045715dbb3e83cd18f86b5427480d961bce487ab20e
BLAKE2b-256 checksum
How to use checksums
357fec940ebc67d2e4c937606b4801831020c32dac9560d1cf84e2198568b701
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.16 Linux/5.15.154+

Release files / pyharm_os-1.2.2-py3-none-any.whl

Download URL pyharm_os-1.2.2-py3-none-any.whl
Size 203.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
227a0d33e04ce6898fdac61de3e9cf90d32e2cb4e0c2141506312ebf477a9bed
BLAKE2b-256 checksum
How to use checksums
ae90bdf09a1784cfa0ce4b10151d2b068b8c8ccb814912e8610b7305a92575b6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/2.5.1 CPython/3.13.16 Linux/5.15.154+

Security for pyHarm-os 1.2.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page