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.
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, defaultgsl
path is/usr
.
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
andlapack
.
-
Galactic compact binary (GCB):
FastGB
andGCBWaveform
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.
- A modified version of GCB waveform generation code
- 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.
- This submodule is included in
- This is a modified version of
-
Stochastic gravitational wave background (SGWB):
- With the help of
healpy
to generate a SGWB signal of power law type.
- With the help of
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
Please check requirements.txt
for details, or you can directly install them by
pip install -r requirements.txt
- After downloading
lapack
, compile bothlapack
andlapacke
, for example
cd lapack-3.11.0
cp make.inc.example make.inc
make lapacklib
make lapackelib
-
Copy the
liblapacke.a
andliblapack.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