The Elk Code
Loading...
Searching...
No Matches
writeiad.f90
Go to the documentation of this file.
1
2
! Copyright (C) 2002-2005 J. K. Dewhurst, S. Sharma and C. Ambrosch-Draxl.
3
! This file is distributed under the terms of the GNU General Public License.
4
! See the file COPYING for license details.
5
6
!BOP
7
! !ROUTINE: writeiad
8
! !INTERFACE:
9
subroutine
writeiad
(fnum)
10
! !USES:
11
use
modmain
12
! !INPUT/OUTPUT PARAMETERS:
13
! fnum : file number for writing output (in,integer)
14
! !DESCRIPTION:
15
! Outputs the interatomic distances to file.
16
!
17
! !REVISION HISTORY:
18
! Created May 2005 (JKD)
19
!EOP
20
!BOC
21
implicit none
22
! arguments
23
integer
,
intent(in)
:: fnum
24
! local variables
25
integer
is,js,ia,ja
26
integer
i1,i2,i3
27
real
(8) d,dmin,v(3)
28
do
is=1,
nspecies
29
do
ia=1,
natoms
(is)
30
write
(fnum,*)
31
write
(fnum,
'("Distance between is = ",I4," (",A,"), ia = ",I4," and")'
) &
32
is,trim(
spsymb
(is)),ia
33
do
js=1,
nspecies
34
do
ja=1,
natoms
(js)
35
dmin=1.d8
36
do
i1=-1,1
37
do
i2=-1,1
38
do
i3=-1,1
39
v(:)=dble(i1)*
avec
(:,1) &
40
+dble(i2)*
avec
(:,2) &
41
+dble(i3)*
avec
(:,3)+
atposc
(:,ja,js)
42
v(:)=v(:)-
atposc
(:,ia,is)
43
d=sqrt(v(1)**2+v(2)**2+v(3)**2)
44
dmin=min(d,dmin)
45
end do
46
end do
47
end do
48
write
(fnum,
'(" is = ",I4," (",A,"), ia = ",I4," : ",G18.10)'
) js, &
49
trim(
spsymb
(js)),ja,dmin
50
end do
51
end do
52
end do
53
end do
54
end subroutine
55
!EOC
56
modmain
Definition
modmain.f90:6
modmain::atposc
real(8), dimension(3, maxatoms, maxspecies) atposc
Definition
modmain.f90:54
modmain::natoms
integer, dimension(maxspecies) natoms
Definition
modmain.f90:36
modmain::avec
real(8), dimension(3, 3) avec
Definition
modmain.f90:12
modmain::spsymb
character(64), dimension(maxspecies) spsymb
Definition
modmain.f90:78
modmain::nspecies
integer nspecies
Definition
modmain.f90:34
writeiad
subroutine writeiad(fnum)
Definition
writeiad.f90:10
writeiad.f90
Generated by
1.9.8