Skip to main content

Waves on elastic plates

Project description

Release Release License Release Release License

KLOVE

Numerical modelling of waves on thin elastic plates

klove is a Python package designed to study wave propagation on thin elastic plates based on the Kirchhoff–Love theory. The plate can be loaded with elements that will affect the propagation of elastic waves: the aim is to find the solution to this problem numerically. Key features of the code are:

  • Easy to use interface --- simply define the plate and scatterers (pins, masses, mass-spring or beam resonators).
  • Multiple scattering simulations --- with plane wave and point load excitation.
  • Far field quantities --- with plane wave excitation.
  • Diffraction by gratings --- with calculation of efficiencies.
  • Quasi-normal mode analysis and expansion --- by solving a nonlinear eigenvalue problem.
  • Calculation of phononic band diagrams --- with utilities to define the path along the edges of the Brillouin zone.
  • Auto-differentiable --- allowing for gradient-based optimization of elastic wave propagation.

Documentation

See the website with API reference and some examples at benvial.gitlab.io/klove.

Installation

From Pypi

Simply run

pip install klove

If you want more numerical backends (pytorch, autograd and jax), including auto-differentiation and GPU acceleration, install the full version:

pip install klove[full]

From conda/mamba

For the full installation including GPU/autodiff support

mamba install -c pytorch -c nvidia pytorch pytorch-cuda=12.1 jaxlib=*=*cuda* jax 
pip install klove[full]

From source

Clone the repository

git clone https://gitlab.com/benvial/klove.git
cd klove

Install the package locally

pip install -e .

For the full version:

pip install -e .[full]

From gitlab

Basic:

pip install -e git+https://gitlab.com/benvial/klove.git#egg=klove

Full:

pip install -e git+https://gitlab.com/benvial/klove.git#egg=klove[full]

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

klove-0.1.0.tar.gz (35.1 kB view details)

Uploaded Source

Built Distribution

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

klove-0.1.0-py3-none-any.whl (31.1 kB view details)

Uploaded Python 3

File details

Details for the file klove-0.1.0.tar.gz.

File metadata

  • Download URL: klove-0.1.0.tar.gz
  • Upload date:
  • Size: 35.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for klove-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7f3618cabfb289402c2e1aca704872f80451f5a31d777e7661b9dcafa5274166
MD5 88ef93fbf76f69fded57b942106e4e4a
BLAKE2b-256 016e0ee0fa01eef8c2c85c4956b02c89a1afeaf530407a78ca912135f55c2fa8

See more details on using hashes here.

File details

Details for the file klove-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: klove-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 31.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for klove-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41a87f2ae618e1bcd576fc6f2596ba1f91759d2366ff8add3e9a2d3c4442a639
MD5 c4301e4a96a46ba741b3a916cfd33d4f
BLAKE2b-256 d710e9120b683b4185f437566a89ed55e858579fcbfd751e5c0e7cfd52bed8fa

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