Cartesius Library
electronic_groups Module Reference

Data Types

type  electronic_group
 
type  electronic_group_array
 
type  electronic_group_ptr
 
type  slg_angle_representation
 Angle representation of the SLG amplitudes u^2 + v^2 + 2*w^2 = 1, where u and v are amplitudes on the right and left atom, respectively. u = cos(theta) * cos(phi), v = cos(theta) * sin(phi), w = z / sqrt(2) = sin(theta) / sqrt(2). More...
 

Functions/Subroutines

subroutine calculatedensitymatrix (group)
 
real function getelectronicdensityonorbital (group, someOrbital)
 
real function getelectronicdensitybetweentwoorbitals (group, someOrbital1, someOrbital2)
 
real function getelectronicdensityonatom (group, atom)
 
subroutine init_1e_density (elec_group)
 
subroutine init_1e_densitywptr (elec_group)
 
subroutine init_1e_densitywptr_from_preimage (im_group, pim_group)
 
subroutine init_slg_angles (elec_group)
 
subroutine update_1e_densitywptr_from_slg (elec_group)
 
subroutine calculateatomiccharges (group)
 
subroutine makeelectronicgroup (num, spin, orbitalMoment, Moment, someBasis, someAtoms, arrayBasis, arrayAtoms, someCoefficients, hamiltonian, newGroup)
 
subroutine getelectronicgrouparray (tree, groupArray)
 
subroutine grouplisttoarrayptr (group_list, group_array)
 
subroutine grouplisttoarray (group_list, group_array)
 
subroutine grouparrayptrtolist (group_array, group_list)
 Converts array of type electronic_group_ptr to list. More...
 
subroutine grouparraytolist (group_array, group_list)
 Converts array of type electronic_group_ptr to list. More...
 
subroutine getelectronicgrouplist (tree, groupList)
 
subroutine getelectronicgrouplist_node (tree, arg)
 
type(electronic_group) function, pointer group_from_polymorphic (x)
 Converts a polymorphic pointer to an electronic group pointer if possible, else returns a null-pointer. More...
 
subroutine searchatomsbybasis (someGroup)
 
subroutine putbasisfromlisttoarray (someGroup)
 
subroutine putbasisfromarraytolist (someGroup)
 
subroutine putatomsfromlisttoarray (someGroup)
 
subroutine putatomsfromarraytolist (someGroup)
 
type(electronic_group) function, pointer getorbitalparentelectronicgroup (orb)
 
type(list) function, pointer getatomelectronicgroups (pAtom)
 
subroutine deallocate_electronicgroup (pGroup)
 Deallocates an electronic group. More...
 

Variables

integer, parameter, public electronic_group_type_slg = 0
 
integer, parameter, public electronic_group_type_scf = 1
 

Function/Subroutine Documentation

◆ calculateatomiccharges()

subroutine electronic_groups::calculateatomiccharges ( type(electronic_group), intent(inout)  group)
Here is the call graph for this function:

◆ calculatedensitymatrix()

subroutine electronic_groups::calculatedensitymatrix ( type(electronic_group), intent(inout)  group)

◆ deallocate_electronicgroup()

subroutine electronic_groups::deallocate_electronicgroup ( class(*), intent(inout), pointer  pGroup)

Deallocates an electronic group.

Attention
DR 14.10.2021 Don't know what molecularOrbitals are used for. For now, decided to not deallocate them.

◆ getatomelectronicgroups()

type(list) function, pointer electronic_groups::getatomelectronicgroups ( type(particle), pointer  pAtom)
Here is the call graph for this function:

◆ getelectronicdensitybetweentwoorbitals()

real function electronic_groups::getelectronicdensitybetweentwoorbitals ( type(electronic_group), intent(inout)  group,
type(orbital), intent(in)  someOrbital1,
type(orbital), intent(in)  someOrbital2 
)
Here is the call graph for this function:

◆ getelectronicdensityonatom()

real function electronic_groups::getelectronicdensityonatom ( type(electronic_group), intent(inout)  group,
type(particle), intent(in)  atom 
)
Here is the call graph for this function:

◆ getelectronicdensityonorbital()

real function electronic_groups::getelectronicdensityonorbital ( type(electronic_group), intent(inout)  group,
type(orbital), intent(in)  someOrbital 
)
Here is the call graph for this function:

◆ getelectronicgrouparray()

subroutine electronic_groups::getelectronicgrouparray ( type(node), intent(inout)  tree,
type(electronic_group_array), intent(out)  groupArray 
)
Here is the call graph for this function:

◆ getelectronicgrouplist()

subroutine electronic_groups::getelectronicgrouplist ( type(node), intent(inout)  tree,
type(list), intent(out), target  groupList 
)
Here is the call graph for this function:

◆ getelectronicgrouplist_node()

subroutine electronic_groups::getelectronicgrouplist_node ( type(node), intent(inout)  tree,
class(*), intent(inout), pointer  arg 
)
Here is the call graph for this function:

◆ getorbitalparentelectronicgroup()

type(electronic_group) function, pointer electronic_groups::getorbitalparentelectronicgroup ( type(orbital), intent(in)  orb)

◆ group_from_polymorphic()

type(electronic_group) function, pointer electronic_groups::group_from_polymorphic ( class(*), intent(in), pointer  x)

Converts a polymorphic pointer to an electronic group pointer if possible, else returns a null-pointer.

◆ grouparrayptrtolist()

subroutine electronic_groups::grouparrayptrtolist ( type(electronic_group_ptr), dimension(:), intent(in)  group_array,
type(list), intent(out)  group_list 
)

Converts array of type electronic_group_ptr to list.

Here is the call graph for this function:

◆ grouparraytolist()

subroutine electronic_groups::grouparraytolist ( type(electronic_group_array), intent(in)  group_array,
type(list), intent(out)  group_list 
)

Converts array of type electronic_group_ptr to list.

Here is the call graph for this function:

◆ grouplisttoarray()

subroutine electronic_groups::grouplisttoarray ( type(list), intent(inout)  group_list,
type(electronic_group_array), intent(out)  group_array 
)
Here is the call graph for this function:

◆ grouplisttoarrayptr()

subroutine electronic_groups::grouplisttoarrayptr ( type(list), intent(inout)  group_list,
type(electronic_group_ptr), dimension(:), intent(out), allocatable  group_array 
)
Here is the call graph for this function:

◆ init_1e_density()

subroutine electronic_groups::init_1e_density ( type(electronic_group), intent(inout), target  elec_group)
Here is the call graph for this function:

◆ init_1e_densitywptr()

subroutine electronic_groups::init_1e_densitywptr ( type(electronic_group), intent(inout)  elec_group)
Here is the call graph for this function:

◆ init_1e_densitywptr_from_preimage()

subroutine electronic_groups::init_1e_densitywptr_from_preimage ( type(electronic_group), intent(inout)  im_group,
type(electronic_group), intent(in)  pim_group 
)
Here is the call graph for this function:

◆ init_slg_angles()

subroutine electronic_groups::init_slg_angles ( type(electronic_group), intent(inout), target  elec_group)
Here is the call graph for this function:

◆ makeelectronicgroup()

subroutine electronic_groups::makeelectronicgroup ( integer, intent(in), optional, pointer  num,
integer, intent(in), optional, pointer  spin,
integer, intent(in), optional, pointer  orbitalMoment,
integer, intent(in), optional, pointer  Moment,
type(list), intent(in), optional, pointer  someBasis,
type(list), intent(in), optional, pointer  someAtoms,
type (orbitalbasis), intent(in), optional, pointer  arrayBasis,
type(particlearray), intent(in), optional, pointer  arrayAtoms,
real, dimension (:), intent(in), optional, allocatable  someCoefficients,
real, dimension (:,:), intent(in), optional, allocatable  hamiltonian,
type(electronic_group), intent(out)  newGroup 
)

◆ putatomsfromarraytolist()

subroutine electronic_groups::putatomsfromarraytolist ( type(electronic_group), intent(inout)  someGroup)

◆ putatomsfromlisttoarray()

subroutine electronic_groups::putatomsfromlisttoarray ( type(electronic_group), intent(inout)  someGroup)

◆ putbasisfromarraytolist()

subroutine electronic_groups::putbasisfromarraytolist ( type(electronic_group), intent(inout)  someGroup)

◆ putbasisfromlisttoarray()

subroutine electronic_groups::putbasisfromlisttoarray ( type(electronic_group), intent(inout)  someGroup)

◆ searchatomsbybasis()

subroutine electronic_groups::searchatomsbybasis ( type(electronic_group), intent(inout)  someGroup)

◆ update_1e_densitywptr_from_slg()

subroutine electronic_groups::update_1e_densitywptr_from_slg ( type(electronic_group), intent(inout)  elec_group)

Variable Documentation

◆ electronic_group_type_scf

integer, parameter, public electronic_groups::electronic_group_type_scf = 1

◆ electronic_group_type_slg

integer, parameter, public electronic_groups::electronic_group_type_slg = 0