All things related to symmetry
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public, | allocatable, save | :: | m_parity(:) |
Array containing the parity (1/even or -1/odd) of an electronic channel based on its label m. This array is indexed by m directly. This is only for calculation in the Cs point group |
||
| integer, | public, | parameter | :: | Ap | = | 1 | |
| integer, | public, | parameter | :: | App | = | 2 | |
| integer, | public, | parameter | :: | Ag | = | 1 | |
| integer, | public, | parameter | :: | Au | = | 2 | |
| integer, | public, | parameter | :: | Bg | = | 3 | |
| integer, | public, | parameter | :: | Bu | = | 4 | |
| integer, | public, | parameter | :: | A | = | 1 | |
| integer, | public, | parameter | :: | A1 | = | 1 | |
| integer, | public, | parameter | :: | A2 | = | 4 | |
| integer, | public, | parameter | :: | B | = | 2 | |
| integer, | public, | parameter | :: | B1 | = | 2 | |
| integer, | public, | parameter | :: | B2 | = | 3 | |
| integer, | public, | parameter | :: | B3 | = | 4 | |
| integer, | public, | parameter | :: | B1g | = | 3 | |
| integer, | public, | parameter | :: | B1u | = | 4 | |
| integer, | public, | parameter | :: | B2g | = | 5 | |
| integer, | public, | parameter | :: | B2u | = | 6 | |
| integer, | public, | parameter | :: | B3g | = | 7 | |
| integer, | public, | parameter | :: | B3u | = | 8 | |
| integer, | public, | parameter | :: | even | = | 1 | |
| integer, | public, | parameter | :: | odd | = | -1 |
Test if two rotational channels respect ortho/para symmetry
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(asymtop_rot_channel_type), | intent(in) | :: | channel1 | |||
| type(asymtop_rot_channel_type), | intent(in) | :: | channel2 | |||
| integer, | intent(in) | :: | spin_isomer_kind | |||
| character(len=1), | intent(in) | :: | symaxis |
Determine if the transition Nlo,Kalo,Kclo -> Nup,Kaup,Kcup is allowed by nuclear spin symmetry selection rules
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nlo | |||
| integer, | intent(in) | :: | kalo | |||
| integer, | intent(in) | :: | kclo | |||
| integer, | intent(in) | :: | nup | |||
| integer, | intent(in) | :: | kaup | |||
| integer, | intent(in) | :: | kcup | |||
| integer, | intent(in) | :: | kind | |||
| character(len=1), | intent(in) | :: | symaxis |
Test if two rotational channels respect ortho/para symmetry
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(asymtop_rot_channel_type), | intent(in) | :: | channel1 | |||
| type(asymtop_rot_channel_type), | intent(in) | :: | channel2 | |||
| integer, | intent(in) | :: | spin_isomer_kind | |||
| character(len=1), | intent(in) | :: | symaxis |
Determine if the transition Nlo,Kalo,Kclo -> Nup,Kaup,Kcup is forbidden by nuclear spin symmetry selection rules
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | nlo | |||
| integer, | intent(in) | :: | kalo | |||
| integer, | intent(in) | :: | kclo | |||
| integer, | intent(in) | :: | nup | |||
| integer, | intent(in) | :: | kaup | |||
| integer, | intent(in) | :: | kcup | |||
| integer, | intent(in) | :: | kind | |||
| character(len=1), | intent(in) | :: | symaxis |
Return the number of elements in point_group
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | point_group |
Given an irrep index in point_group, return the name of the corresponding irrep
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | irrep | |||
| character(len=*), | intent(in) | :: | point_group |
Returns an array of possible spin symmetry values
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | kind |
Returns the spin symmetry of the current N, Ka, Kc state
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | ka | |||
| integer, | intent(in) | :: | kc | |||
| integer, | intent(in) | :: | kind | |||
| character(len=1), | intent(in) | :: | symaxis |
Given the point group, output an array containing the names of the irreps in the supplied point_group. Only Abelian point groups are considered. Irreps in the code will be referred to by their indicies
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | point_group | |||
| character(len=:), | intent(out), | allocatable | :: | irreps(:) |