mimic_short_range Module

compute interactions between quantum fragment and short-range classical fragments



Contents


Variables

TypeVisibilityAttributesNameInitial
integer, public, parameter:: ORDER =4

Subroutines

public subroutine compute_sr_energy_ions(atoms, nuclei, energy, at_st, at_end)

compute classical atom - quantum ion interaction energy

Arguments

TypeIntentOptionalAttributesName
type(atom_type), intent(inout), dimension(:):: atoms

list of classical atoms

class(nucleus_type), intent(inout), dimension(:):: nuclei

list of ions to compute interactions with

real(kind=dp), intent(out) :: energy

resulting energy of interaction

integer, intent(in) :: at_st

index of the atom to start electrostatic treatment

integer, intent(in) :: at_end

index of the atom to finish electrostatic treatment

public subroutine compute_sr_forces_ions(atoms, nuclei, at_st, at_end)

compute forces from classical atom - quantum ion interactions (stored in FION matrix (through pointers))

Arguments

TypeIntentOptionalAttributesName
type(atom_type), intent(inout), dimension(:):: atoms

list of classical atoms

class(nucleus_type), intent(inout), dimension(:):: nuclei

list of ions to compute interactions with

integer, intent(in) :: at_st

index of the atom to start electrostatic treatment

integer, intent(in) :: at_end

index of the atom to finish electrostatic treatment

public subroutine compute_sr_forces_electrons(atoms, density, cell, x_start, x_end, id_start, id_end)

compute forces from classical atom - quantum electrons interactions (stored FION matrix (through pointers))

Read more…

Arguments

TypeIntentOptionalAttributesName
type(atom_type), intent(in), dimension(:):: atoms

list of atoms

real(kind=dp), intent(in), dimension(:,:,:), contiguous, target:: density

electronic density

type(cell_type), intent(in) :: cell

lattice data

integer, intent(in) :: x_start

index of starting X-plane (CPMD parallelization stuff)

integer, intent(in) :: x_end

index of final X-plane (CPMD parallelization stuff)

integer, intent(in) :: id_start

index of the atom to start electrostatic treatment

integer, intent(in) :: id_end

index of the atom to finish electrostatic treatment

public subroutine compute_sr_potential_electrons(atoms, potential, cell, x_start, x_end, id_start, id_end)

compute potential classical atom on quantum fragment

Read more…

Arguments

TypeIntentOptionalAttributesName
type(atom_type), intent(in), dimension(:):: atoms

list of SR atoms

real(kind=dp), intent(inout), dimension(:,:,:), contiguous, target:: potential

potential on the electronic grid

type(cell_type), intent(in) :: cell

lattice data

integer, intent(in) :: x_start

index of starting X-plane (CPMD parallelization stuff)

integer, intent(in) :: x_end

index of final X-plane (CPMD parallelization stuff)

integer, intent(in) :: id_start

Index of the atom to start electrostatic treatment

integer, intent(in) :: id_end

Index of the atom to finish electrostatic treatment