Defines data structures for cartesian contracted Gaussian type orbitals (CGTOs)
Atomic basis set data structure
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=:), | public, | allocatable | :: | element |
element symbol |
||
| integer, | public | :: | nshells |
number of shells in type |
|||
| type(cgto_type), | public, | allocatable | :: | shells(:) |
array of contracted shells |
| procedure, public :: allocate_shells => allocate_basis_shells | |
| procedure, public :: destroy => atomic_basis_destroy | |
| procedure, public :: num_basis_functions => atomic_basis_num_basis_functions |
Contracted Gaussian type orbital (CGTO) data structure
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | ang_mom |
Angular momentum quantum number (0=s, 1=p, 2=d, etc.) |
|||
| real(kind=dp), | public, | allocatable | :: | coefficients(:) |
Contraction coefficients |
||
| real(kind=dp), | public, | allocatable | :: | exponents(:) |
Exponents (alpha values) |
||
| integer, | public | :: | nfunc |
Number of primitive Gaussians in the contraction |
| procedure, public :: allocate_arrays => cgto_allocate_arrays | |
| procedure, public :: destroy => cgto_destroy | |
| procedure, public :: num_basis_functions => cgto_num_basis_functions |
Molecular basis set data structure (assembled basis)
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(atomic_basis_type), | public, | allocatable | :: | elements(:) |
array of atomic basis types |
||
| integer, | public | :: | nelements |
total number of atoms/elements in a molecule |
| procedure, public :: allocate_elements => basis_set_allocate_elements | |
| procedure, public :: destroy => basis_set_destroy | |
| procedure, public :: num_basis_functions => molecular_basis_num_basis_functions |
Get total number of basis functions for an atom
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(atomic_basis_type), | intent(in) | :: | self |
Get number of basis functions in a shell (Cartesian)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cgto_type), | intent(in) | :: | self |
Get total number of basis functions for the molecule
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(molecular_basis_type), | intent(in) | :: | self |
Allocate array of shells in an atomic basis
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(atomic_basis_type), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | nshells |
Clean up allocated memory in an atomic basis
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(atomic_basis_type), | intent(inout) | :: | self |
Allocate array of atomic basis elements in a molecular basis set
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(molecular_basis_type), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | nelements |
Clean up allocated memory in a molecular basis set
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(molecular_basis_type), | intent(inout) | :: | self |
Allocate arrays for exponents and coefficients in a CGTO
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cgto_type), | intent(inout) | :: | self | |||
| integer, | intent(in) | :: | nfunc |
Clean up allocated memory in a CGTO
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(cgto_type), | intent(inout) | :: | self |