<a class="reference external image-reference" href="https://gitlab.com/benvial/klove/-/releases" target="_blank"><img alt="Release" src="https://img.shields.io/endpoint?url=https://gitlab.com/benvial/klove/-/jobs/artifacts/main/raw/logobadge.json?job=badge&labelColor=c9c9c9"></a>
<a class="reference external image-reference" href="https://gitlab.com/benvial/klove/commits/main" target="_blank"><img alt="Release" src="https://img.shields.io/gitlab/pipeline/benvial/klove/main?logo=gitlab&labelColor=dedede&style=for-the-badge"></a>
<a class="reference external image-reference" href="https://benvial.gitlab.io/klove" target="_blank"><img alt="License" src="https://img.shields.io/badge/documentation-website-dedede.svg?logo=readthedocs&logoColor=e9d672&style=for-the-badge"></a>
<a class="reference external image-reference" href="https://gitlab.com/benvial/klove/commits/main" target="_blank"><img alt="Release" src="https://img.shields.io/gitlab/coverage/benvial/klove/main?logo=python&logoColor=e9d672&style=for-the-badge"></a>
<a class="reference external image-reference" href="https://black.readthedocs.io/en/stable/" target="_blank"><img alt="Release" src="https://img.shields.io/badge/code%20style-black-dedede.svg?logo=python&logoColor=e9d672&style=for-the-badge"></a>
<a class="reference external image-reference" href="https://gitlab.com/benvial/klove/-/blob/main/LICENSE.txt" target="_blank"><img alt="License" src="https://img.shields.io/badge/license-GPLv3-blue?color=aec2ff&logo=open-access&logoColor=aec2ff&style=for-the-badge"></a>
# 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:
<!-- start elevator-pitch -->
- **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.
<!-- end elevator-pitch -->
## Documentation
See the website with API reference and some examples at [benvial.gitlab.io/klove](https://benvial.gitlab.io/klove).
<!-- start installation -->
## Installation
### From Pypi
Simply run
```bash
pip install klove
```
If you want more numerical backends (pytorch, autograd and jax), including
auto-differentiation and GPU acceleration, install the full version:
```bash
pip install klove[full]
```
### From conda/mamba
For the full installation including GPU/autodiff support
```bash
mamba install -c pytorch -c nvidia pytorch pytorch-cuda=12.1 jaxlib=*=*cuda* jax
pip install klove[full]
```
<!-- cuda-nvcc ? -->
### From source
Clone the repository
```bash
git clone https://gitlab.com/benvial/klove.git
cd klove
```
Install the package locally
```bash
pip install -e .
```
For the full version:
```bash
pip install -e .[full]
```
### From gitlab
Basic:
```bash
pip install -e git+https://gitlab.com/benvial/klove.git#egg=klove
```
Full:
```bash
pip install -e git+https://gitlab.com/benvial/klove.git#egg=klove[full]
```
<!-- end installation -->
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/benvial/klove",
"name": "klove",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "elastic plates,auto-differentiation,linear algebra",
"author": "Benjamin Vial",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/01/6e/0ee0fa01eef8c2c85c4956b02c89a1afeaf530407a78ca912135f55c2fa8/klove-0.1.0.tar.gz",
"platform": null,
"description": "\n<a class=\"reference external image-reference\" href=\"https://gitlab.com/benvial/klove/-/releases\" target=\"_blank\"><img alt=\"Release\" src=\"https://img.shields.io/endpoint?url=https://gitlab.com/benvial/klove/-/jobs/artifacts/main/raw/logobadge.json?job=badge&labelColor=c9c9c9\"></a> \n<a class=\"reference external image-reference\" href=\"https://gitlab.com/benvial/klove/commits/main\" target=\"_blank\"><img alt=\"Release\" src=\"https://img.shields.io/gitlab/pipeline/benvial/klove/main?logo=gitlab&labelColor=dedede&style=for-the-badge\"></a> \n<a class=\"reference external image-reference\" href=\"https://benvial.gitlab.io/klove\" target=\"_blank\"><img alt=\"License\" src=\"https://img.shields.io/badge/documentation-website-dedede.svg?logo=readthedocs&logoColor=e9d672&style=for-the-badge\"></a>\n<a class=\"reference external image-reference\" href=\"https://gitlab.com/benvial/klove/commits/main\" target=\"_blank\"><img alt=\"Release\" src=\"https://img.shields.io/gitlab/coverage/benvial/klove/main?logo=python&logoColor=e9d672&style=for-the-badge\"></a>\n<a class=\"reference external image-reference\" href=\"https://black.readthedocs.io/en/stable/\" target=\"_blank\"><img alt=\"Release\" src=\"https://img.shields.io/badge/code%20style-black-dedede.svg?logo=python&logoColor=e9d672&style=for-the-badge\"></a>\n<a class=\"reference external image-reference\" href=\"https://gitlab.com/benvial/klove/-/blob/main/LICENSE.txt\" target=\"_blank\"><img alt=\"License\" src=\"https://img.shields.io/badge/license-GPLv3-blue?color=aec2ff&logo=open-access&logoColor=aec2ff&style=for-the-badge\"></a>\n\n\n# KLOVE\n\n**Numerical modelling of waves on thin elastic plates**\n\n`klove` is a Python package designed to study wave propagation on thin elastic plates based on the \nKirchhoff\u2013Love theory. The plate can be loaded with elements that will affect the propagation of elastic waves: the aim \nis to find the solution to this problem numerically. Key features of the code are:\n\n\n<!-- start elevator-pitch -->\n\n- **Easy to use interface** --- simply define the plate and scatterers (pins, masses, mass-spring or beam resonators).\n- **Multiple scattering simulations** --- with plane wave and point load excitation.\n- **Far field quantities** --- with plane wave excitation.\n- **Diffraction by gratings** --- with calculation of efficiencies.\n- **Quasi-normal mode analysis and expansion** --- by solving a nonlinear eigenvalue problem.\n- **Calculation of phononic band diagrams** --- with utilities to define the path along the edges of the Brillouin zone.\n- **Auto-differentiable** --- allowing for gradient-based optimization of elastic wave propagation.\n\n\n<!-- end elevator-pitch -->\n\n\n\n## Documentation\n\nSee the website with API reference and some examples at [benvial.gitlab.io/klove](https://benvial.gitlab.io/klove).\n\n\n\n<!-- start installation -->\n\n## Installation\n\n\n### From Pypi\n\nSimply run\n\n```bash \npip install klove\n```\nIf you want more numerical backends (pytorch, autograd and jax), including \nauto-differentiation and GPU acceleration, install the full version:\n\n```bash \npip install klove[full]\n```\n\n\n### From conda/mamba\n\nFor the full installation including GPU/autodiff support\n\n```bash \nmamba install -c pytorch -c nvidia pytorch pytorch-cuda=12.1 jaxlib=*=*cuda* jax \npip install klove[full]\n```\n\n<!-- cuda-nvcc ? -->\n\n### From source\n\nClone the repository\n\n```bash \ngit clone https://gitlab.com/benvial/klove.git\ncd klove\n```\n\nInstall the package locally\n\n```bash \npip install -e .\n```\n\nFor the full version:\n\n```bash \npip install -e .[full]\n```\n\n### From gitlab\n\nBasic:\n\n```bash \npip install -e git+https://gitlab.com/benvial/klove.git#egg=klove\n```\n\n\nFull:\n\n```bash \npip install -e git+https://gitlab.com/benvial/klove.git#egg=klove[full]\n```\n\n\n\n\n<!-- end installation -->\n",
"bugtrack_url": null,
"license": "GPL-3.0-or-later",
"summary": "Waves on elastic plates",
"version": "0.1.0",
"project_urls": {
"Code": "https://gitlab.com/benvial/klove",
"Documentation": "https://benvial.gitlab.io/klove",
"Homepage": "https://gitlab.com/benvial/klove",
"Issues": "https://gitlab.com/benvial/klove/issues"
},
"split_keywords": [
"elastic plates",
"auto-differentiation",
"linear algebra"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d710e9120b683b4185f437566a89ed55e858579fcbfd751e5c0e7cfd52bed8fa",
"md5": "c4301e4a96a46ba741b3a916cfd33d4f",
"sha256": "41a87f2ae618e1bcd576fc6f2596ba1f91759d2366ff8add3e9a2d3c4442a639"
},
"downloads": -1,
"filename": "klove-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c4301e4a96a46ba741b3a916cfd33d4f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 31092,
"upload_time": "2024-02-02T11:26:35",
"upload_time_iso_8601": "2024-02-02T11:26:35.843158Z",
"url": "https://files.pythonhosted.org/packages/d7/10/e9120b683b4185f437566a89ed55e858579fcbfd751e5c0e7cfd52bed8fa/klove-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "016e0ee0fa01eef8c2c85c4956b02c89a1afeaf530407a78ca912135f55c2fa8",
"md5": "88ef93fbf76f69fded57b942106e4e4a",
"sha256": "7f3618cabfb289402c2e1aca704872f80451f5a31d777e7661b9dcafa5274166"
},
"downloads": -1,
"filename": "klove-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "88ef93fbf76f69fded57b942106e4e4a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 35114,
"upload_time": "2024-02-02T11:26:37",
"upload_time_iso_8601": "2024-02-02T11:26:37.800528Z",
"url": "https://files.pythonhosted.org/packages/01/6e/0ee0fa01eef8c2c85c4956b02c89a1afeaf530407a78ca912135f55c2fa8/klove-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-02 11:26:37",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "benvial",
"gitlab_project": "klove",
"lcname": "klove"
}