## Documentation for module spherical_harmonics

Calculate spherical harmonics

source: spherical_harmonics.F

clebsch_gordon
dy_lm
y_lm

#### public Subroutines/Functions:

...
SUBROUTINE
clebsch_gordon_init (l)
...
dlegendre (x, l, m)
...
legendre (x, l, m)
...

...

INTEGER,
INTENT(in)
:: l1 × ×
INTEGER,
INTENT(in)
:: m1 × ×
INTEGER,
INTENT(in)
:: l2 × ×
INTEGER,
INTENT(in)
:: m2 × ×
REAL(dp),
INTENT(out)
:: rlm(:,:) ×
REAL(dp),
INTENT(out)
:: clm(:) ×

...

REAL(dp),
INTENT(in)
:: c(2) × ×
REAL(dp),
INTENT(out)
:: dy(2) ×
COMPLEX(dp),
INTENT(out)
:: dy(2) ×
INTEGER,
INTENT(in)
:: l × ×
INTEGER,
INTENT(in)
:: m × ×

...

REAL(dp),
INTENT(in)
:: r(:,:) × ×
REAL(dp),
INTENT(in)
:: r(:) × ×
REAL(dp),
INTENT(out)
:: y(:) ×
REAL(dp),
INTENT(out)
:: y ×
COMPLEX(dp),
INTENT(out)
:: y(:) ×
COMPLEX(dp),
INTENT(out)
:: y ×
INTEGER,
INTENT(in)
:: l × × × ×
INTEGER,
INTENT(in)
:: m × × × ×

...

#### SUBROUTINEclebsch_gordon_init(l)^

...

##### Arguments:
 INTEGER, INTENT(in) :: l ...

#### FUNCTIONdlegendre(x, l, m)^

...

 Return Value :: REAL(dp)
##### Arguments:
 REAL(dp), INTENT(in) :: x ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### FUNCTIONlegendre(x, l, m)^

...

 Return Value :: REAL(dp)
##### Arguments:
 REAL(dp), INTENT(in) :: x ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### SUBROUTINEclebsch_gordon_real(l1, m1, l2, m2, rlm)^

...

##### Arguments:
 INTEGER, INTENT(in) :: l1 ... INTEGER, INTENT(in) :: m1 ... INTEGER, INTENT(in) :: l2 ... INTEGER, INTENT(in) :: m2 ... REAL(dp), INTENT(out) :: rlm(:,:) ...

#### SUBROUTINEclebsch_gordon_complex(l1, m1, l2, m2, clm)^

...

##### Arguments:
 INTEGER, INTENT(in) :: l1 ... INTEGER, INTENT(in) :: m1 ... INTEGER, INTENT(in) :: l2 ... INTEGER, INTENT(in) :: m2 ... REAL(dp), INTENT(out) :: clm(:) ...

#### SUBROUTINEdry_lm(c, dy, l, m)^

...

##### Arguments:
 REAL(dp), INTENT(in) :: c(2) ... REAL(dp), INTENT(out) :: dy(2) ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### SUBROUTINEdcy_lm(c, dy, l, m)^

...

##### Arguments:
 REAL(dp), INTENT(in) :: c(2) ... COMPLEX(dp), INTENT(out) :: dy(2) ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### SUBROUTINErvy_lm(r, y, l, m)^

...

##### Arguments:
 REAL(dp), INTENT(in) :: r(:,:) ... REAL(dp), INTENT(out) :: y(:) ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### SUBROUTINErry_lm(r, y, l, m)^

...

##### Arguments:
 REAL(dp), INTENT(in) :: r(:) ... REAL(dp), INTENT(out) :: y ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### SUBROUTINEcvy_lm(r, y, l, m)^

...

##### Arguments:
 REAL(dp), INTENT(in) :: r(:,:) ... COMPLEX(dp), INTENT(out) :: y(:) ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...

#### SUBROUTINEccy_lm(r, y, l, m)^

...

##### Arguments:
 REAL(dp), INTENT(in) :: r(:) ... COMPLEX(dp), INTENT(out) :: y ... INTEGER, INTENT(in) :: l ... INTEGER, INTENT(in) :: m ...