returns the Wigner 3j symbol via explicit calculation. These should probably be precomputed, but this works for now. The WignerSymbol-f repo seems like a good implementation. The wigner repo by ogorton takes up way too much memory for the high partial waves because it tries to allocate (2N+1)^6 doubles. NOTE: for the high partial wave, we know that we'll only need values with m1 = m2 = m3 = 0, so take advantage of this ?
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | dj1 |
twice the angular momenta j |
||
| integer, | intent(in) | :: | dj2 |
twice the angular momenta j |
||
| integer, | intent(in) | :: | dj3 |
twice the angular momenta j |
||
| integer, | intent(in) | :: | dm1 |
twice the angular momenta m |
||
| integer, | intent(in) | :: | dm2 |
twice the angular momenta m |
||
| integer, | intent(in) | :: | dm3 |
twice the angular momenta m |
the result