mctc_ncoord_erf_dftd4 Module

@file mctc/ncoord/erf_en.f90 Provides an implementation for the CN as used dftd4 Coordination number implementation with single error function and EN-weighting for dftd4



Derived Types

type, public, extends(erf_ncoord_type) ::  erf_dftd4_ncoord_type

Coordination number evaluator

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: cut = -1.0_wp

Cutoff for the maximum coordination number (negative value, no cutoff)

real(kind=wp), public :: cutoff

Radial cutoff for the coordination number

real(kind=wp), public :: directed_factor

Factor determining whether the CN is evaluated with direction if +1 the CN contribution is added equally to both partners if -1 (i.e. with the EN-dep.) it is added to one and subtracted from the other

real(kind=wp), public, allocatable :: en(:)

Electronegativity

real(kind=wp), public :: kcn

Steepness of counting function

real(kind=wp), public :: norm_exp

Exponent of the distance normalization

real(kind=wp), public, allocatable :: rcov(:)

Covalent radii

Type-Bound Procedures

procedure, public :: add_coordination_number_derivs ../../

Add CN derivative of an arbitrary function

procedure, public :: get_cn ../../

Obtains lattice information and calls get_coordination number

procedure, public :: get_coordination_number ../../

Decides whether the energy or gradient is calculated

procedure, public :: get_en_factor ../../

Evaluates pairwise electronegativity factor

procedure, public :: ncoord ../../

Evaluates the CN from the specific counting function

procedure, public :: ncoord_count ../../

Evaluates the error counting function

procedure, public :: ncoord_d ../../

Evaluates derivative of the CN from the specific counting function

procedure, public :: ncoord_dcount ../../

Evaluates the derivative of the error counting function


Subroutines

public subroutine new_erf_dftd4_ncoord(self, mol, kcn, cutoff, rcov, en, cut, norm_exp)

Arguments

Type IntentOptional Attributes Name
type(erf_dftd4_ncoord_type), intent(out) :: self

Coordination number container

type(structure_type), intent(in) :: mol

Molecular structure data

real(kind=wp), optional :: kcn

Steepness of counting function

real(kind=wp), intent(in), optional :: cutoff

Real space cutoff

real(kind=wp), intent(in), optional :: rcov(:)

Covalent radii

real(kind=wp), intent(in), optional :: en(:)

Electronegativity

real(kind=wp), intent(in), optional :: cut

Cutoff for the maximum coordination number

real(kind=wp), intent(in), optional :: norm_exp

Exponent of the distance normalization