Wigner 3-j symbol , via the standard conversion from CGCOEFF: Inherits CGCOEFF's selection-rule guards -- safe to call with any integer sextuple, returning 0 for invalid combinations.
Returns: The Wigner 3-j symbol, real (0 if selection rules are violated).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer(kind=i4), | intent(in) | :: | J1 |
First angular momentum, . |
||
| integer(kind=i4), | intent(in) | :: | M1 |
First projection, . |
||
| integer(kind=i4), | intent(in) | :: | J2 |
Second angular momentum, . |
||
| integer(kind=i4), | intent(in) | :: | M2 |
Second projection, . |
||
| integer(kind=i4), | intent(in) | :: | J3 |
Third angular momentum, . |
||
| integer(kind=i4), | intent(in) | :: | M3 |
Third projection, . |
FUNCTION SYMBOL3J_DP(J1,M1,J2,M2,J3,M3) RESULT(SYMBOL3J) IMPLICIT NONE INTEGER(KIND=i4), INTENT(IN) :: J1 INTEGER(KIND=i4), INTENT(IN) :: M1 INTEGER(KIND=i4), INTENT(IN) :: J2 INTEGER(KIND=i4), INTENT(IN) :: M2 INTEGER(KIND=i4), INTENT(IN) :: J3 INTEGER(KIND=i4), INTENT(IN) :: M3 INTEGER(KIND=i4) :: K REAL(KIND=dp) :: TERM,CG,SYMBOL3J TERM = (-1)**(J3+M3+NINT(2.d0*J1))/DSQRT(2.d0*J3+1.d0) CG = CGCOEFF(J1,-M1,J2,-M2,J3,M3) SYMBOL3J = TERM*CG RETURN END FUNCTION SYMBOL3J_DP