Multiphonon
Multiphonon: Phonon Density of States tools for Inelastic Neutron Scattering Powder Data - Published in JOSS (2018)
Science Score: 59.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: aps.org, joss.theoj.org -
✓Committers with academic emails
3 of 8 committers (37.5%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (18.8%) to scientific vocabulary
Keywords from Contributors
Scientific Fields
Repository
multiphonon (getDOS)
Basic Info
Statistics
- Stars: 4
- Watchers: 6
- Forks: 5
- Open Issues: 22
- Releases: 3
Metadata Files
README.md
multiphonon
This is a rewrite of multiphonon (getDOS) code that was originally authored by Max Kresch during the DANSE project and was then revised by several authors including Brandon, Chen, Jennifer, and Dipanshu (their work were recorded as branches in this repo). It fixes some problems in the earlier versions of getDOS code and implemented new features. The original requirements of this project is captured at this ticket. And details of the features of this code can be found below.
Main functionality: Compute phonon Density of States (DOS) from powder Inelastic Neutron Scattering (INS) spectrum
Inelastic neutron scattering (INS) are important probes of dynamics in materials [2]. Powder spectra measured by inelastic neutron spectrometers provide information such as phonon density of states (DOS), a fundamental property of a solid. The measured spectra, however, are two-dimensional in axes of Q (momentum transfer) and E (energy transfer). This code converts a S(Q,E) INS spectrum to DOS.
Features
- The full I(Q,E) dynamic range measured is utilized, leading to better statistics
- Can be used with data measured at multiple incident energies to progressivley obtain better density of states
- Intermediate results are saved for further investigation
- Handle inputs in nxs and nxspe files for sample and empty can measurements (requires Mantid)
Development Installation and Testing
Create and activate a virtual environment with Pixi.Prerequisites: Pixi installation e.g. for Linux:
curl -fsSL https://pixi.sh/install.sh | sh
Download the repository. Setup/Update the environment
pixi install
Enter the environment
pixi shell
```bash See "Run test" section below for how to set up git-lfs and run unit tests
```
Installation
Installation is handled with conda. Please see Installation instructions for details.
Usage
Please see usage for details.
Community guidelines
How to contribute
Please clone the repository, make changes and make a pull request.
How to report issues
Please use the github issues to report issues or bug reports.
Support
Please either use the github issues to ask for support, or contact the authors directly using email.
Algorithm
The core algorithm is an iterative procedure: - Start with the input SQE and an initial guess of DOS - Calculate SQE of multiphonon scattering (MP) - Calculate SQE of multiple scattering (MS) using C_ms and multiphonon scattering SQE - Subtract MS and MP SQE from the experimental SQE to obtain an approximation of the single-phonon SQE - Compute a new DOS from the single-phonon SQE - Compare the new DOS to the initial guess and calculate the difference - If difference is large, continue the iteration using the new DOS as the initial guess. Otherwise, output the new DOS and stop iteration
For more details of the basic principles of SQE->DOS conversion, please refer to Appendix of [1] and Section 6.5 "Calculation of Multiphonon Scattering" of [2].
API doc
See https://multiphonon.readthedocs.io/en/latest/api.html
(previous http://neutrons.github.io/multiphonon/api.html)
Run tests
Tests are run automatically at CI
Due to certain test files exceed github storage limit, git-lfs(large file storage) has been set up to host these test data. Git-lfs will need to be configured on local machine to download test data. To set up git-lfs, in root folder "multiphonon/" run:
$ git lfs pull
$ git submodule update --init --recursive
A folder named "multiphonon-data" should appear under "tests/data/", from here run: $ pixi shell $ pytest
to run all tests or follow instructions below to run minimal tests .
To manually run the minimal test suite, install multiphonon, clone this repository, and run
$ cd multiphonon/tests && py.test -m "not needs_mantid and not needs_ipywe"
If mantid and ipywe were installed, you can run all tests by
$ py.test
References
[1] Max Kresch et al., https://journals.aps.org/prb/abstract/10.1103/PhysRevB.75.104301
[2] Brent Fultz et al., http://www.cacr.caltech.edu/projects/danse/doc/Inelastic_Book.pdf
History
Owner
- Name: Neutron Scattering Software
- Login: neutrons
- Kind: organization
- Repositories: 47
- Profile: https://github.com/neutrons
GitHub Events
Total
- Issues event: 2
- Watch event: 1
- Delete event: 11
- Issue comment event: 17
- Push event: 65
- Pull request review comment event: 10
- Pull request event: 18
- Pull request review event: 14
- Create event: 18
Last Year
- Issues event: 2
- Watch event: 1
- Delete event: 11
- Issue comment event: 17
- Push event: 65
- Pull request review comment event: 10
- Pull request event: 18
- Pull request review event: 14
- Create event: 18
Committers
Last synced: 8 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Jiao Lin | l****o@o****v | 342 |
| Garrett Granroth | g****e@o****v | 22 |
| Maria Patrou | 3****u | 15 |
| Fahima Islam | f****f@m****u | 11 |
| Kyle Qianli Ma | 4****a | 5 |
| Arfon Smith | a****n | 2 |
| github-actions[bot] | 4****] | 1 |
| Max Kresch | m****h@m****m | 1 |
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 52
- Total pull requests: 73
- Average time to close issues: about 1 month
- Average time to close pull requests: 2 days
- Total issue authors: 5
- Total pull request authors: 8
- Average comments per issue: 0.98
- Average comments per pull request: 1.11
- Merged pull requests: 64
- Bot issues: 0
- Bot pull requests: 2
Past Year
- Issues: 2
- Pull requests: 21
- Average time to close issues: 11 days
- Average time to close pull requests: 3 days
- Issue authors: 1
- Pull request authors: 4
- Average comments per issue: 0.0
- Average comments per pull request: 1.33
- Merged pull requests: 15
- Bot issues: 0
- Bot pull requests: 2
Top Authors
Issue Authors
- yxqd (36)
- granrothge (6)
- bjmorgan (5)
- lheagy (4)
- Fahima-Islam (1)
Pull Request Authors
- yxqd (26)
- mpatrou (19)
- KyleQianliMa (12)
- granrothge (9)
- Fahima-Islam (3)
- github-actions[bot] (2)
- arfon (1)
- mkresch (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v2 composite
- conda-incubator/setup-miniconda v2 composite
- actions/checkout v4 composite
- codecov/codecov-action v4 composite
- mamba-org/setup-micromamba v1 composite
- mantid *
- numpy == 1.26.4
- scipy == 1.14.1