Skip to main content

Gravitational Wave Detector Design Toolkit.

Project description

gwent

https://img.shields.io/pypi/v/gwent.svg https://github.com/ark0015/gwent/workflows/CI-Tests/badge.svg Documentation Status https://codecov.io/gh/ark0015/gwent/branch/gwent-dev/graph/badge.svg?token=897QOE4EBQ

Gravitational Wave dEtector desigN Toolkit.

Generates strain sensitivity curves and Waterfall plots for various gravitational wave detector designs.

gwent Waterfall Plots

Features

Calculates the sensitivity curves for various designs of pulsar timing arrays, space-based detectors, and ground-based detectors. This includes:

  • NANOGrav

  • SKA

  • LISA

  • aLIGO

  • Voyager

  • and more!

Calculates the strain from coalescing black hole binaries. It contains functionality for different source descriptions:

  • Slowly-evolving sources, ie. BHBs early in their inspiral where they appear to not change in frequency.

  • Rapidly-evolving sources, ie. BHBs in the final stages of coalescence.

    • Uses a fully Pythonic implementation of the phenomenological model IMRPhenomD to accurately represent the inspiral, merger, and ringdown of the BHB.

Calculates the matched-filtered signal-to-noise ratio (SNR) to help assess the detectability of any BHB source configuration by any represented gravitational wave detector.

  • Includes robust plotting methods to represent these SNRs.

Getting Started

gwent is available on the Python Package Inventory, so the preferred method to install gwent is to install it with pip, as it will always install the most recent stable release.

$ pip install gwent

README Figure and Data

If you are looking for quick data, we conveniently place the figure above in the data folder on the Github repo. There you can also find the raw data used for this figure in .npz format. To load this data, simply use np.load(filename), and the data can be accessed by the kwargs 'mass', 'redshift', and 'snr'. E.g.,

import numpy as np
import gwent
from gwent.snrplot import Plot_SNR
loaded_file = np.load(filename)
Plot_SNR('M',load_file['mass'],'z',load_file['redshift'],load_file['snr'])

Publication

This work and methodology is available on arXiv. If you use gwent, please cite this work using the following:

@ARTICLE{2020arXiv201002135K,
       author = {{Kaiser}, Andrew R. and {McWilliams}, Sean T.},
        title = "{Sensitivity of present and future black-hole binary observations across the gravitational wave spectrum}",
      journal = {arXiv e-prints},
     keywords = {General Relativity and Quantum Cosmology, Astrophysics - High Energy Astrophysical Phenomena, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2020,
        month = oct,
          eid = {arXiv:2010.02135},
        pages = {arXiv:2010.02135},
archivePrefix = {arXiv},
       eprint = {2010.02135},
 primaryClass = {gr-qc},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2020arXiv201002135K},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

Credits

We utilize and include within the package a specific commit of pygwinc found at https://git.ligo.org/gwinc/pygwinc to create many of the ground-based gravitational wave detector sensitivity curves. At the time of creation, there is no pygwinc availability on PyPI, so we explicitly include the necessary portions of the code within.

This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

0.4.0 (2021-1-8)

  • Adding functionality to use lalsuite waveforms

  • Changing locations of multiple functions from BBHFrequencyDomain functions to general binary functions

  • Moved several functions from binary to waveform

  • Fixed several bugs with SNR calculations

  • Clarified certain constants

  • Added JOSS paper draft

  • Expanded testing and switched from TravisCI to Github Actions

0.3.0 (2020-10-5)

  • Turning pygwinc install into vendor inside gwent

0.2.1 (2020-10-5)

  • Update to ground-based SNR calculation

  • Minor changes to snrplot functionality

  • Changed fitting for WD background

  • Misc bug fixing

0.2.0 (2020-4-29)

  • Major Changes to PTA detector setup

  • Major Changes to snrplot

  • Overhaul of tutorials

  • Minor Changes to binary and snr functions

  • Other Minor Changes sprinkled throughout

0.1.16 (2020-1-19)

  • Removing install of pygwinc in setup.py

  • pygwinc must now be manually installed

0.1.15 (2020-1-18)

  • Including easy install of pygwinc

0.1.14 (2020-1-7)

  • Major addition of pygwinc

  • Minor fixes to snr sampling and plotting

0.1.13 (2019-10-28)

  • Removing SNR Files in LoadFiles

  • Fixing Error in PTA Initialization that Ignored User Input

0.1.12 (2019-10-8)

  • Adding New Files for NANOGrav

  • Updating Loading from files for Detectors

0.1.11 (2019-09-19)

  • Fixing bugs and removing empty functionality

0.1.10 (2019-09-14)

  • Removed Python 2.7 support

0.1.0 (2019-09-04)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gwent-0.4.0.tar.gz (11.9 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gwent-0.4.0-py2.py3-none-any.whl (3.5 MB view details)

Uploaded Python 2Python 3

File details

Details for the file gwent-0.4.0.tar.gz.

File metadata

  • Download URL: gwent-0.4.0.tar.gz
  • Upload date:
  • Size: 11.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for gwent-0.4.0.tar.gz
Algorithm Hash digest
SHA256 8515b111f974151e31816fec925fc5dc4870531cc6f6641dca5bfc0ecc70b129
MD5 e04527d7f377cdebec01a19c742367e6
BLAKE2b-256 8eded40aed60aa384dca71abfa276b3179d41d5a7bf7ddbd94adff4c95b429c5

See more details on using hashes here.

File details

Details for the file gwent-0.4.0-py2.py3-none-any.whl.

File metadata

  • Download URL: gwent-0.4.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 3.5 MB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.7.7

File hashes

Hashes for gwent-0.4.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 665a9c2f3d88e63917f46199fadf4a0fbed97a8c293197ed04b34898cbf9aa7d
MD5 e76699736cd323c326707c4dfa201121
BLAKE2b-256 2311882f64a8632e8dd9ca7f01e7e28cac5670f7c362fdbc0c1cb4a65856be2e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page