QENSlibrary / QENSmodels

Models which can be used to fit QENS data
https://qensmodels.readthedocs.io
BSD 3-Clause "New" or "Revised" License
0 stars 3 forks source link
fitting neutron scattering

.. image:: https://readthedocs.org/projects/qensmodels/badge/?version=latest :target: https://qensmodels.readthedocs.io/?badge=latest :alt: Documentation Status

.. image:: https://img.shields.io/badge/License-BSD_3--Clause-blue.svg :target: https://opensource.org/licenses/BSD-3-Clause :alt: License

.. image:: https://github.com/QENSlibrary/QENSmodels/actions/workflows/qens_ci.yml/badge.svg :target: https://github.com/QENSlibrary/QENSmodels/actions/workflows/qens_ci.yml :alt: CI Status

Introduction

QENSmodels is a repository containing Python <https://www.python.org/>_ models ( i.e., mathematical functions) that can be used to fit Quasi Elastic Neutron Scattering (QENS) data S(Q, omega).

This project has received funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement No 654000.

Getting started

To get a glimpse of what can be done with the library, click on launch binder below. Please note that the notebooks can be slow to load.

.. image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/QENSlibrary/QENSmodels/main?labpath=.%2Fdocs%2Fexamples

Install the QENS models

Currently the QENS models library has not been released on pypi. Please use the alternative method described below to install it.

To test the installation, type the following command in a terminal

.. code-block:: console

python -c "import QENSmodels"

To uninstall the library, type

.. code-block:: console

python -m pip uninstall QENSmodels

Documentation

The documentation is available at https://qensmodels.readthedocs.io .

Note that the Jupyter notebooks are available in the repository in the docs/examples folder. But they require the installation of additional libraries. Please refer to the README file in the same folder for instructions.

Quick example to use the models


.. code-block:: python

   import QENSmodels
   value = QENSmodels.lorentzian(1, 1, 1, 1)

Physical units

For information about unit conversion, please refer to the jupyter notebook called Convert_units.ipynb in the tools folder.

Needing help / Reporting a bug

Bugs and feature requests are collected at https://github.com/QENSlibrary/QENSmodels/issues.

If you are reporting a bug, please include:

Contributing

If you are interested in contributing to this project, please refer to the CONTRIBUTING document <https://github.com/QENSlibrary/QENSmodels/blob/master/CONTRIBUTING.rst>_

Referring to the library

If you found this package useful, please don't forget to acknowledge its use in your publications as suggested below and reference this publication

Quasi Elastic Neutron Scattering model library
Céline  Durniak, Miguel Angel  González, Anders  Markvardsen, Sanghamitra  Mukhopadhyay, Franz  Lang, 
Thomas Holm  Rod, *EPJ Web Conf.* **286** 06001 (2023)
DOI: 10.1051/epjconf/202328606001

Please also consider letting us know by sending us the reference to your work. This will help us to ensure the long term support and development of the software.

This work benefited from the use of the QENSmodels library, which contains code developed with funding from the European Union's Horizon 2020 research and innovation programme under grant agreement No 654000.

License

Redistribution of the software is permitted under the terms of the BSD 3-Clause license <https://opensource.org/licenses/BSD-3-Clause>_.