@@ -185,6 +185,7 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf,
185
185
REAL * 8 bhspin(2 )
186
186
REAL * 8 delet,delet1,dspint(2 ),djspint(2 ),djtx(2 )
187
187
REAL * 8 dtj,djorb,djgr,djmb,djt,djtt,rmin,rdisk
188
+ REAL * 8 etaBH,maxspinBH
188
189
*
189
190
INTEGER pulsar
190
191
INTEGER mergemsp,merge_mem,notamerger,binstate,mergertype
@@ -270,6 +271,8 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf,
270
271
ngtv2 = - 2.d0
271
272
twopi = 2.d0 * ACOS (- 1.d0 )
272
273
274
+ Mbh_initial = 0.d0
275
+
273
276
274
277
* disrupt tracks if system get disrupted by a SN during the common
275
278
* envelope
@@ -523,6 +526,18 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf,
523
526
* Just in case the wind mass loss rates are *very* high
524
527
*
525
528
dme = 2.08d-03*eddfac*(1.d0/(1.d0 + zpars(11)))*rad(3-k)
529
+ * For BHs, follow Marchant et al. 2017
530
+ if(kstar(3-k).eq.14)then
531
+ maxspinBH = 6.d0**(1.d0/2.d0) * Mbh_initial
532
+ if(mass(3-k).lt.maxspinBH)then
533
+ etaBH = 1.d0 -
534
+ & (1.d0 - (mass(3-k)/(3.d0*Mbh_initial))**(2.d0))**(1.d0/2.d0)
535
+ else
536
+ etaBH = 0.42
537
+ endif
538
+ dme = 1.04e-3*eddfac*(1.d0/(1.d0 + zpars(11)))
539
+ & *(1.d0/etaBH)*rad(3-k)
540
+ endif
526
541
527
542
*
528
543
* Calculate wind mass loss from the previous timestep.
@@ -1402,10 +1417,22 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf,
1402
1417
*
1403
1418
*
1404
1419
* Force new NS or BH to have a birth spin peirod and magnetic field.
1405
- *
1420
+ *
1406
1421
if(kstar(k).eq.13.or.kstar(k).eq.14)then
1407
1422
* re-calculate the Eddington limit of the newly formed CO
1408
- dme = 2.08d-03*eddfac*(1.d0/(1.d0 + zpars(11)))*rad(k)
1423
+ dme = 2.08d-03*eddfac*(1.d0/(1.d0 + zpars(11)))*rad(k)
1424
+ * For BHs, follow Marchant et al. 2017
1425
+ if(kstar(k).eq.14)then
1426
+ maxspinBH = 6.d0**(1.d0/2.d0) * Mbh_initial
1427
+ if(mass(k).lt.maxspinBH)then
1428
+ etaBH = 1.d0 -
1429
+ & (1.d0 - (mass(k)/(3.d0*Mbh_initial))**(2.d0))**(1.d0/2.d0)
1430
+ else
1431
+ etaBH = 0.42
1432
+ endif
1433
+ dme = 1.04e-3*eddfac*(1.d0/(1.d0 + zpars(11)))
1434
+ & *(1.d0/etaBH)*rad(k)
1435
+ endif
1409
1436
if(tphys-epoch(k).lt.tiny)then
1410
1437
if(kstar(k).eq.13.and.pulsar.gt.0)then
1411
1438
* write(93,*)'birth start: ',tphys,k,B_0(k),ospin(k)
@@ -1906,7 +1933,19 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf,
1906
1933
* Eddington limit for accretion on to the secondary in one orbit.
1907
1934
*
1908
1935
8 dme = 2.08d-03 * eddfac* (1.d0 / (1.d0 + zpars(11 )))* rad(j2)* tb
1909
-
1936
+ * For BHs, follow Marchant et al. 2017
1937
+ if (kstar(j2).eq. 14 )then
1938
+ maxspinBH = 6.d0 ** (1.d0 / 2.d0 ) * Mbh_initial
1939
+ if (mass(j2).lt. maxspinBH)then
1940
+ etaBH = 1.d0 -
1941
+ & (1.d0 - (mass(j2)/ (3.d0 * Mbh_initial))** (2.d0 ))** (1.d0 / 2.d0 )
1942
+ else
1943
+ etaBH = 0.42
1944
+ endif
1945
+ dme = 1.04e-3 * eddfac* (1.d0 / (1.d0 + zpars(11 )))
1946
+ & * (1.d0 / etaBH)* rad(j2)* tb
1947
+ endif
1948
+
1910
1949
supedd = .false.
1911
1950
novae = .false.
1912
1951
disk = .false.
@@ -2612,6 +2651,18 @@ SUBROUTINE evolv2(kstar,mass,tb,ecc,z,tphysf,
2612
2651
* Just in case the wind mass loss rates are *very* high
2613
2652
*
2614
2653
dme = 2.08d-03 * eddfac* (1.d0 / (1.d0 + zpars(11 )))* rad(3 - k)* tb
2654
+ * For BHs, follow Marchant et al. 2017
2655
+ if (kstar(3 - k).eq. 14 )then
2656
+ maxspinBH = 6.d0 ** (1.d0 / 2.d0 ) * Mbh_initial
2657
+ if (mass(3 - k).lt. maxspinBH)then
2658
+ etaBH = 1.d0 -
2659
+ & (1.d0 - (mass(3 - k)/ (3.d0 * Mbh_initial))** (2.d0 ))** (1.d0 / 2.d0 )
2660
+ else
2661
+ etaBH = 0.42
2662
+ endif
2663
+ dme = 1.04e-3 * eddfac* (1.d0 / (1.d0 + zpars(11 )))
2664
+ & * (1.d0 / etaBH)* rad(3 - k)* tb
2665
+ endif
2615
2666
2616
2667
if (neta.gt. tiny)then
2617
2668
if (beta.lt. 0.d0 )then !PK. following startrack
0 commit comments