Skip to content

Commit

Permalink
Merge pull request #1 from tanner-trickle/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
tanner-trickle committed Jun 21, 2021
2 parents b72e2f1 + b6ad5a2 commit 8484c93
Show file tree
Hide file tree
Showing 301 changed files with 46,917 additions and 6,838 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ data/
myTODO.md
.ipynb_checkpoints
__pycache__
tests/Si/outputs/
examples/Si/outputs/
4 changes: 2 additions & 2 deletions EXCEED-DM-docs.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ project_github: https://github.com/tanner-trickle/EXCEED-DM
summary: EXtended Calculation of Electronic Excitations for Direct detection of Dark Matter.
author: Tanner Trickle
github: https://github.com/tanner-trickle
date: 05/3/2021
date: 06/21/2021
email: [email protected]
source: false
version: 0.1.0
version: 0.2.0
print_creation_date: true
exclude: fftw3.f90
special_functions.f90
44 changes: 28 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,17 @@

## Features

`EXCEED-DM` provides a complete framework for computing DM-electron interaction rates. Given a range of DM masses, mediator form factors, and times of day, `EXCEED-DM` computes the scattering rate per kg-year binned in energy and momentum deposition.
`EXCEED-DM` provides a complete framework for computing DM-electron interaction rates.

- **All kinematically allowed transitions are included.** In addition to transitions near the Fermi surface, where density functional theory (DFT) calculations are a necessary component of the calculation, electronic states further below, and above, are modeled semi-analytically and included in the scattering rate calculation.
- **Compute daily and annual modulation signals.** No assumptions about the isotropy of the target are made, allowing one to study the daily modulation signal, and the DM velocity distribution parameters can be changed very easily to compute annual modulation.
- **Scattering**: Given a range of DM masses, mediator form factors, and times of day, `EXCEED-DM` computes the scattering rate per kg-year binned in energy and momentum deposition.
- **All kinematically allowed transitions are included.** In addition to transitions near the Fermi surface, where density functional theory (DFT) calculations are a necessary component of the calculation, electronic states further below, and above, are modeled semi-analytically and included in the scattering rate calculation.
- **Daily and annual modulation signals**: No assumptions about the isotropy of the target are made, allowing one to study the daily modulation signal, and the DM velocity distribution parameters can be changed very easily to compute annual modulation.
- **Spin-dependent wave functions**: Some targets, such as those with spin-orbit coupling, will have electronic states which are not eigenstates of the spin operator. This means the wave functions have two components instead of one, and particle physics couplings to the spin operator are no longer trivial to compute. `EXCEED-DM` can perform these spin-dependent scattering rate calculations.
- Note: currently (v0.2.0) only valence to conduction transitions are supported.

- **Absorption**: Given a range of DM masses and times of day, `EXCEED-DM` computes the absorption rate, electronic self energies, and generalized crystal form factors, needed to compute the DM absorption rate.
- **Scalar, pseudoscalar, and vector DM**: compute the absorption rate from these bosonic DM candidates.
- Note: currently (v0.2.0) only valence to conduction transitions are supported.

`EXCEED-DM` is :

Expand All @@ -36,10 +43,10 @@ Follow these instructions to compile and run `EXCEED-DM` on a fresh Ubuntu (18.0

1) Install preliminary software
- Fortran compiler (`sudo apt install gfortran`)
- OpenMPI (`sudo apt install libopenmpi-dev`)
- fftw3 (`sudo apt install libfftw3-dev`)
- hdf5 (`sudo apt install libhdf5-serial-dev`)
- FoBiS.py (`sudo pip3 install FoBiS.py`)
- OpenMPI (`sudo apt install libopenmpi-dev`)
- fftw3 (`sudo apt install libfftw3-dev`)
- hdf5 (`sudo apt install libhdf5-serial-dev`)
- FoBiS.py (`sudo pip3 install FoBiS.py`)

Note : It's recommended to run `sudo apt update` before, and on a completely fresh Ubuntu installation pip will need to be installed (`sudo apt install python3-pip`).

Expand All @@ -61,7 +68,7 @@ If installed correctly you should see something similar to,

--------------------

EXCEED-DM - v0.1.0
EXCEED-DM - v0.2.0

--------------------

Expand All @@ -76,10 +83,12 @@ If installed correctly you should see something similar to,

!!!!!!!!!!!

5) Perform example calculation. Open `examples/Si/inputs/vc_test_input.txt` and change the file paths as necessary (DFT input file is stored in `./examples/Si/dft/Si/Si_2x2x2_AE.hdf5`). Then run
5) Perform example calculation. From the main folder run

> mpirun -np 2 ./build/exdm ./examples/Si/inputs/vc_test_input.txt

Output data is stored in `examples/Si/outputs/`. To run from another folder, open `examples/Si/inputs/vc_test_input.txt` and change the file paths as necessary (DFT input file is stored in `examples/Si/dft/Si/Si_2x2x2_AE.hdf5`).

## Support

- Installation instructions can be found in `install.md`.
Expand All @@ -93,9 +102,11 @@ If installed correctly you should see something similar to,

## Papers using `EXCEED-DM`

- S. M. Griffin, K. Inzani, T. Trickle, Z. Zhang and K. M. Zurek, [Extended Calculation of Dark Matter-Electron Scattering in Crystal Targets]
- T. Trickle, Z. Zhang, K. M. Zurek, K. Inzani and S. Griffin, [Multi-Channel Direct Detection of Light Dark Matter: Theoretical Framework]
- S. M. Griffin, K. Inzani, T. Trickle, Z. Zhang and K. M. Zurek, [Multichannel direct detection of light dark matter: Target comparison]

[Extended Calculation of Dark Matter-Electron Scattering in Crystal Targets]:https://arxiv.org/abs/2105.05253
[Multi-Channel Direct Detection of Light Dark Matter: Theoretical Framework]: https://doi.org/10.1007/JHEP03(2020)036
[Multichannel direct detection of light dark matter: Target comparison]: https://doi.org/10.1103/PhysRevD.101.055004

Expand All @@ -107,12 +118,13 @@ If you use `EXCEED-DM` in your work, please cite,

along with,

@article{griffin2021extended,
title={Extended Calculation of Dark Matter-Electron Scattering in Crystal Targets},
author={Sinéad M. Griffin and Katherine Inzani and Tanner Trickle and Zhengkang Zhang and Kathryn M. Zurek},
year={2021},
eprint={2105.05253},
archivePrefix={arXiv},
primaryClass={hep-ph}
@article{Griffin:2021znd,
author = "Griffin, Sin\'ead M. and Inzani, Katherine and Trickle, Tanner and Zhang, Zhengkang and Zurek, Kathryn M.",
title = "{Extended Calculation of Dark Matter-Electron Scattering in Crystal Targets}",
eprint = "2105.05253",
archivePrefix = "arXiv",
primaryClass = "hep-ph",
month = "5",
year = "2021"
}

15 changes: 12 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,21 @@

## Short term

- Print accurate timing estimate.
- Spin dependent wave function implementation in
- c -> c calculation
- c -> f calculation
- v -> f calculation
- Spin dependent responses in
- c -> c calculation
- c -> f calculation
- v -> f calculation

### Optimization

- See if incorporating external BLAS software gives significant speed increase.
- Use better profiling to see if there are slow spots.

## Long term

- Use target symmetries to simplify the calculation.
- Use target symmetries to simplify the calculation (?).

## Completed (additions to v0.1.0)
40 changes: 39 additions & 1 deletion changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,41 @@
v0.2.0
---

- Calculation of dark matter (scalar, pseudoscalar (axion-like), vector) absorption on electrons!
- Compute the absorption rate, self-energies, and generalized crystal form factors in the absorption limit.
- Setting `process = 'absorption'` in the input file switches the calculation to absorption mode. Check out examples in the `examples/` folder.
- Set a variety of electron lifetime/width parameters, `width = min( a + b omega , width_max )`
- See (add arXiv # once available) for details of the formulation.
- (Currently only spin-independent, valence -> conduction transitions are supported.)

v0.1.3
---

- Partial implementation of general transition form factor in module `transition_form_factor`.
- Compute scattering rates for interactions that depend on electron spin with spin-dependent electronic wave functions.
- Support for valence -> conduction transitions.
- Note : default is to compute spin-independent scattering rates
- Added simple testing routines which will help make sure new additions do not break old functionality.
- Run test with `FoBiS.py rule -ex tests`.
- To add new tests just add files to the list inside `tests/run_tests.sh`
- Updated documentation

v0.1.2
---

- Added functionality for spin dependent (two component) wave functions!
- Automatically detect whether input DFT data has spin dependence.
- Valence -> conduction transition rates can be computed with spin dependent wave functions.
- Added example input file for Si which has spin dependent wave functions.

v0.1.1
---

- When timer = .TRUE. a smaller version of the program will be run before the main program, and an estimate of the run time of the full program will be printed.
- Improved output printing.
- Updated Si example input files to use file paths relative to the main folder.

v0.1.0
---
Initial beta release.

- Initial beta release.
Loading

0 comments on commit 8484c93

Please sign in to comment.