Cartesius Library
configurations Module Reference

the module to work with configurations taken as Slater determinants of spin-orbitals. More...

Data Types

type  configuration
 Derived type describing configuration as a single Slater determinant, which is a set of occupied spin-orbitals. More...
 

Functions/Subroutines

subroutine conf_list_to_array (conf)
 Function to transform list of spin-orbitals in a configuration to array. More...
 
subroutine conf_array_to_list (conf)
 Function to transform array of spin-orbitals in a configuration to list. More...
 
subroutine find_differing_so_conf (conf1, conf2, numdiff, ar1, ar2)
 Finds differing spin-orbitals for two configurations. If the number of differing orbitals exceeds 2, then the function will return "numdiff=3" and immediately exit, since for such configurations CI matrix element always vanishes. More...
 
integer function configuration_total_multiplicity (conf)
 Function calculating total multiplicity (2*S+1) of the given configuration. More...
 
subroutine gettypeofconfiguration (conf, typeOf)
 Auxiliary function required for EHCF method applied to df-elements. Defines a type of configuration - if it consists from d-, f- or both df-orbitals. More...
 
subroutine generate_all_configurations (numberOfElectrons, basis, configurations)
 Function to generate all configurations for the given number of electrons and given basis set. More...
 
recursive subroutine writespinorbitalstoconfigurations (spinOrbits, configurations, array, n, k)
 Auxiliary function for "generate_all_configurations". More...
 
subroutine getexpansioncoefficients (conf, coefficients)
 
subroutine deallocate_configuration (pConfiguration)
 Deallocates a configuration: dissolves the spinOrbitals list, doesn't touch any of the values. More...
 

Detailed Description

the module to work with configurations taken as Slater determinants of spin-orbitals.

Author
Ilya Popov, additions - Dmitri Raenko

Function/Subroutine Documentation

◆ conf_array_to_list()

subroutine configurations::conf_array_to_list ( class(configuration), intent(inout)  conf)

Function to transform array of spin-orbitals in a configuration to list.

◆ conf_list_to_array()

subroutine configurations::conf_list_to_array ( class(configuration), intent(inout)  conf)

Function to transform list of spin-orbitals in a configuration to array.

◆ configuration_total_multiplicity()

integer function configurations::configuration_total_multiplicity ( type(configuration), intent(inout)  conf)

Function calculating total multiplicity (2*S+1) of the given configuration.

Here is the call graph for this function:

◆ deallocate_configuration()

subroutine configurations::deallocate_configuration ( class(*), intent(inout), pointer  pConfiguration)

Deallocates a configuration: dissolves the spinOrbitals list, doesn't touch any of the values.

◆ find_differing_so_conf()

subroutine configurations::find_differing_so_conf ( type(configuration), intent(inout)  conf1,
type(configuration), intent(inout)  conf2,
integer, intent(out)  numdiff,
type(spinorbital_ptr), dimension(:), intent(out), allocatable  ar1,
type(spinorbital_ptr), dimension(:), intent(out), allocatable  ar2 
)

Finds differing spin-orbitals for two configurations. If the number of differing orbitals exceeds 2, then the function will return "numdiff=3" and immediately exit, since for such configurations CI matrix element always vanishes.

◆ generate_all_configurations()

subroutine configurations::generate_all_configurations ( integer, intent(in)  numberOfElectrons,
type(orbitalbasis), intent(in)  basis,
type(configuration), dimension(:), intent(out), allocatable  configurations 
)

Function to generate all configurations for the given number of electrons and given basis set.

Here is the call graph for this function:

◆ getexpansioncoefficients()

subroutine configurations::getexpansioncoefficients ( type (configuration), intent(in)  conf,
type(orbitalexpansioncoefficient), dimension(:,:), intent(out), allocatable  coefficients 
)

◆ gettypeofconfiguration()

subroutine configurations::gettypeofconfiguration ( type(configuration), intent(inout)  conf,
character(len=2), intent(out)  typeOf 
)

Auxiliary function required for EHCF method applied to df-elements. Defines a type of configuration - if it consists from d-, f- or both df-orbitals.

◆ writespinorbitalstoconfigurations()

recursive subroutine configurations::writespinorbitalstoconfigurations ( type(spinorbital), dimension(:), intent(inout), target  spinOrbits,
type(configuration), dimension(:), intent(inout)  configurations,
integer, dimension(:), intent(inout)  array,
integer, intent(inout)  n,
integer, intent(inout)  k 
)

Auxiliary function for "generate_all_configurations".

Here is the call graph for this function: