The Elk Code
putgwsefm.f90
Go to the documentation of this file.
1
2
! Copyright (C) 2017 A. Davydov, A. Sanna, J. K. Dewhurst, S. Sharma and
3
! E. K. U. Gross. This file is distributed under the terms of the GNU General
4
! Public License. See the file COPYING for license details.
5
6
subroutine
putgwsefm
(ik,se)
7
use
modmain
8
use
modgw
9
use
modramdisk
10
implicit none
11
! arguments
12
integer
,
intent(in)
:: ik
13
complex(8)
,
intent(in)
:: se(nstsv,nstsv,0:nwfm)
14
! local variables
15
integer
recl
16
!$OMP CRITICAL(u280)
17
! write to RAM disk if required
18
if
(
ramdisk
)
then
19
call
putrd
(
'GWSEFM.OUT'
,ik,v1=
vkl
(1:3,ik),n1=nstsv,n2=nwfm, &
20
nzv=nstsv*nstsv*(nwfm+1),zva=se)
21
end if
22
! write to disk if required
23
if
(
wrtdsk
)
then
24
! find the record length
25
inquire
(iolength=recl)
vkl
(1:3,ik),nstsv,nwfm,se
26
open
(280,
file
=
'GWSEFM.OUT'
,form=
'UNFORMATTED'
,access=
'DIRECT'
,recl=recl)
27
write
(280,rec=ik)
vkl
(1:3,ik),nstsv,nwfm,se
28
close
(280)
29
end if
30
!$OMP END CRITICAL(u280)
31
end subroutine
32
modramdisk::ramdisk
logical ramdisk
Definition:
modramdisk.f90:9
modramdisk::putrd
subroutine putrd(fname, irec, n1, n2, n3, v1, v2, nrv, rva, nzv, zva)
Definition:
modramdisk.f90:120
modramdisk
Definition:
modramdisk.f90:6
modramdisk::file
type(file_t), dimension(:), allocatable, private file
Definition:
modramdisk.f90:29
modmain
Definition:
modmain.f90:6
modramdisk::wrtdsk
logical wrtdsk
Definition:
modramdisk.f90:15
putgwsefm
subroutine putgwsefm(ik, se)
Definition:
putgwsefm.f90:7
modmain::vkl
real(8), dimension(:,:), allocatable vkl
Definition:
modmain.f90:471
modgw
Definition:
modgw.f90:6
putgwsefm.f90
Generated by
1.8.14