Skip to content

AGBV/YASF

Repository files navigation

DOI License: MIT Unit tests Docs PYPI

DeepSource Codacy Badge

Yet Another Scattering Framework

YASF is a T-Matrix implementation in Python based on the Matlab framework CELES developed by Egel et al..

Install

pip install yasfpy

Sadly yasf was already taken, so the package is called yasfpy for the Python version and can be found on pypi.

conda

To run code on the GPU, the cudetoolkit is needed. This can be installed using a provided package by nvidia, or by using the conda package as described by the numba docs. The repository provides a yaml environment file. To spin an environment up (and update it later on), use:

conda env create -f yasf-env.yml # install
conda env update -f yasf-env.yml # update the environment (deactivate and activate again for changes to apply)

Examples

  • Small dashboard displaying various parameters calculated using YASF

Development

This repository is still under development!

Documentation

The code is documented using MkDocs. If you discover mistakes, feel free to create a pull request or open up an issue.

TODO

The pywigxjpf package is not following PEP 517 and PEP 518 standards, so it may happen, that it won't install properly as a dependency of YASF. Please install it manually if that happens using pip install pywigxjpf (before that, run pip install pycparser as stated in their pypi page). One could convert the setup.py file to a pyproject.toml file. Providing pycparser as a dependency could also solve the known issue of having to preinstall it.