KLOVE¶
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.
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]