Cartesius Library
electronic_groups::electronic_group Type Reference

Public Attributes

integer, pointer numberofelectrons => NULL()
 
integer, pointer totalspin => NULL()
 
integer, pointer multiplicity => NULL()
 
integer, pointer totalorbitalmoment => NULL()
 
integer, pointer totalmoment => NULL()
 
type(list), pointer basis => NULL()
 
type(list), pointer atoms => NULL()
 
type(orbitalbasis), pointer molecularorbitals => NULL()
 
type(orbitalbasis), pointer basisarray => NULL()
 
type(particlearray), pointer atomsarray => NULL()
 
type(configuration), dimension(:), allocatable configurations
 
real, dimension(:), allocatable expansioncoefficients
 
type(oneelectronicelement), dimension(:,:), allocatable oneelectronicdensity
 
type(twoelectronicelement), dimension(:,:,:,:), allocatable twoelectronicdensity
 
type(oneelectronicelement_w_ptr), dimension(:,:), allocatable oneelectronicdensitywptr
 
type(slg_angle_representation), allocatable slg_angles
 
real, dimension(:,:), allocatable hamiltonian
 
real, dimension(:,:), allocatable fockian
 
integer type
 
character(len=:), allocatable id
 

Detailed Description

Note
It's comfortable to use lists for working with orbitals and bases, but for calculations we use the orbital basis as an array. So we introduce two possibilities to write orbital basis: as a list and as array. In this module we have functions for conversion from one reperesentation into another. If we don't need a representation we can just nullify the appropriate pointer.

Member Data Documentation

◆ atoms

type(list), pointer electronic_groups::electronic_group::atoms => NULL()

◆ atomsarray

type(particlearray), pointer electronic_groups::electronic_group::atomsarray => NULL()

◆ basis

type(list), pointer electronic_groups::electronic_group::basis => NULL()

◆ basisarray

type(orbitalbasis), pointer electronic_groups::electronic_group::basisarray => NULL()

◆ configurations

type(configuration), dimension(:), allocatable electronic_groups::electronic_group::configurations

◆ expansioncoefficients

real, dimension (:), allocatable electronic_groups::electronic_group::expansioncoefficients

◆ fockian

real, dimension(:,:), allocatable electronic_groups::electronic_group::fockian

◆ hamiltonian

real, dimension(:,:), allocatable electronic_groups::electronic_group::hamiltonian

◆ id

character(len=:), allocatable electronic_groups::electronic_group::id

◆ molecularorbitals

type (orbitalbasis), pointer electronic_groups::electronic_group::molecularorbitals => NULL()

◆ multiplicity

integer, pointer electronic_groups::electronic_group::multiplicity => NULL()

◆ numberofelectrons

integer, pointer electronic_groups::electronic_group::numberofelectrons => NULL()

◆ oneelectronicdensity

type(oneelectronicelement), dimension(:,:), allocatable electronic_groups::electronic_group::oneelectronicdensity

◆ oneelectronicdensitywptr

type(oneelectronicelement_w_ptr), dimension(:,:), allocatable electronic_groups::electronic_group::oneelectronicdensitywptr

◆ slg_angles

type(slg_angle_representation), allocatable electronic_groups::electronic_group::slg_angles

◆ totalmoment

integer, pointer electronic_groups::electronic_group::totalmoment => NULL()

◆ totalorbitalmoment

integer, pointer electronic_groups::electronic_group::totalorbitalmoment => NULL()
Todo:
Phase out totalSpin. when it is used nowhere, delete the totalSpin field

◆ totalspin

integer, pointer electronic_groups::electronic_group::totalspin => NULL()
Todo:
DR 30.09.2021 In every mention of totalSpin change it to Multiplicity = totalSpin+1 and make sure they are different by 1 everywhere in the code.

◆ twoelectronicdensity

type(twoelectronicelement), dimension(:,:,:,:), allocatable electronic_groups::electronic_group::twoelectronicdensity

◆ type

integer electronic_groups::electronic_group::type

The documentation for this type was generated from the following file: