atomic_basis_type Derived Type

type, public :: atomic_basis_type

Atomic basis set data structure


Inherits

type~~atomic_basis_type~~InheritsGraph type~atomic_basis_type atomic_basis_type type~cgto_type cgto_type type~atomic_basis_type->type~cgto_type shells

Inherited by

type~~atomic_basis_type~~InheritedByGraph type~atomic_basis_type atomic_basis_type type~molecular_basis_type molecular_basis_type type~molecular_basis_type->type~atomic_basis_type elements type~physical_fragment_t physical_fragment_t type~physical_fragment_t->type~molecular_basis_type basis type~displaced_geometry_t displaced_geometry_t type~displaced_geometry_t->type~physical_fragment_t geometry

Components

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


Type-Bound Procedures

procedure, public :: allocate_shells => allocate_basis_shells

  • private pure subroutine allocate_basis_shells(self, nshells)

    Allocate array of shells in an atomic basis

    Arguments

    Type IntentOptional Attributes Name
    class(atomic_basis_type), intent(inout) :: self
    integer, intent(in) :: nshells

procedure, public :: destroy => atomic_basis_destroy

  • private pure subroutine atomic_basis_destroy(self)

    Clean up allocated memory in an atomic basis

    Arguments

    Type IntentOptional Attributes Name
    class(atomic_basis_type), intent(inout) :: self

procedure, public :: num_basis_functions => atomic_basis_num_basis_functions

Source Code

   type :: atomic_basis_type
      !! Atomic basis set data structure
      character(len=:), allocatable :: element
      !! element symbol
      type(cgto_type), allocatable :: shells(:)
      !! array of contracted shells
      integer :: nshells
      !! number of shells in type
   contains
      procedure :: allocate_shells => allocate_basis_shells
      procedure :: destroy => atomic_basis_destroy
      procedure :: num_basis_functions => atomic_basis_num_basis_functions
   end type atomic_basis_type