Cartesius Library
operators_base.f90 File Reference

Data Types

type  operators_base::oneelectronicelement
 
type  operators_base::oneelectronicelement_w_ptr
 
type  operators_base::oneelectronicelement_so
 
type  operators_base::twoelectronicelement
 
type  operators_base::twoelectronicelement_so
 
interface  operators_base::oneElectronicOperator
 
interface  operators_base::oneElectronicOperator_so
 
interface  operators_base::oneElectronicOperatorWithArg
 
interface  operators_base::twoElectronicOperator
 
interface  operators_base::twoElectronicOperator_so
 
interface  operators_base::twoElectronicOperatorWithArg
 

Modules

module  operators_base
 

Functions/Subroutines

logical function, private operators_base::operators_should_expand (orb)
 Returns true if the orbital should be expanded further, ans false if it's ready for evaluation. More...
 
recursive real function operators_base::oneelectronicmatrixelement (orbital1, orbital2, one)
 Evaluates the one-electronic matrix element given by the provided operator. More...
 
recursive real function operators_base::oneelectronicmatrixelement_so (orbital1, orbital2, one)
 Evaluates the one-electronic spin-orbital matrix element given by the provided operator. More...
 
recursive real function operators_base::oneelectronicmatrixelementwitharg (arg, orbital1, orbital2, one)
 Evaluates the one-electronic matrix element given by the provided operator with some parameter. More...
 
real function operators_base::oneelectronicmatrixelement_hybrid (hybrid1, hybrid2, one)
 Calculates the element in a more efficient way. Must be called only when the orbitals are known to be hybrids. More...
 
real function operators_base::oneelectronicmatrixelement_hyb_or_generic (orbital1, orbital2, one, should_reduceAOs)
 Generic function to call different one-electronic element routines for hybrids and generic orbitals. More...
 
real function operators_base::generalize_local_2c1e_real (orbital1, orbital2, one_local)
 Generalizes all local two-center one-electronic matrix elements with real harmonics. More...
 
recursive real function operators_base::twoelectronicmatrixelement (orbital1, orbital2, orbital3, orbital4, two)
 Evaluates the two-electronic matrix element given by the provided operator. More...
 
recursive real function operators_base::twoelectronicmatrixelement_so (orbital1, orbital2, orbital3, orbital4, two)
 Evaluates the two-electronic spin-orbital matrix element given by the provided operator. More...
 
recursive real function operators_base::twoelectronicmatrixelementwitharg (arg, orbital1, orbital2, orbital3, orbital4, two)
 Evaluates the two-electronic spin-orbital matrix element given by the provided operator given some integer parameter. More...
 
real function operators_base::generalize_local_2c2e_real (orbital1, orbital2, orbital3, orbital4, two_local)
 
subroutine operators_base::calculateoneelectronictable (basis, isRecursive)
 
real function operators_base::oneelectronicintegralfromtable (orbital1, orbital2)
 
subroutine operators_base::calculateoneelectronictable_so (basis, isRecursive)
 
real function operators_base::oneelectronicintegralfromtable_so (orbital1, orbital2)
 
subroutine operators_base::calculatetwoelectronictable (basis, isRecursive)
 
real function operators_base::twoelectronicintegralfromtable (orbital1, orbital2, orbital3, orbital4)
 
subroutine operators_base::calculatetwoelectronictable_so (basis, isRecursive)
 
real function operators_base::twoelectronicintegralfromtable_so (orbital1, orbital2, orbital3, orbital4)
 

Variables

type(oneelectronicelement), dimension(:,:), allocatable, public operators_base::oneelectronictable
 
type(twoelectronicelement), dimension(:,:,:,:), allocatable, public operators_base::twoelectronictable
 
type(oneelectronicelement_so), dimension(:,:), allocatable, public operators_base::oneelectronictable_so
 
type(twoelectronicelement_so), dimension(:,:,:,:), allocatable, public operators_base::twoelectronictable_so
 
procedure(oneelectronicoperator), pointer, public operators_base::currentoneelectronicoperator => NULL()
 
procedure(twoelectronicoperator), pointer, public operators_base::currenttwoelectronicoperator => NULL()
 
procedure(oneelectronicoperator_so), pointer, public operators_base::currentoneelectronicoperator_so => NULL()
 
procedure(twoelectronicoperator_so), pointer, public operators_base::currenttwoelectronicoperator_so => NULL()
 
logical, public operators_base::reduceaostoprimitives = .TRUE.
 
logical, public operators_base::operator_local = .true.
 Specifies whether the current calculation should be done in local or laboratory frame. Exists to prevent code duplication. Should be changed only when directly calling locality-dependent function or a generic recursive subroutine. More...