(git:db3ef62)
qs_o3c_types Module Reference

3-center overlap type integrals containers More...

Functions/Subroutines

subroutine, public init_o3c_container (o3c, nspin, basis_set_list_a, basis_set_list_b, basis_set_list_c, sab_nl, sac_nl, only_bc_same_center)
 ... More...
 
subroutine, public release_o3c_container (o3c_container)
 ... More...
 
subroutine, public get_o3c_container (o3c, ijsymmetric, nspin, nijpairs, ijpair, basis_set_list_a, basis_set_list_b, basis_set_list_c, sab_nl, sac_nl)
 ... More...
 
subroutine, public o3c_iterator_create (o3c, o3c_iterator, nthread)
 ... More...
 
subroutine, public o3c_iterator_release (o3c_iterator)
 ... More...
 
subroutine, public get_o3c_iterator_info (o3c_iterator, mepos, iatom, jatom, katom, ikind, jkind, kkind, rij, rik, cellj, cellk, integral, tvec, force_i, force_j, force_k)
 ... More...
 
integer function, public o3c_iterate (o3c_iterator, mepos)
 ... More...
 
subroutine, public set_o3c_container (o3c_iterator, mepos, integral, tvec, force_i, force_j, force_k)
 ... More...
 
subroutine, public o3c_vec_create (o3c_vec, nsize)
 ... More...
 
subroutine, public o3c_vec_release (o3c_vec)
 ... More...
 
subroutine, public get_o3c_vec (o3c_vec, i, vec, n)
 ... More...
 

Detailed Description

3-center overlap type integrals containers

History
  • Added options to only keep (abc) triplet if b and c share the same center (2019 A.Bussy)

Function/Subroutine Documentation

◆ init_o3c_container()

subroutine, public qs_o3c_types::init_o3c_container ( type(o3c_container_type)  o3c,
integer, intent(in)  nspin,
type(gto_basis_set_p_type), dimension(:), pointer  basis_set_list_a,
type(gto_basis_set_p_type), dimension(:), pointer  basis_set_list_b,
type(gto_basis_set_p_type), dimension(:), pointer  basis_set_list_c,
type(neighbor_list_set_p_type), dimension(:), pointer  sab_nl,
type(neighbor_list_set_p_type), dimension(:), pointer  sac_nl,
logical, intent(in), optional  only_bc_same_center 
)

...

Parameters
o3c...
nspin...
basis_set_list_a...
basis_set_list_b...
basis_set_list_c...
sab_nl...
sac_nl...
only_bc_same_centeronly consider a,b,c atoms if b and c share the same center
History: only_bc_same_cetner added by A.Bussy for XAS_TDP (04.2019)

Definition at line 115 of file qs_o3c_types.F.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ release_o3c_container()

subroutine, public qs_o3c_types::release_o3c_container ( type(o3c_container_type)  o3c_container)

...

Parameters
o3c_container...

Definition at line 224 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ get_o3c_container()

subroutine, public qs_o3c_types::get_o3c_container ( type(o3c_container_type)  o3c,
logical, optional  ijsymmetric,
integer, optional  nspin,
integer, optional  nijpairs,
type(o3c_pair_type), dimension(:), optional, pointer  ijpair,
type(gto_basis_set_p_type), dimension(:), optional, pointer  basis_set_list_a,
type(gto_basis_set_p_type), dimension(:), optional, pointer  basis_set_list_b,
type(gto_basis_set_p_type), dimension(:), optional, pointer  basis_set_list_c,
type(neighbor_list_set_p_type), dimension(:), optional, pointer  sab_nl,
type(neighbor_list_set_p_type), dimension(:), optional, pointer  sac_nl 
)

...

Parameters
o3c...
ijsymmetric...
nspin...
nijpairs...
ijpair...
basis_set_list_a...
basis_set_list_b...
basis_set_list_c...
sab_nl...
sac_nl...

Definition at line 322 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ o3c_iterator_create()

subroutine, public qs_o3c_types::o3c_iterator_create ( type(o3c_container_type), pointer  o3c,
type(o3c_iterator_type)  o3c_iterator,
integer, optional  nthread 
)

...

Parameters
o3c...
o3c_iterator...
nthread...

Definition at line 356 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ o3c_iterator_release()

subroutine, public qs_o3c_types::o3c_iterator_release ( type(o3c_iterator_type)  o3c_iterator)

...

Parameters
o3c_iterator...

Definition at line 383 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ get_o3c_iterator_info()

subroutine, public qs_o3c_types::get_o3c_iterator_info ( type(o3c_iterator_type)  o3c_iterator,
integer, optional  mepos,
integer, optional  iatom,
integer, optional  jatom,
integer, optional  katom,
integer, optional  ikind,
integer, optional  jkind,
integer, optional  kkind,
real(kind=dp), dimension(3), optional  rij,
real(kind=dp), dimension(3), optional  rik,
integer, dimension(3), optional  cellj,
integer, dimension(3), optional  cellk,
real(kind=dp), dimension(:, :, :), optional, pointer  integral,
real(kind=dp), dimension(:, :), optional, pointer  tvec,
real(kind=dp), dimension(:, :), optional, pointer  force_i,
real(kind=dp), dimension(:, :), optional, pointer  force_j,
real(kind=dp), dimension(:, :), optional, pointer  force_k 
)

...

Parameters
o3c_iterator...
mepos...
iatom...
jatom...
katom...
ikind...
jkind...
kkind...
rij...
rik...
cellj...
cellk...
integral...
tvec...
force_i...
force_j...
force_k...

Definition at line 414 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ o3c_iterate()

integer function, public qs_o3c_types::o3c_iterate ( type(o3c_iterator_type)  o3c_iterator,
integer, optional  mepos 
)

...

Parameters
o3c_iterator...
mepos...
Returns
...

Definition at line 472 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ set_o3c_container()

subroutine, public qs_o3c_types::set_o3c_container ( type(o3c_iterator_type)  o3c_iterator,
integer, optional  mepos,
real(kind=dp), dimension(:, :, :), optional, pointer  integral,
real(kind=dp), dimension(:, :), optional, pointer  tvec,
real(kind=dp), dimension(:, :), optional, pointer  force_i,
real(kind=dp), dimension(:, :), optional, pointer  force_j,
real(kind=dp), dimension(:, :), optional, pointer  force_k 
)

...

Parameters
o3c_iterator...
mepos...
integral...
tvec...
force_i...
force_j...
force_k...

Definition at line 553 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ o3c_vec_create()

subroutine, public qs_o3c_types::o3c_vec_create ( type(o3c_vec_type), dimension(:)  o3c_vec,
integer, dimension(:), intent(in)  nsize 
)

...

Parameters
o3c_vec...
nsize...

Definition at line 591 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ o3c_vec_release()

subroutine, public qs_o3c_types::o3c_vec_release ( type(o3c_vec_type), dimension(:)  o3c_vec)

...

Parameters
o3c_vec...

Definition at line 613 of file qs_o3c_types.F.

Here is the caller graph for this function:

◆ get_o3c_vec()

subroutine, public qs_o3c_types::get_o3c_vec ( type(o3c_vec_type), dimension(:)  o3c_vec,
integer, intent(in)  i,
real(kind=dp), dimension(:), optional, pointer  vec,
integer, optional  n 
)

...

Parameters
o3c_vec...
i...
vec...
n...

Definition at line 633 of file qs_o3c_types.F.

Here is the caller graph for this function: