molecular_basis_type Derived Type

type, public :: molecular_basis_type

Molecular basis set data structure (assembled basis)


Inherits

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

Inherited by

type~~molecular_basis_type~~InheritedByGraph type~molecular_basis_type molecular_basis_type 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
type(atomic_basis_type), public, allocatable :: elements(:)

array of atomic basis types

integer, public :: nelements

total number of atoms/elements in a molecule


Type-Bound Procedures

procedure, public :: allocate_elements => basis_set_allocate_elements

  • private pure subroutine basis_set_allocate_elements(self, nelements)

    Allocate array of atomic basis elements in a molecular basis set

    Arguments

    Type IntentOptional Attributes Name
    class(molecular_basis_type), intent(inout) :: self
    integer, intent(in) :: nelements

procedure, public :: destroy => basis_set_destroy

  • private pure subroutine basis_set_destroy(self)

    Clean up allocated memory in a molecular basis set

    Arguments

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

procedure, public :: num_basis_functions => molecular_basis_num_basis_functions

Source Code

   type :: molecular_basis_type
      !! Molecular basis set data structure (assembled basis)
      type(atomic_basis_type), allocatable :: elements(:)
      !! array of atomic basis types
      integer :: nelements
      !! total number of atoms/elements in a molecule
   contains
      procedure :: allocate_elements => basis_set_allocate_elements
      procedure :: destroy => basis_set_destroy
      procedure :: num_basis_functions => molecular_basis_num_basis_functions
   end type molecular_basis_type