Skip to content

Commit 17d2d1d

Browse files
evbauerMatthias Fabryorlox
authored
Fix wind accretion (#477)
* Fix to the orbital velocity in binary_wind.f90. also add support for different BH_beta according to hurley+2002 * modify beta in the HMXB testcase * fix assignement of wind_BH_beta controls * adjust inlist of wind_fed_bhhmxb to use old value of wind_BH_beta_1 --------- Co-authored-by: Matthias Fabry <[email protected]> Co-authored-by: Pablo Marchant <[email protected]>
1 parent 743e31f commit 17d2d1d

File tree

5 files changed

+22
-7
lines changed

5 files changed

+22
-7
lines changed

binary/defaults/binary_controls.defaults

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -813,15 +813,19 @@
813813
! wind_BH_alpha_*
814814
! ~~~~~~~~~~~~~~~
815815

816-
! Bondi-Hoyle accretion parameter for each star. The default is 3/2 taken
817-
! from Hurley et al. 2002, MNRAS, 329, 897, in agreement with
818-
! Boffin & Jorissen 1988, A&A, 205, 155
816+
! Bondi-Hoyle accretion parameter for each star. The default for alpha is 3/2
817+
! taken from Hurley et al. 2002, MNRAS, 329, 897, in agreement with
818+
! Boffin & Jorissen 1988, A&A, 205, 155.
819+
! The default for beta is 1/8=0.125 in accordance for results of cool
820+
! supergiants from Kucinskas A., 1999, Ap&SS, 262, 127
819821
! "\_1" refers to first star, "\_2" to the second one.
820822

821823
! ::
822824

823825
wind_BH_alpha_1 = 1.5d0
824826
wind_BH_alpha_2 = 1.5d0
827+
wind_BH_beta_1 = 1.25d-1
828+
wind_BH_beta_2 = 1.25d-1
825829

826830

827831
! max_wind_transfer_fraction_*

binary/private/binary_ctrls_io.f90

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,8 @@ module binary_ctrls_io
125125
do_wind_mass_transfer_2, &
126126
wind_BH_alpha_1, &
127127
wind_BH_alpha_2, &
128+
wind_BH_beta_1, &
129+
wind_BH_beta_2, &
128130
max_wind_transfer_fraction_1, &
129131
max_wind_transfer_fraction_2, &
130132

@@ -428,6 +430,8 @@ subroutine store_binary_controls(b, ierr)
428430
b% do_wind_mass_transfer_2 = do_wind_mass_transfer_2
429431
b% wind_BH_alpha_1 = wind_BH_alpha_1
430432
b% wind_BH_alpha_2 = wind_BH_alpha_2
433+
b% wind_BH_beta_1 = wind_BH_beta_1
434+
b% wind_BH_beta_2 = wind_BH_beta_2
431435
b% max_wind_transfer_fraction_1 = max_wind_transfer_fraction_1
432436
b% max_wind_transfer_fraction_2 = max_wind_transfer_fraction_2
433437

@@ -618,6 +622,8 @@ subroutine set_binary_controls_for_writing(b, ierr)
618622
do_wind_mass_transfer_2 = b% do_wind_mass_transfer_2
619623
wind_BH_alpha_1 = b% wind_BH_alpha_1
620624
wind_BH_alpha_2 = b% wind_BH_alpha_2
625+
wind_BH_beta_1 = b% wind_BH_beta_1
626+
wind_BH_beta_2 = b% wind_BH_beta_2
621627
max_wind_transfer_fraction_1 = b% max_wind_transfer_fraction_1
622628
max_wind_transfer_fraction_2 = b% max_wind_transfer_fraction_2
623629

binary/private/binary_wind.f90

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,8 @@ subroutine Bondi_Hoyle_wind_transfer(binary_id, s_i, ierr)
9494

9595
type(binary_info), pointer :: b
9696
type (star_info), pointer :: s
97-
real(dp) :: v_orb, v_wind, b_BH
98-
real(dp) :: alpha ! Bondi-Hoyle alpha for that star
97+
real(dp) :: v_orb, v_wind
98+
real(dp) :: alpha, beta ! Bondi-Hoyle alpha, beta for that star
9999
real(dp) :: max_xfer ! Maximum transfer fraction
100100

101101
call binary_ptr(binary_id, b, ierr)
@@ -107,18 +107,20 @@ subroutine Bondi_Hoyle_wind_transfer(binary_id, s_i, ierr)
107107
if (s_i == 1) then
108108
s => b% s1
109109
alpha = b% wind_BH_alpha_1
110+
beta = b% wind_BH_beta_1
110111
max_xfer = b% max_wind_transfer_fraction_1
111112
else
112113
s => b% s2
113114
alpha = b% wind_BH_alpha_2
115+
beta = b% wind_BH_beta_2
114116
max_xfer = b% max_wind_transfer_fraction_2
115117
end if
116118

117119
! orbital speed Hurley et al 2002 eq. 8
118-
v_orb = sqrt(standard_cgrav * b% m(s_i) / b% separation) !cm/s
120+
v_orb = sqrt(standard_cgrav * (b% m(1) + b% m(2)) / b% separation) !cm/s
119121

120122
! windspeed from Hurley et al 2002 eq. 9
121-
v_wind = sqrt( 2d0 / 8d0 * standard_cgrav * b% m(s_i) / b% r(s_i) )
123+
v_wind = sqrt(2d0 * beta * standard_cgrav * b% m(s_i) / b% r(s_i))
122124

123125
! Bondi-Hoyle transfer fraction Hurley et al. 2002 eq. 6
124126
b% wind_xfer_fraction(s_i) = alpha / pow2(b% separation) /&

binary/public/binary_controls.inc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ logical :: do_enhance_wind_1, do_enhance_wind_2
8484
real(dp) :: tout_B_wind_1, tout_B_wind_2
8585
logical :: do_wind_mass_transfer_1, do_wind_mass_transfer_2
8686
real(dp) :: wind_BH_alpha_1, wind_BH_alpha_2
87+
real(dp) :: wind_BH_beta_1, wind_BH_beta_2
8788
real(dp) :: max_wind_transfer_fraction_1, max_wind_transfer_fraction_2
8889

8990
! orbital jdot controls

binary/test_suite/wind_fed_bhhmxb/inlist_project

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222

2323
limit_retention_by_mdot_edd = .true.
2424
do_wind_mass_transfer_1 = .true.
25+
wind_BH_beta_1 = 1.25d-1 ! wind_BH_beta_1 = 7d0 ! 7 since donor is O star, using this value would make more sense, but we keep the default of 1/8
26+
! which results in wind accretion below and above the Eddington limit (which we want to test).
2527
do_jdot_mb = .false.
2628

2729
report_rlo_solver_progress = .true.

0 commit comments

Comments
 (0)