Nbody6
 All Files Functions Variables
const.f
Go to the documentation of this file.
1  SUBROUTINE const(X,XD,M,NB,ENERGY,G,ALAG)
2 *
3 *
4 * Constants of motion.
5 * --------------------
6 *
7  IMPLICIT REAL*8 (a-h,m,o-z)
8  REAL*8 x(3*nb),xd(3*nb),g(3),m(nb)
9 *
10 *
11  t=0.0
12  ug=0.0
13 * Suppress external potential (not used here).
14 * CALL XTRNLU(X,M,NB,UG)
15  u=ug
16  g(1)=0.
17  g(2)=0.
18  g(3)=0.
19 *
20  DO 10 i=1,nb
21  k1=3*(i-1)+1
22  k2=k1+1
23  k3=k2+1
24  t=t+.5d0*m(i)*(xd(k1)**2+xd(k2)**2+xd(k3)**2)
25  g(1)=g(1)+m(i)*(x(k2)*xd(k3)-x(k3)*xd(k2))
26  g(2)=g(2)-m(i)*(x(k1)*xd(k3)-x(k3)*xd(k1))
27  g(3)=g(3)+m(i)*(x(k1)*xd(k2)-x(k2)*xd(k1))
28  IF(i.EQ.nb)go to 10
29  j1=i+1
30  DO 9 j=j1,nb
31  ki=3*(i-1)
32  kj=3*(j-1)
33  r2=0.
34  DO 8 k=1,3
35  ki=ki+1
36  kj=kj+1
37  r2=r2+(x(ki)-x(kj))**2
38 8 CONTINUE
39  u=u+m(i)*m(j)/sqrt(r2)
40 9 CONTINUE
41 10 CONTINUE
42 *
43 * Form the total energy and Lagrangean energy.
44  energy=t-u
45  alag=t+u
46 *
47  RETURN
48  END