twopunctures

[5]:
import CactusTool

name = 'BBH000Lev1'
sim = CactusTool.load(name, '/Volumes/simulations/BBH_Catalog')
p = sim.ThornOutput('twopunctures')
print(p)
m1 = 0.5
m2 = 0.5
ADMMass = 0.9898872694943947
Mass Ratio = 1.0
eta = 0.25
separation = 10.4
spin1 = [-0.125  0.     0.   ]
spin2 = [0.125 0.    0.   ]
chi1 = [-0.5  0.   0. ]
chi2 = [0.5 0.  0. ]
chi_eff = 0.0
chi_p = 0.5
Omega_orb = 0.027528062162940594
CutoffFrequency = 0.04129209324441089

multipole

[8]:
import CactusTool

name = 'BBH0000_D25'
sim = CactusTool.load(name, '/Volumes/simulations/HUST_Catalog')
mp = sim.ThornOutput('multipole', ftype='h5')
bbh = sim.ThornOutput('TwoPunctures')
[9]:
mp.rPsi4(bbh.ADMMass, (2, 2), 500).preview()

puncturetracker

[1]:
import CactusTool

name = 'BBH0000_D25'
sim = CactusTool.load(name, '/Volumes/simulations/HUST_Catalog')
trajectory = sim.ThornOutput('puncturetracker')
bbh = sim.ThornOutput('twopunctures')
[2]:
print("Initial separation:", trajectory.init_separation)
print("Merger time:", trajectory.tmerger())
print("The coordinate recoil velocity [km/s]:", trajectory.vf)
Initial separation: 25.0
Merger time: 201.181339285714
The coordinate recoil velocity [km/s]: [5119.0130307860645, 2752.178504601252, 2098.584183442442]

quasilocalmeasures

[1]:
import CactusTool

name = 'BBH000Lev1'
sim = CactusTool.load(name, '/Volumes/simulations/BBH_Catalog')
qlm = sim.ThornOutput('quasilocalmeasures')
[2]:
print("Remnant AH mass:", qlm.mf)
print("Remnant AH spin:", qlm.chif)
Remnant AH mass: 0.9503018583049941
Remnant AH spin: [-1.89831521e-08  1.71428659e-09  6.81398221e-01]

AHFinderDirect

[5]:
import CactusTool

name = 'BBH000Lev2'
sim = CactusTool.load(name, '/Volumes/simulations/BBH_Catalog')
Horizon = sim.ThornOutput('AHFinderDirect')
Horizon.M_irr('ah1')
[5]:
<CactusTool.Analysis.DiscreteFunction.TimeSeries at 0x130253250>

Carpet

[3]:
import CactusTool

name = 'BBH0001_D15_Rin200'
sim = CactusTool.load(name, '/Volumes/simulations/HUST_Catalog')
carpet = sim.ThornOutput('carpet')
carpet.coordinates()[1]

[3]:
{0: {0: '[-1.234197113910275867,-1.234197113910275867,190.6285714285714334]:[1.234197113910275423,1.234197113910275423,4202.057142857142935]:[0.05609986881410344156,0.05609986881410344156,1.371428571428571441]'}}

nanchecker

[10]:
import CactusTool

name = 'GW150914_test10'
sim = CactusTool.load(name, '/Volumes/simulations/HUST_error')
nan = sim.ThornOutput('nanchecker')
print("iteration:\n", nan.it)
print("hierarchy:\n", nan.hierarchy)
iteration:
 {47104}
hierarchy:
 {0: {0: set(), 1: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 2: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 3: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 4: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 5: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 6: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 7: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}, 8: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}}, 1: {0: {0, 1}}, 5: {0: {0, 1, 2, 3}}, 2: {0: {0, 1}}, 3: {0: {0, 1}}, 4: {0: {0, 1}}}
[13]:
p = nan.dsets(47104, 0, 8, 0)
[ ]: