Documentation for module hfx_pair_list_methods

Rountines for optimizing load balance between processes in HFX calculations

source: hfx_pair_list_methods.F
Loading...

public Subroutines/Functions:

...
...
...
...
...

Module variables:

INTEGER
:: pgf_product_list_size = 128

SUBROUTINEbuild_atomic_pair_list(natom, atomic_pair_list, kind_of, basis_parameter, particle_set, do_periodic, coeffs_kind, coeffs_kind_max0, log10_eps_schwarz, cell, blocks)

...

Arguments:
INTEGER,
INTENT(in)
:: natom ...
LOGICAL
:: atomic_pair_list(natom,natom) ...
INTEGER
:: kind_of(*) ...
POINTER
:: basis_parameter(:) ...
POINTER
:: particle_set(:) ...
LOGICAL,
INTENT(in)
:: do_periodic ...
:: coeffs_kind(:,:) ...
REAL(dp),
INTENT(in)
:: coeffs_kind_max0 ...
REAL(dp),
INTENT(in)
:: log10_eps_schwarz ...
TYPE(cell_type),
POINTER
:: cell ...
POINTER
:: blocks(:) ...

SUBROUTINEbuild_pair_list(natom, list, set_list, i_start, i_end, j_start, j_end, kind_of, basis_parameter, particle_set, do_periodic, coeffs_set, coeffs_kind, coeffs_kind_max0, log10_eps_schwarz, cell, pmax_blocks, atomic_pair_list)

...

Arguments:
INTEGER,
INTENT(in)
:: natom ...
INTENT(out)
:: list ...
INTENT(out)
:: set_list(*) ...
INTEGER,
INTENT(in)
:: i_start ...
INTEGER,
INTENT(in)
:: i_end ...
INTEGER,
INTENT(in)
:: j_start ...
INTEGER,
INTENT(in)
:: j_end ...
INTEGER
:: kind_of(*) ...
POINTER
:: basis_parameter(:) ...
POINTER
:: particle_set(:) ...
LOGICAL,
INTENT(in)
:: do_periodic ...
POINTER
:: coeffs_set(:,:,:,:) ...
:: coeffs_kind(:,:) ...
REAL(dp),
INTENT(in)
:: coeffs_kind_max0 ...
REAL(dp),
INTENT(in)
:: log10_eps_schwarz ...
TYPE(cell_type),
POINTER
:: cell ...
REAL(dp)
:: pmax_blocks ...
LOGICAL
:: atomic_pair_list(natom,natom) ...

SUBROUTINEbuild_pair_list_mp2(natom, list, set_list, i_start, i_end, j_start, j_end, kind_of, basis_parameter, particle_set, do_periodic, coeffs_set, coeffs_kind, coeffs_kind_max0, log10_eps_schwarz, cell, pmax_blocks, atomic_pair_list, skip_atom_symmetry)

...

Arguments:
INTEGER,
INTENT(in)
:: natom ...
:: list ...
INTENT(out)
:: set_list(*) ...
INTEGER,
INTENT(in)
:: i_start ...
INTEGER,
INTENT(in)
:: i_end ...
INTEGER,
INTENT(in)
:: j_start ...
INTEGER,
INTENT(in)
:: j_end ...
INTEGER
:: kind_of(*) ...
POINTER
:: basis_parameter(:) ...
POINTER
:: particle_set(:) ...
LOGICAL,
INTENT(in)
:: do_periodic ...
POINTER
:: coeffs_set(:,:,:,:) ...
:: coeffs_kind(:,:) ...
REAL(dp),
INTENT(in)
:: coeffs_kind_max0 ...
REAL(dp),
INTENT(in)
:: log10_eps_schwarz ...
TYPE(cell_type),
POINTER
:: cell ...
REAL(dp)
:: pmax_blocks ...
LOGICAL
:: atomic_pair_list(natom,natom) ...
LOGICAL,
OPTIONAL
:: skip_atom_symmetry ...

SUBROUTINEbuild_pair_list_pgf(npgfa, npgfb, list, zeta, zetb, screen1, screen2, pgf, r_pgf, log10_pmax, log10_eps_schwarz, ra, rb, nelements, neighbor_cells, nimages, do_periodic)

...

Arguments:
INTEGER,
INTENT(in)
:: npgfa ...
INTEGER,
INTENT(in)
:: npgfb ...
:: list(npgfa*npgfb) ...
REAL(dp),
INTENT(in)
:: zeta(1:npgfa) ...
REAL(dp),
INTENT(in)
:: zetb(1:npgfb) ...
REAL(dp),
INTENT(in)
:: screen1(2) ...
REAL(dp),
INTENT(in)
:: screen2(2) ...
POINTER
:: pgf(:,:) ...
POINTER
:: r_pgf(:,:) ...
REAL(dp),
INTENT(in)
:: log10_pmax ...
REAL(dp),
INTENT(in)
:: log10_eps_schwarz ...
REAL(dp),
INTENT(in)
:: ra(3) ...
REAL(dp),
INTENT(in)
:: rb(3) ...
INTEGER,
INTENT(out)
:: nelements ...
POINTER
:: neighbor_cells(:) ...
INTEGER
:: nimages(npgfa*npgfb) ...
LOGICAL,
INTENT(in)
:: do_periodic ...

SUBROUTINEbuild_pgf_product_list(list1, list2, product_list, nproducts, log10_pmax, log10_eps_schwarz, neighbor_cells, cell, potential_parameter, m_max, do_periodic)

...

Arguments:
:: list1 ...
:: list2 ...
INTENT(inout),
ALLOCATABLE
:: product_list(:) ...
INTEGER,
INTENT(out)
:: nproducts ...
REAL(dp),
INTENT(in)
:: log10_pmax ...
REAL(dp),
INTENT(in)
:: log10_eps_schwarz ...
POINTER
:: neighbor_cells(:) ...
TYPE(cell_type),
POINTER
:: cell ...
:: potential_parameter ...
INTEGER,
INTENT(in)
:: m_max ...
LOGICAL,
INTENT(in)
:: do_periodic ...