Documentation for module subcell_types

subcell types and allocation routines

source: subcell_types.F
Loading...

public Types:

subcell_type
...

public Subroutines/Functions:

Allocate and initialize a subcell grid structure for the atomic neighbor search.
Deallocate a subcell grid structure.
SUBROUTINE
give_ijk_subcell (r, i, j, k, cell, nsubcell)
...
...

public Types:

TYPE :: subcell_type

...


INTEGER
:: natom ...
REAL(dp),
DIMENSION(3) :: s_max ...
REAL(dp),
DIMENSION(3) :: s_min ...
INTEGER,
DIMENSION(:), POINTER :: atom_list ...
REAL(dp),
DIMENSION(3,8) :: corners ...

SUBROUTINEallocate_subcell(subcell, nsubcell, maxatom, cell)

Allocate and initialize a subcell grid structure for the atomic neighbor search.

Arguments:
POINTER
:: subcell(:,:,:) ...
INTEGER,
INTENT(in)
:: nsubcell(3) ...
INTEGER,
INTENT(in),
OPTIONAL
:: maxatom ...
TYPE(cell_type),
OPTIONAL, POINTER
:: cell ...

SUBROUTINEdeallocate_subcell(subcell)

Deallocate a subcell grid structure.

Arguments:
POINTER
:: subcell(:,:,:) ...

SUBROUTINEgive_ijk_subcell(r, i, j, k, cell, nsubcell)

...

Arguments:
REAL(dp)
:: r(3) ...
INTEGER,
INTENT(out)
:: i ...
INTEGER,
INTENT(out)
:: j ...
INTEGER,
INTENT(out)
:: k ...
TYPE(cell_type),
POINTER
:: cell ...
INTEGER,
INTENT(in)
:: nsubcell(3) ...

SUBROUTINEreorder_atoms_subcell(atom_list, kind_of, work)

...

Arguments:
INTEGER,
POINTER
:: atom_list(:) ...
INTEGER,
INTENT(in)
:: kind_of(:) ...
INTEGER
:: work(:) ...