|
GBTOlib: library for evaluation of molecular integrals in mixed Gaussian / B-spline basis 111
|
Data Types | |
| module | geometry_obj |
| Input data for the symmetry_objinit routine. More... | |
| module | symmetry_obj |
| This structure holds all necessary symmetry information on the symmetry of the molecule that can be used in the integral calculation. More... | |
Functions/Subroutines | |
| integer function | check_geometry_obj (this) |
| integer function, public | determine_pg (no_sym_op, sym_op, print_to_stdout) |
| Find point group by symmetry operations. | |
| integer function, public | Xlm_mgvn (n, s, l, m) |
| Get (zero-based) irreducible representation of a real spherical harmonic. | |
| logical function, public | is_centre_symmetric (centre, no_sym_op, sym_op) |
| Check if centre is symmetric w.r.t the symmetry operations. | |
| integer function symmetry_gbl::check_geometry_obj | ( | class(geometry_obj) | this | ) |

| integer function, public symmetry_gbl::determine_pg | ( | integer | no_sym_op, |
| character(len=sym_op_nam_len), dimension(3) | sym_op, | ||
| logical, optional | print_to_stdout ) |
Find point group by symmetry operations.
Returns the group identifier as defined in "const.f90", based on the set of symmetry operations passed as arguments (each one of 'X', 'Y', 'Z', 'XY', 'YZ', 'XZ', 'XYZ', indicating simple and combined plane reflections that produce no extra sign).
| no_sym_op | Number of symmetry operations set in sym_op. |
| sym_op | A triplet of strings, of which only no_sym_op need to be set. |
| print_to_stdout | Print the group name to stdout. |

| logical function, public symmetry_gbl::is_centre_symmetric | ( | real(cfp), dimension(3), intent(in) | centre, |
| integer, intent(in) | no_sym_op, | ||
| character(len=sym_op_nam_len), dimension(:), intent(in) | sym_op ) |
Check if centre is symmetric w.r.t the symmetry operations.
Given that all symmetry operations in UKRmol+ are composed of axis inversions, the check needs to verify simply that whenever a specific axis inversion is included in any composed symmetry operation, the corresponding component of centre position is zero.
| integer function, public symmetry_gbl::Xlm_mgvn | ( | integer, intent(in) | n, |
| character(len=sym_op_nam_len), dimension(:), intent(in) | s, | ||
| integer, intent(in) | l, | ||
| integer, intent(in) | m ) |
Get (zero-based) irreducible representation of a real spherical harmonic.
We use the symmetry properties of the real spherical harmonics. Assuming that X, Y and Z are mirror operations by coordinate planes orthogonal to the given axes, i.e.,
the symmetry properties of the real spherical harmonics are:
Of these, only the specified symmetry elements are used. The relevant characters of the supported groups are the following (consistent with Molpro convention):
To maintain a predictable pattern in these tables, the symmetry operations have to be sorted by length (i.e. 'Z' first, then 'XY') and by alphabet ('X' first, then 'Y').