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]
Metadata
Release files for klove 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| klove-0.1.0.tar.gz | 35.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| klove-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 66.2 kB
Release files / klove-0.1.0.tar.gz
| Download URL | klove-0.1.0.tar.gz |
|---|---|
| Size | 35.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7f3618cabfb289402c2e1aca704872f80451f5a31d777e7661b9dcafa5274166
|
|
BLAKE2b-256 checksum How to use checksums |
016e0ee0fa01eef8c2c85c4956b02c89a1afeaf530407a78ca912135f55c2fa8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / klove-0.1.0-py3-none-any.whl
| Download URL | klove-0.1.0-py3-none-any.whl |
|---|---|
| Size | 31.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
41a87f2ae618e1bcd576fc6f2596ba1f91759d2366ff8add3e9a2d3c4442a639
|
|
BLAKE2b-256 checksum How to use checksums |
d710e9120b683b4185f437566a89ed55e858579fcbfd751e5c0e7cfd52bed8fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|