Wrapper for geometric fractional coordination number with standard exponential counting function.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(structure_type), | intent(in) | :: | mol |
Molecular structure data |
||
real(kind=wp), | intent(in) | :: | trans(:,:) |
Lattice points |
||
real(kind=wp), | intent(in) | :: | cutoff |
Real space cutoff |
||
real(kind=wp), | intent(in) | :: | rcov(:) |
Covalent radius |
||
real(kind=wp), | intent(out) | :: | cn(:) |
Error function coordination number. |
||
real(kind=wp), | intent(out), | optional | :: | dcndr(:,:,:) |
Derivative of the CN with respect to the Cartesian coordinates. |
|
real(kind=wp), | intent(out), | optional | :: | dcndL(:,:,:) |
Derivative of the CN with respect to strain deformations. |
subroutine get_coordination_number(mol, trans, cutoff, rcov, cn, dcndr, dcndL) !> Molecular structure data type(structure_type), intent(in) :: mol !> Lattice points real(wp), intent(in) :: trans(:, :) !> Real space cutoff real(wp), intent(in) :: cutoff !> Covalent radius real(wp), intent(in) :: rcov(:) !> Error function coordination number. real(wp), intent(out) :: cn(:) !> Derivative of the CN with respect to the Cartesian coordinates. real(wp), intent(out), optional :: dcndr(:, :, :) !> Derivative of the CN with respect to strain deformations. real(wp), intent(out), optional :: dcndL(:, :, :) class(ncoord_type), allocatable :: ncoord type(error_type), allocatable :: error call new_ncoord(ncoord, mol, cn_count%exp, error, & & kcn=default_kcn, cutoff=cutoff, rcov=rcov) if(allocated(error)) then write(error_unit, '("[Error]:", 1x, a)') error%message error stop end if call ncoord%get_coordination_number(mol, trans, cn, dcndr, dcndL) end subroutine get_coordination_number