Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | unit |
Unit for output |
||
class(structure_type), | intent(in) | :: | mol |
Molecular structure data |
||
class(d3_model), | intent(in) | :: | disp |
Dispersion model |
||
real(kind=wp), | intent(in) | :: | cn(:) |
Coordination numbers |
||
real(kind=wp), | intent(in) | :: | c6(:,:) |
Atomic dispersion coefficients |
subroutine ascii_system_properties(unit, mol, disp, cn, c6) !> Unit for output integer, intent(in) :: unit !> Molecular structure data class(structure_type), intent(in) :: mol !> Dispersion model class(d3_model), intent(in) :: disp !> Coordination numbers real(wp), intent(in) :: cn(:) !> Atomic dispersion coefficients real(wp), intent(in) :: c6(:, :) integer :: iat, isp write(unit, '(a,":")') "Dispersion properties (in atomic units)" write(unit, '(56("-"))') write(unit, '(a6,1x,a4,5x,*(1x,a12))') "#", "Z", "CN", "C6(AA)", "C8(AA)" write(unit, '(56("-"))') do iat = 1, mol%nat isp = mol%id(iat) write(unit, '(i6,1x,i4,1x,a4,*(1x,f12.4))') & & iat, mol%num(isp), mol%sym(isp), cn(iat), c6(iat, iat), & & c6(iat, iat)*3*disp%r4r2(isp)**2 end do write(unit, '(56("-"))') end subroutine ascii_system_properties