Skip to content
Snippets Groups Projects
Select Git revision
  • master default protected
  • develop-GA
  • timeFstatmap
  • add-higher-spindown-components
  • develop-DK
  • adds-header-to-grid-search
  • v1.2
  • v1.1.2
  • v1.1.0
  • v1.0.1
10 results

grid_F0F1F2.py

Blame
  • Forked from Gregory Ashton / PyFstat
    119 commits behind the upstream repository.
    grid_F0F1F2.py 1.68 KiB
    import pyfstat
    import numpy as np
    import matplotlib.pyplot as plt
    
    try:
        from gridcorner import gridcorner
    except ImportError:
        raise ImportError(
            "Python module 'gridcorner' not found, please install from "
            "https://gitlab.aei.uni-hannover.de/GregAshton/gridcorner")
    
    F0 = 30.0
    F1 = 1e-10
    F2 = 0
    Alpha = 1.0
    Delta = 1.5
    
    # Properties of the GW data
    sqrtSX = 1e-23
    tstart = 1000000000
    duration = 10*86400
    tend = tstart+duration
    tref = .5*(tstart+tend)
    
    depth = 20
    label = 'grid_F0F1F2'
    outdir = 'data'
    
    h0 = sqrtSX / depth
    
    data = pyfstat.Writer(
        label=label, outdir=outdir, tref=tref,
        tstart=tstart, F0=F0, F1=F1, F2=F2, duration=duration, Alpha=Alpha,
        Delta=Delta, h0=h0, sqrtSX=sqrtSX)
    data.make_data()
    
    m = 0.01
    dF0 = np.sqrt(12*m)/(np.pi*duration)
    dF1 = np.sqrt(180*m)/(np.pi*duration**2)
    dF2 = 1e-17
    N = 100
    DeltaF0 = N*dF0
    DeltaF1 = N*dF1
    DeltaF2 = N*dF2
    F0s = [F0-DeltaF0/2., F0+DeltaF0/2., dF0]
    F1s = [F1-DeltaF1/2., F1+DeltaF1/2., dF1]
    F2s = [F2-DeltaF2/2., F2+DeltaF2/2., dF2]
    Alphas = [Alpha]
    Deltas = [Delta]
    search = pyfstat.GridSearch(
        'grid_F0F1F2', 'data', data.sftfilepath, F0s, F1s,
        F2s, Alphas, Deltas, tref, tstart, tend)
    search.run()
    
    F0_vals = np.unique(search.data[:, 2]) - F0
    F1_vals = np.unique(search.data[:, 3]) - F1
    F2_vals = np.unique(search.data[:, 4]) - F2
    twoF = search.data[:, -1].reshape((len(F0_vals), len(F1_vals), len(F2_vals)))
    xyz = [F0_vals, F1_vals, F2_vals]
    labels = ['$f - f_0$', '$\dot{f} - \dot{f}_0$', '$\ddot{f} - \ddot{f}_0$',
              '$\widetilde{2\mathcal{F}}$']
    fig, axes = gridcorner(
        twoF, xyz, projection='log_mean', labels=labels, whspace=0.1, factor=1.8)
    fig.savefig('{}/{}_projection_matrix.png'.format(outdir, label))