ascii_system_properties Subroutine

public subroutine ascii_system_properties(unit, mol, disp, cn, c6)

Arguments

Type IntentOptional 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


Source Code

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