The Elk Code
writelat.f90
Go to the documentation of this file.
1 
2 ! Copyright (C) 2006 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 subroutine writelat
7 use modmain
8 implicit none
9 open(50,file='LATTICE'//trim(filext),form='FORMATTED',action='WRITE')
10 call writebox(50,"Real-space lattice vectors")
11 write(50,*)
12 write(50,'("vector a1 : ",3G18.10)') avec(:,1)
13 write(50,'("vector a2 : ",3G18.10)') avec(:,2)
14 write(50,'("vector a3 : ",3G18.10)') avec(:,3)
15 write(50,*)
16 write(50,'("Stored column-wise as a matrix :")')
17 write(50,'(3G18.10)') avec(1,:)
18 write(50,'(3G18.10)') avec(2,:)
19 write(50,'(3G18.10)') avec(3,:)
20 write(50,*)
21 write(50,'("Inverse of matrix :")')
22 write(50,'(3G18.10)') ainv(1,:)
23 write(50,'(3G18.10)') ainv(2,:)
24 write(50,'(3G18.10)') ainv(3,:)
25 write(50,*)
26 write(50,'("Unit cell volume : ",G18.10)') omega
27 write(50,*)
28 call writebox(50,"Reciprocal-space lattice vectors")
29 write(50,*)
30 write(50,'("vector b1 : ",3G18.10)') bvec(:,1)
31 write(50,'("vector b2 : ",3G18.10)') bvec(:,2)
32 write(50,'("vector b3 : ",3G18.10)') bvec(:,3)
33 write(50,*)
34 write(50,'("Stored column-wise as a matrix :")')
35 write(50,'(3G18.10)') bvec(1,:)
36 write(50,'(3G18.10)') bvec(2,:)
37 write(50,'(3G18.10)') bvec(3,:)
38 write(50,*)
39 write(50,'("Inverse of matrix :")')
40 write(50,'(3G18.10)') binv(1,:)
41 write(50,'(3G18.10)') binv(2,:)
42 write(50,'(3G18.10)') binv(3,:)
43 write(50,*)
44 write(50,'("Brillouin zone volume : ",G18.10)') omegabz
45 close(50)
46 end subroutine
47 
character(256) filext
Definition: modmain.f90:1301
real(8), dimension(3, 3) ainv
Definition: modmain.f90:14
real(8) omega
Definition: modmain.f90:20
real(8), dimension(3, 3) avec
Definition: modmain.f90:12
real(8), dimension(3, 3) bvec
Definition: modmain.f90:16
real(8), dimension(3, 3) binv
Definition: modmain.f90:18
subroutine writebox(fnum, str)
Definition: writebox.f90:7
real(8) omegabz
Definition: modmain.f90:22
subroutine writelat
Definition: writelat.f90:7