@@ -188,6 +188,7 @@ subroutine binarydata_init(b, doing_restart)
188
188
b% CE_lambda2 = 0d0
189
189
b% CE_Ebind1 = 0d0
190
190
b% CE_Ebind2 = 0d0
191
+ b% mtransfer_rate = 0
191
192
192
193
b% num_tries = 0
193
194
@@ -337,6 +338,11 @@ integer function binary_evolve_step(b)
337
338
b% eccentricity = b% eccentricity + get_edot(b) * b% time_step* secyer
338
339
if (b% eccentricity < b% min_eccentricity) b% eccentricity = b% min_eccentricity
339
340
if (b% eccentricity > b% max_eccentricity) b% eccentricity = b% max_eccentricity
341
+ else
342
+ b% edot_tidal = 0d0
343
+ b% edot_enhance = 0d0
344
+ b% extra_edot = 0d0
345
+ b% edot = 0d0
340
346
end if
341
347
342
348
! use new eccentricity to calculate new time coordinate
@@ -504,17 +510,19 @@ integer function binary_finish_step(b)
504
510
505
511
binary_finish_step = keep_going
506
512
! update change factor in case mtransfer_rate has changed
507
- if (b% mtransfer_rate_old /= b% mtransfer_rate .and. &
508
- b% mtransfer_rate /= 0 .and. b% mtransfer_rate_old /= 0 ) then
509
- if (b% mtransfer_rate < b% mtransfer_rate_old) then
510
- b% change_factor = b% change_factor* (1d0 - b% implicit_lambda) + b% implicit_lambda* &
511
- (1 + b% change_factor_fraction* (b% mtransfer_rate/ b% mtransfer_rate_old-1 ))
512
- else
513
- b% change_factor = b% change_factor* (1d0 - b% implicit_lambda) + b% implicit_lambda* &
514
- (1 + b% change_factor_fraction* (b% mtransfer_rate_old/ b% mtransfer_rate-1 ))
513
+ if (.not. b% doing_first_model_of_run) then
514
+ if (b% mtransfer_rate_old /= b% mtransfer_rate .and. &
515
+ b% mtransfer_rate /= 0 .and. b% mtransfer_rate_old /= 0 ) then
516
+ if (b% mtransfer_rate < b% mtransfer_rate_old) then
517
+ b% change_factor = b% change_factor* (1d0 - b% implicit_lambda) + b% implicit_lambda* &
518
+ (1 + b% change_factor_fraction* (b% mtransfer_rate/ b% mtransfer_rate_old-1 ))
519
+ else
520
+ b% change_factor = b% change_factor* (1d0 - b% implicit_lambda) + b% implicit_lambda* &
521
+ (1 + b% change_factor_fraction* (b% mtransfer_rate_old/ b% mtransfer_rate-1 ))
522
+ end if
523
+ if (b% change_factor > b% max_change_factor) b% change_factor = b% max_change_factor
524
+ if (b% change_factor < b% min_change_factor) b% change_factor = b% min_change_factor
515
525
end if
516
- if (b% change_factor > b% max_change_factor) b% change_factor = b% max_change_factor
517
- if (b% change_factor < b% min_change_factor) b% change_factor = b% min_change_factor
518
526
end if
519
527
520
528
! store all variables into "old"
0 commit comments