Nbody6
 All Files Functions Variables
kick2.f
Go to the documentation of this file.
1  SUBROUTINE kick2(I)
2 *
3 *
4 * Velocity kick for Roche WD, NS & BH stars.
5 * ------------------------------------------
6 *
7  include 'common6.h'
8 *
9 *
10 * Randomize orbital phase and set disruption velocity in routine KICK.
11  kspair = kvec(i)
12  jpair = -kspair
13  kstar(i) = -kstar(i)
14  CALL ksapo(jpair)
15 *
16 * Update the physical variables for termination.
17  CALL resolv(kspair,2)
18 *
19 * Specify new single star location and terminate regularization.
20  i = i + 2*(npairs - kspair)
21  iphase = 2
22  jcomp = 0
23  CALL ksterm
24 *
25 * Implement kick velocity for single component (mass loss in ROCHE).
26  kw = kstar(i)
27  CALL kick(i,1,kw,0.0d0)
28 *
29 * Copy block-step time to prevent SMALL STEP problem (19/3/12).
30  time = tblock
31 *
32 * Re-initialize the KS regularization.
33  icomp = ifirst
34  jcomp = ifirst + 1
35  iphase = 1
36  CALL ksreg
37 *
38 * Check neighbour step reduction to compensate for velocity increase.
39  nnb = ilist(1)
40  DO 10 l = 2,nnb+1
41  j = ilist(l)
42  IF (t0(j) + 0.5*step(j).GT.time) THEN
43  step(j) = 0.5*step(j)
44  tnew(j) = t0(j) + step(j)
45  END IF
46  10 CONTINUE
47 *
48 * Specify negative index for new particle sequence.
49  iphase = -1
50 *
51  RETURN
52 *
53  END