exciting-0.9.150
[exciting.git] / src / writechg.f90
blobc1a47bff33b33f656e36c9302f6fba02724e5d06
2 ! Copyright (C) 2002-2006 J. K. Dewhurst, S. Sharma and C. Ambrosch-Draxl.
3 ! This file is distributed under the terms of the GNU Lesser General Public
4 ! License. See the file COPYING for license details.
6 subroutine writechg(fnum)
7 use modmain
8 implicit none
9 ! arguments
10 integer, intent(in) :: fnum
11 ! local variables
12 integer is,ia,ias
13 ! output charges
14 write(fnum,*)
15 write(fnum,'("Charges :")')
16 write(fnum,'(" core",T30,": ",G18.10)') chgcr
17 write(fnum,'(" core leakage",T30,": ",G18.10)') chgcrlk
18 write(fnum,'(" valence",T30,": ",G18.10)') chgval
19 write(fnum,'(" interstitial",T30,": ",G18.10)') chgir
20 write(fnum,'(" muffin-tins")')
21 do is=1,nspecies
22 write(fnum,'(" species : ",I4," (",A,")")') is,trim(spsymb(is))
23 do ia=1,natoms(is)
24 ias=idxas(ia,is)
25 write(fnum,'(" atom ",I4,T30,": ",G18.10)') ia,chgmt(ias)
26 end do
27 end do
28 write(fnum,'(" total in muffin-tins",T30,": ",G18.10)') chgmttot
29 if (chgexs.ne.0.d0) then
30 write(fnum,'(" excess",T30,": ",G18.10)') chgexs
31 end if
32 write(fnum,'(" total charge",T30,": ",G18.10)') chgcalc
33 ! output moments
34 if (spinpol) then
35 write(fnum,*)
36 write(fnum,'("Moments :")')
37 write(fnum,'(" interstitial",T30,": ",3G18.10)') momir(1:ndmag)
38 write(fnum,'(" muffin-tins")')
39 do is=1,nspecies
40 write(fnum,'(" species : ",I4," (",A,")")') is,trim(spsymb(is))
41 do ia=1,natoms(is)
42 ias=idxas(ia,is)
43 write(fnum,'(" atom ",I4,T30,": ",3G18.10)') ia,mommt(1:ndmag,ias)
44 end do
45 end do
46 write(fnum,'(" total in muffin-tins",T30,": ",3G18.10)') mommttot(1:ndmag)
47 write(fnum,'(" total moment",T30,": ",3G18.10)') momtot(1:ndmag)
48 end if
49 call flushifc(fnum)
50 return
51 end subroutine