tblite
Light-weight tight-binding framework
Loading...
Searching...
No Matches
Public Member Functions | Data Fields
tblite_ncoord_type::ncoord_type Type Referenceabstract

Abstract base class for coordination number evaluator. More...

Inheritance diagram for tblite_ncoord_type::ncoord_type:
tblite_ncoord_erf::erf_ncoord_type tblite_ncoord_erf_en::erf_en_ncoord_type tblite_ncoord_exp::exp_ncoord_type tblite_ncoord_gfn::gfn_ncoord_type

Public Member Functions

procedure get_cn (self, mol, cn, dcndr, dcndl)
 Obtains lattice information and calls get_coordination number.
 
procedure get_coordination_number (self, mol, trans, cutoff, cn, dcndr, dcndl)
 Decides whether the energy or gradient is calculated.
 
procedure ncoord (self, mol, trans, cutoff, cn)
 Evaluates the CN from the specific counting function.
 
procedure ncoord_d (self, mol, trans, cutoff, cn, dcndr, dcndl)
 Evaluates derivative of the CN from the specific counting function.
 
procedure(ncoord_count), deferred ncoord_count (self, mol, izp, jzp, r)
 Evaluates the counting function (exp, erf, ...)
 
procedure(ncoord_dcount), deferred ncoord_dcount (self, mol, izp, jzp, r)
 Evaluates the derivative of the counting function (exp, erf, ...)
 

Data Fields

real(wp) cutoff
 
real(wp) kcn
 Steepness of counting function.
 
real(wp) 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.
 

Detailed Description

Abstract base class for coordination number evaluator.

Member Function/Subroutine Documentation

◆ get_cn()

procedure tblite_ncoord_type::ncoord_type::get_cn ( class(ncoord_type), intent(in) self,
type(structure_type), intent(in) mol,
real(wp), dimension(:), intent(out) cn,
real(wp), dimension(:, :, :), intent(out), optional dcndr,
real(wp), dimension(:, :, :), intent(out), optional dcndl )

Obtains lattice information and calls get_coordination number.

Parameters
[in]selfCoordination number container
[in]molMolecular structure data
[out]cnError function coordination number.
[out]dcndrDerivative of the CN with respect to the Cartesian coordinates.
[out]dcndlDerivative of the CN with respect to strain deformations.

◆ get_coordination_number()

procedure tblite_ncoord_type::ncoord_type::get_coordination_number ( class(ncoord_type), intent(in) self,
type(structure_type), intent(in) mol,
real(wp), dimension(:, :), intent(in) trans,
real(wp), intent(in) cutoff,
real(wp), dimension(:), intent(out) cn,
real(wp), dimension(:, :, :), intent(out), optional dcndr,
real(wp), dimension(:, :, :), intent(out), optional dcndl )

Decides whether the energy or gradient is calculated.

Parameters
[in]selfCoordination number container
[in]molMolecular structure data
[in]transLattice points
[in]cutoffReal space cutoff
[out]cnError function coordination number.
[out]dcndrDerivative of the CN with respect to the Cartesian coordinates.
[out]dcndlDerivative of the CN with respect to strain deformations.

◆ ncoord()

procedure tblite_ncoord_type::ncoord_type::ncoord ( class(ncoord_type), intent(in) self,
type(structure_type), intent(in) mol,
real(wp), dimension(:, :), intent(in) trans,
real(wp), intent(in) cutoff,
real(wp), dimension(:), intent(out) cn )

Evaluates the CN from the specific counting function.

Parameters
[in]selfCoordination number container
[in]molMolecular structure data
[in]transLattice points
[in]cutoffReal space cutoff
[out]cnError function coordination number.

◆ ncoord_count()

procedure(ncoord_count), deferred tblite_ncoord_type::ncoord_type::ncoord_count ( class(ncoord_type), intent(in) self,
type(structure_type), intent(in) mol,
integer, intent(in) izp,
integer, intent(in) jzp,
real(wp), intent(in) r )
pure virtual

Evaluates the counting function (exp, erf, ...)

Parameters
[in]selfInstance of coordination number container
[in]molMolecular structure data
[in]izpAtom i index
[in]jzpAtom j index
[in]rCurrent distance.

◆ ncoord_d()

procedure tblite_ncoord_type::ncoord_type::ncoord_d ( class(ncoord_type), intent(in) self,
type(structure_type), intent(in) mol,
real(wp), dimension(:, :), intent(in) trans,
real(wp), intent(in) cutoff,
real(wp), dimension(:), intent(out) cn,
real(wp), dimension(:, :, :), intent(out) dcndr,
real(wp), dimension(:, :, :), intent(out) dcndl )

Evaluates derivative of the CN from the specific counting function.

Parameters
[in]selfCoordination number container
[in]molMolecular structure data
[in]transLattice points
[in]cutoffReal space cutoff
[out]cnError function coordination number.
[out]dcndrDerivative of the CN with respect to the Cartesian coordinates.
[out]dcndlDerivative of the CN with respect to strain deformations.

◆ ncoord_dcount()

procedure(ncoord_dcount), deferred tblite_ncoord_type::ncoord_type::ncoord_dcount ( class(ncoord_type), intent(in) self,
type(structure_type), intent(in) mol,
integer, intent(in) izp,
integer, intent(in) jzp,
real(wp), intent(in) r )
pure virtual

Evaluates the derivative of the counting function (exp, erf, ...)

Parameters
[in]selfInstance of coordination number container
[in]molMolecular structure data
[in]izpAtom i index
[in]jzpAtom j index
[in]rCurrent distance.

The documentation for this type was generated from the following file: