NLSL
caldlm.f90
Go to the documentation of this file.
1 c VERSION 1.0 12/17/88
2 c**********************************************************************
3 c
4 c 2
5 c Calculate d (beta) as in "Angular Momentum" by Brink and
6 c k,m
7 c Satchler, p.24 ,second ed., Clarendon Press, Oxford (1979).
8 c Beta is specified in degrees.
9 c
10 c 2
11 c note : dlm(i+3,j+3)=d (psi)
12 c i,j
13 c
14 c written by DJS 11-SEP-87
15 c
16 c Includes:
17 c rndoff.inc
18 c pidef.inc
19 c
20 c Uses:
21 c
22 c**********************************************************************
23 c
24  subroutine caldlm(d2km,beta)
25 c
26  use pidef
27  use rnddbl
28 c
29  double precision beta,d2km
30  dimension d2km(5,5)
31 c
32  double precision dsq32,dsq38,c,sn,sn2,cs,cs2
33 c
34 c######################################################################
35 c
36  dsq32=dsqrt(3.0d0/2.0d0)
37  dsq38=dsqrt(3.0d0/8.0d0)
38 c
39  if (dabs(beta).lt.rndoff) then
40  sn=0.0d0
41  sn2=0.0d0
42  cs=1.0d0
43  cs2=1.0d0
44  else if (dabs(90.0d0-beta).lt.rndoff) then
45  sn=1.0d0
46  sn2=1.0d0
47  cs=0.0d0
48  cs2=0.0d0
49  else
50  c=beta*pi/180.0d0
51  sn=dsin(c)
52  sn2=sn*sn
53  cs=dcos(c)
54  cs2=cs*cs
55  end if
56 c
57  d2km(5,5)=0.25d0*(1.0d0+cs)*(1.0d0+cs)
58  d2km(1,1)=d2km(5,5)
59 c
60  d2km(5,4)=-0.5d0*sn*(1.0d0+cs)
61  d2km(4,5)=-d2km(5,4)
62  d2km(1,2)=-d2km(5,4)
63  d2km(2,1)=d2km(5,4)
64 c
65  d2km(5,3)=dsq38*sn2
66  d2km(3,5)=d2km(5,3)
67  d2km(1,3)=d2km(5,3)
68  d2km(3,1)=d2km(5,3)
69 c
70  d2km(5,2)=0.5d0*sn*(cs-1.0d0)
71  d2km(4,1)=d2km(5,2)
72  d2km(1,4)=-d2km(5,2)
73  d2km(2,5)=-d2km(5,2)
74 c
75  d2km(5,1)=(0.5d0*(1.0d0-cs))**2
76  d2km(1,5)=d2km(5,1)
77 c
78  d2km(4,4)=0.5d0*(2.0d0*cs-1.0d0)*(cs+1.0d0)
79  d2km(2,2)=d2km(4,4)
80 c
81  d2km(4,2)=0.5d0*(2.0d0*cs+1.0d0)*(1.0d0-cs)
82  d2km(2,4)=d2km(4,2)
83 c
84  d2km(4,3)=-dsq32*sn*cs
85  d2km(3,2)=d2km(4,3)
86  d2km(3,4)=-d2km(4,3)
87  d2km(2,3)=-d2km(4,3)
88 c
89  d2km(3,3)=0.5d0*(3.0d0*cs2-1.0d0)
90 c
91 c----------------------------------------------------------------------
92 c return to calling program
93 c----------------------------------------------------------------------
94 c
95  return
96  end
subroutine caldlm(d2km, beta)
Definition: caldlm.f90:25
double precision, parameter pi
Definition: pidef.f90:15
double precision, parameter rndoff
Definition: rnddbl.f90:86
Definition: pidef.f90:12