-
Notifications
You must be signed in to change notification settings - Fork 103
/
shrotatecoef.3
120 lines (120 loc) · 4.38 KB
/
shrotatecoef.3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
.\" Automatically generated by Pandoc 3.1.3
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "shrotatecoef" "1" "2021-02-15" "Fortran 95" "SHTOOLS 4.11"
.hy
.SH SHRotateCoef
.PP
Determine the spherical harmonic coefficients of a real function
expressed in complex harmonics rotated by three Euler angles.
.SH Usage
.PP
call SHRotateCoef (\f[V]x\f[R], \f[V]coef\f[R], \f[V]rcoef\f[R],
\f[V]dj\f[R], \f[V]lmax\f[R], \f[V]exitstatus\f[R])
.SH Parameters
.TP
\f[V]x\f[R] : input, real(dp), dimension(3)
The three Euler angles, alpha, beta, and gamma, in radians.
.TP
\f[V]coef\f[R] : input, real(dp), dimension (2, (\f[V]lmax\f[R]+1)*(\f[V]lmax\f[R]+2)/2)
The input complex spherical harmonic coefficients of the real function.
This is an indexed array where the real and complex components are given
by \f[V]coef(1,:)\f[R] and \f[V]coef(2,:)\f[R], respectively.
The functions \f[V]SHCilmToCindex\f[R] and \f[V]SHCindexToCilm\f[R] are
used to convert to and from indexed and \f[V]cilm(2,:,:)\f[R] form.
The coefficients must correspond to unit-normalized spherical harmonics
that possess the Condon-Shortley phase convention.
.TP
\f[V]rcoef\f[R] : output, real(dp), dimension (2, (\f[V]lmax\f[R]+1)*(\f[V]lmax\f[R]+2)/2)
The spherical harmonic coefficients of the rotated function in indexed
form.
.TP
\f[V]dj\f[R] : input, real(dp), dimension (\f[V]lmax\f[R]+1, \f[V]lmax\f[R]+1, \f[V]lmax\f[R]+1)
The rotation matrix \f[V]dj(pi/2)\f[R] obtained from a call to
\f[V]djpi2\f[R].
.TP
\f[V]lmax\f[R] : input, integer(int32)
The maximum spherical harmonic degree of the input and output
coefficients.
.TP
\f[V]exitstatus\f[R] : output, optional, integer(int32)
If present, instead of executing a STOP when an error is encountered,
the variable exitstatus will be returned describing the error.
0 = No errors; 1 = Improper dimensions of input array; 2 = Improper
bounds for input variable; 3 = Error allocating memory; 4 = File IO
error.
.SH Description
.PP
\f[V]SHRotateCoef\f[R] will take the complex spherical harmonic
coefficients of a real function, rotate it according to the three Euler
anlges in \f[V]x\f[R], and output the spherical harmonic coefficients of
the rotated function.
The input and output coefficients are in an indexed form that can be
converted to and from \f[V]cilm(2,:,:)\f[R] form by using the functions
\f[V]SHCilmToCindex\f[R] and \f[V]SHCindexToCilm\f[R].
The coefficients must correspond to unit-normalized spherical harmonics
that possess the Condon-Shortley phase convention.
Real spherical harmonics can be converted to and from complex form using
\f[V]SHrtoc\f[R] and \f[V]SHctor\f[R].
The input rotation matrix \f[V]dj\f[R] is computed by a call to
\f[V]djpi2\f[R].
.PP
The rotation of a coordinate system or body can be viewed in two
complementary ways involving three successive rotations.
Both methods have the same initial and final configurations, and the
angles listed in both schemes are the same.
.PP
\f[V]Scheme A:\f[R]
.IP " (I)" 6
Rotation about the z axis by alpha.
.IP " (II)" 6
Rotation about the new y axis by beta.
.IP "(III)" 6
Rotation about the new z axis by gamma.
.PP
\f[V]Scheme B:\f[R]
.IP " (I)" 6
Rotation about the z axis by gamma.
.IP " (II)" 6
Rotation about the initial y axis by beta.
.IP "(III)" 6
Rotation about the initial z axis by alpha.
.PP
The rotations can further be viewed either as a rotation of the
coordinate system or the physical body.
For a rotation of the coordinate system without rotation of the physical
body, use
.PP
\f[V]x(alpha, beta, gamma)\f[R].
.PP
For a rotation of the physical body without rotation of the coordinate
system, use
.PP
\f[V]x(-gamma, -beta, -alpha)\f[R].
.PP
To perform the inverse transform of \f[V]x(alpha, beta, gamma)\f[R], use
\f[V]x(-gamma, -beta, -alpha)\f[R].
.PP
Note that this routine uses the \[lq]y convention\[rq], where the second
rotation is with respect to the new y axis.
If alpha, beta, and gamma were orginally defined in terms of the \[lq]x
convention\[rq], where the second rotation was with respect to the newx
axis, the Euler angles according to the y convention would be
\f[V]alpha_y=alpha_x-pi/2\f[R], \f[V]beta_x=beta_y\f[R], and
\f[V]gamma_y=gamma_x+pi/2\f[R].
.SH See also
.PP
djpi2, shrotaterealcoef, shctor, shrtoc, shcilmtocindex, shcindextocilm