Skip to main content

Harmonic Balance solvers.

Project description

Join the chat at https://gitter.im/mousai_hb/Lobby https://badge.fury.io/py/mousai.png/ https://travis-ci.org/josephcslater/mousai.svg?branch=master https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg https://img.shields.io/badge/patreon-donate-yellow.svg PyPi Download stats

Python-based Harmonic Balance solvers and relevant tools.

Please see the manual for usage and installation, and a nice overview from my Dayton Engineering Sciences Symposium 2017 presentation.

Mousai can solve sets of first-order and second-order ordinary differential equations written in state-space form (solved for acceleration for second-order form) subject to a harmonic excitation. All you need to provide is the name of a Python function which may simply be a wrapper to an external code. The function must accept:

  1. The states (displacements and derivatives for second order forms)

  2. Time (interpreted as time within the period)

  3. Fundamental frequency of the harmonic representation

The function must return the state derivatives (acceleration for second order form). It is expected that in most cases this will simply be a python wrapper function to call an external finite element, electro-magnetic, molecular dynamic, computational fluid dynamic, or other simulation code.

No traditional numerical integration is performed in harmonic balance, so issues of stability, reliability, etc. are separate concerns. An inability to determine a solution is reported if failure occurs. A good initial guess is always helpful, sometimes essential, and may simply have the form of a nearby solution. Sweeping through frequencies or increasing amplitudes of excitation is the best way to ensure swift convergence.

Quasi-linear models can (not yet implemented) obtain good low amplitude solutions that can be used as starting guesses for solutions (appropriate scaling may also help).

The manual is still under development, but the Tutorial provides two examples of solutions to the Duffing Oscillator, one in first order form, the other in second order form.

The Reference section of the manual illustrates supporting code for building out more time-refined solutions, finding velocities from displacements, and specifics on function calls.

Please see the manual for usage and installation.

If you use this for any work, please cite it as: Slater, Joseph C., “Mousai: An Open Source Harmonic Balance Solver for Nonlinear Systems,” 13th ASME Dayton Engineering Sciences Symposium, Oct. 30, 2017, Dayton, OH.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

mousai-0.3.1-py35-none-any.whl (12.2 kB view details)

Uploaded Python 3.5

File details

Details for the file mousai-0.3.1-py35-none-any.whl.

File metadata

  • Download URL: mousai-0.3.1-py35-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3.5
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/40.2.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.5

File hashes

Hashes for mousai-0.3.1-py35-none-any.whl
Algorithm Hash digest
SHA256 42ec60dcd8c54d96b2b4a7789e8d02a5c3d9766d8419babe08a2670b8bbe93ba
MD5 9f64716cff8e306e2bef32c4e162006d
BLAKE2b-256 0827fd90a2c5d1d21333ee39e784785850926d2995e92d1c3d7cc7e6531fad0e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page