Giter Site home page Giter Site logo

humphreywang / gwspace Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tianqinsysu/gwspace

0.0 0.0 0.0 21.61 MB

A multi-mission science data simulator for space-based gravitational wave detection

License: GNU General Public License v3.0

Python 29.57% C 66.44% Cython 3.98%

gwspace's Introduction

GWSpace: A multi-mission Science Data Simulator for Space-based Gravitational Wave Detection

GWSpace is a multi-mission science data simulator for space-based gravitational wave detection. It is a Python package that can compute correlated gravitational wave signals that could be detected by TianQin, LISA and Taiji simultaneously in a possible joint detection scenario, either in time domain (GCB, EMRI and Burst) or in frequency domain (BHB and SGWB). For more details, see doc file or arXiv:2309.15020.

gwspace-structure

Quick install

git clone --recurse-submodules https://github.com/TianQinSYSU/GWSpace
cd /GWSpace
pip install -r requirements.txt . --global-option="--with-gsl=/your/gsl/path"
  • Remove -r requirements.txt if you want to install GWSpace only.
  • If --with-gsl is not given, default gsl path is /usr.

GW waveforms

As seen in the figure above, different gravitational wave sources requires different waveforms. The following waveform will be automatically complied during the installation unless otherwise noted:

  • EMRI: FastEMRIWaveforms (few)

    • We use FastEMRIWaveforms for EMRI. If you want to do data analysis of EMRI, you need to install it manually.
    • It requires gsl and lapack.
  • Galactic compact binary (GCB): FastGB and GCBWaveform

    • FastGB:
      • A modified version of GCB waveform generation code Galaxy in the Mock LISA Data Challenge (MLDC).
      • It uses a fast/slow decomposition of the waveform to reduce the computational cost, see arXiv:0704.1808 for more details.
    • GCB time-domain waveform generation using Python: See class GCBWaveform.
  • Binary black hole (BBH): IMRPhenomD

    • pyIMRPhenomD: IMRPhenomD waveform in C code developed by Michael Puerrer.
    • PyIMRPhenomD: IMRPhenomD waveform but in a pure python code, compiled with the numba just in time compiler.
      • If you prefer this one, you need to install it manually.
  • Stellar-mass BBH (with eccentricity): EccentricFD

    • This is a modified version of EccentricFD waveform, which is specially for space-detector responses.
    • If you want to check the original codes, see files in LALSuite.
    • This has been linked as a submodule of GWSpace, click here to check the submodule itself.
      • This submodule is included in requirements.txt, it will be installed when installing this list.
  • Stochastic gravitational wave background (SGWB):

    • With the help of healpy to generate a SGWB signal of power law type.

Library dependence

C language: gsl:

All waveforms will be compiled with gsl.

  • To find the lib path of gsl:
echo $LD_LIBIARY_PATH | grep gsl
  • To find the software installed manually:
ldconfig -p | grep gsl
  • Install gsl only if no such library in your system. In Ubuntu, you can install it by
sudo apt-get install libgsl-dev

Python package:

Please check requirements.txt for details, or you can directly install them by

pip install -r requirements.txt

For EMRI: install lapack & lapacke

  • After downloading lapack, compile both lapack and lapacke, for example
cd lapack-3.11.0
cp make.inc.example make.inc
make lapacklib
make lapackelib
  • Copy the liblapacke.a and liblapack.a to your lib path (e.g. /usr/local/lib)

  • Copy files in the ./LAPACKE/include to your include path (e.g. /usr/local/include)

  • If you cannot do copy above, you need to add lapack path to your environment variables, e.g. add PATH to ~/.bashrc

export LIBRARY_PATH=$LIBRARY_PATH:/xxx/lapack-3.11.0
export C_INCLUDE_PATH=$C_INCLUDE_PATH:/xxx/lapack-3.11.0/LAPACKE/include

Author lists

gwspace's People

Contributors

humphreywang avatar ekli-sysu avatar enkun-li avatar liyn55 avatar lizy378 avatar chen-hyu avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.