pairtab_m Module


Uses

  • module~~pairtab_m~~UsesGraph module~pairtab_m pairtab_m module~connectivity_m connectivity_m module~pairtab_m->module~connectivity_m module~vector_m vector_m module~pairtab_m->module~vector_m module~table_m table_m module~pairtab_m->module~table_m module~constants_m constants_m module~pairtab_m->module~constants_m module~simbox_m simbox_m module~pairtab_m->module~simbox_m module~cell_list_m cell_list_m module~pairtab_m->module~cell_list_m module~atmcfg_m atmcfg_m module~pairtab_m->module~atmcfg_m module~aabbtree_m aabbtree_m module~pairtab_m->module~aabbtree_m module~connectivity_m->module~vector_m module~connectivity_m->module~table_m module~connectivity_m->module~constants_m module~vector_m->module~constants_m module~qsort_m qsort_m module~vector_m->module~qsort_m module~table_m->module~vector_m module~table_m->module~constants_m iso_fortran_env iso_fortran_env module~constants_m->iso_fortran_env module~simbox_m->module~constants_m module~random_m random_m module~simbox_m->module~random_m module~cell_list_m->module~vector_m module~cell_list_m->module~constants_m module~cell_list_m->module~simbox_m module~atmcfg_m->module~constants_m module~aabbtree_m->module~vector_m module~aabbtree_m->module~constants_m module~strings_m strings_m module~aabbtree_m->module~strings_m module~aabb_m aabb_m module~aabbtree_m->module~aabb_m module~qsort_m->module~constants_m module~strings_m->module~constants_m module~random_m->module~constants_m mkl_vsl_type mkl_vsl_type module~random_m->mkl_vsl_type mkl_vsl mkl_vsl module~random_m->mkl_vsl module~aabb_m->module~constants_m module~aabb_m->module~strings_m

Used by

  • module~~pairtab_m~~UsedByGraph module~pairtab_m pairtab_m module~interaction_m interaction_m module~interaction_m->module~pairtab_m module~bd_solver_m bd_solver_m module~bd_solver_m->module~interaction_m module~setup_m setup_m module~setup_m->module~interaction_m module~setup_m->module~bd_solver_m program~main main program~main->module~setup_m

Contents


Variables

TypeVisibility AttributesNameInitial
real(kind=rp), private :: rcutoff =0.0_rp
real(kind=rp), private :: tskin =0.0_rp
real(kind=rp), private :: rskin_sq =0.0_rp
real(kind=rp), private :: tskin_sq =0.0_rp
character(len=:), private, allocatable:: mth_ptgen

Pair table generation method: {'DIR', 'VER', 'AABBT', 'CL'}

type(itable_t), private :: exat_tab
type(aabbtree_t), private :: tree
real(kind=rp), private, dimension(:,:), allocatable:: coordinates_save

(3, num_atoms) array

real(kind=rp), private, dimension(:,:), allocatable:: coordinates_dr

(3, num_atoms) array


Subroutines

public subroutine pt_init(mth, num_atoms, excl_atoms, rcut, tskn, bonds, simbox, pair_tab)

Performs initial setup for building a pair list.

Arguments

Type IntentOptional AttributesName
character(len=*), intent(in) :: mth
integer, intent(in) :: num_atoms
integer, intent(in) :: excl_atoms
real(kind=rp), intent(in) :: rcut
real(kind=rp), intent(in) :: tskn
integer, intent(in), dimension(:,:):: bonds
type(smbx_t), intent(in) :: simbox
type(itable_t), intent(inout) :: pair_tab

public subroutine pt_delete(pair_tab)

Cleanup for pair list calculation.

Arguments

Type IntentOptional AttributesName
type(itable_t), intent(inout) :: pair_tab

public subroutine pt_build(simbox, coordinates, pair_tab)

Builds a pair table. The resulting table is stored in the module variable pair_tab.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
real(kind=rp), intent(in), dimension(:,:):: coordinates
type(itable_t), intent(inout) :: pair_tab

private subroutine build_pt_n2(simbox, coordinates, pair_tab)

Builds a pair table using direct N^2 looping over all pairs.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
real(kind=rp), intent(in), dimension(:,:):: coordinates
type(itable_t), intent(inout) :: pair_tab

private subroutine build_pt_verlet(simbox, coordinates, pair_tab)

Builds a pair table using the Verlet scheme.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
real(kind=rp), intent(in), dimension(:,:):: coordinates
type(itable_t), intent(inout) :: pair_tab

private subroutine build_pt_aabbtree(simbox, coordinates, pair_tab)

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
real(kind=rp), intent(in), dimension(:,:):: coordinates
type(itable_t), intent(inout) :: pair_tab

private subroutine build_pt_cell_list(simbox, coordinates, pair_tab)

Builds a pair table using cell list.

Arguments

Type IntentOptional AttributesName
type(smbx_t), intent(in) :: simbox
real(kind=rp), intent(in), dimension(:,:):: coordinates
type(itable_t), intent(inout) :: pair_tab