The Elk Code
writeatdisp.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2023 J. K. Dewhurst and S. Sharma.
3 ! This file is distributed under the terms of the GNU General Public License.
4 ! See the file COPYING for license details.
5 
6 subroutine writeatdisp
7 use modmain
8 use modtddft
9 implicit none
10 ! local variables
11 integer is,ia
12 real(8) vl(3)
13 open(50,file='ATDISPL_TD.OUT',form='FORMATTED',position='APPEND')
14 open(51,file='ATDISPC_TD.OUT',form='FORMATTED',position='APPEND')
15 write(50,'(I8,G18.10)') itimes,times(itimes)
16 write(51,'(I8,G18.10)') itimes,times(itimes)
17 do is=1,nspecies
18  do ia=1,natoms(is)
19  call r3mv(ainv,atdvc(:,0,ia,is),vl)
20  write(50,'(2I4,3G18.10)') is,ia,vl(:)
21  write(51,'(2I4,3G18.10)') is,ia,atdvc(:,0,ia,is)
22  end do
23 end do
24 close(50)
25 close(51)
26 end subroutine
27 
real(8), dimension(3, 3) ainv
Definition: modmain.f90:14
real(8), dimension(3, 0:1, maxatoms, maxspecies) atdvc
Definition: modmain.f90:64
integer, dimension(maxspecies) natoms
Definition: modmain.f90:36
real(8), dimension(:), allocatable times
Definition: modtddft.f90:48
integer itimes
Definition: modtddft.f90:46
integer nspecies
Definition: modmain.f90:34
pure subroutine r3mv(a, x, y)
Definition: r3mv.f90:10
subroutine writeatdisp
Definition: writeatdisp.f90:7