~ubuntu-branches/debian/sid/abinit/sid

« back to all changes in this revision

Viewing changes to src/defs/interfaces_14wfs.F90

  • Committer: Bazaar Package Importer
  • Author(s): Christophe Prud'homme
  • Date: 2007-09-14 13:05:00 UTC
  • Revision ID: james.westby@ubuntu.com-20070914130500-1kzh2mrgo6ir4b6i
Tags: upstream-5.3.4.dfsg
ImportĀ upstreamĀ versionĀ 5.3.4.dfsg

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
!!****m* ABINIT/interfaces_14wfs
 
2
!! NAME
 
3
!! interfaces_14wfs
 
4
!!
 
5
!! FUNCTION
 
6
!! This module contains the interfaces of the routines
 
7
!! in the directory src/14wfs
 
8
!!
 
9
!! COPYRIGHT
 
10
!! Copyright (C) 2005 ABINIT group
 
11
!! This file is distributed under the terms of the
 
12
!! GNU General Public License, see ~abinit/COPYING
 
13
!! or http://www.gnu.org/copyleft/gpl.txt .
 
14
!!
 
15
!! NOTES
 
16
!! THIS FILE IS GENERATED AUTOMATICALLY BY abilint.
 
17
!! To do that: abilint . .
 
18
!!             (see util/maintainers/abilint.py)
 
19
!!
 
20
!! SOURCE
 
21
 
 
22
module interfaces_14wfs
 
23
 
 
24
 interface
 
25
  subroutine bestwfs(gcc_block,ghc_block,gscc_block,gscc_calc,&  
 
26
&  gvnlc_block,gvnlc_calc,istwf_k,mpi_enreg,nbdblock,npw_k,nspinor,nvectin,nvectout,wfoptalg)
 
27
   use defs_basis
 
28
   use defs_datatypes
 
29
   integer,intent(in) :: gscc_calc
 
30
   integer,intent(in) :: gvnlc_calc
 
31
   integer,intent(in) :: istwf_k
 
32
   integer,intent(in) :: nbdblock
 
33
   integer,intent(in) :: npw_k
 
34
   integer,intent(in) :: nspinor
 
35
   integer,intent(in) :: nvectin
 
36
   integer,intent(in) :: nvectout
 
37
   integer,intent(in) :: wfoptalg
 
38
   type(MPI_type),intent(inout) :: mpi_enreg
 
39
   real(dp),intent(inout) :: gcc_block(2,npw_k*nspinor,nbdblock)
 
40
   real(dp),intent(inout) :: ghc_block(2,npw_k*nspinor,nbdblock)
 
41
   real(dp),intent(inout) :: gscc_block(2,npw_k*nspinor,nbdblock*gscc_calc)
 
42
   real(dp),intent(inout) :: gvnlc_block(2,npw_k*nspinor,nbdblock)
 
43
  end subroutine bestwfs
 
44
 end interface
 
45
 
 
46
 interface
 
47
  subroutine envlop(cg,ecut,gmet,icgmod,kg,kpoint,mcg,nband,npw,nspinor)
 
48
   use defs_basis
 
49
   integer,intent(in) :: icgmod
 
50
   integer,intent(in) :: mcg
 
51
   integer,intent(in) :: nband
 
52
   integer,intent(in) :: npw
 
53
   integer,intent(in) :: nspinor
 
54
   real(dp),intent(in) :: ecut
 
55
   real(dp),intent(in) :: gmet(3,3)
 
56
   real(dp),intent(in) :: kpoint(3)
 
57
   real(dp),intent(inout) :: cg(2,mcg)
 
58
   integer,intent(in) :: kg(3,npw)
 
59
  end subroutine envlop
 
60
 end interface
 
61
 
 
62
 interface
 
63
  subroutine fxphas(cg,gsc,icg,igsc,istwfk,mcg,mgsc,mpi_enreg,nband_k,npw_k,useoverlap)
 
64
   use defs_basis
 
65
   use defs_datatypes
 
66
   integer,intent(in) :: icg
 
67
   integer,intent(in) :: igsc
 
68
   integer,intent(in) :: istwfk
 
69
   integer,intent(in) :: mcg
 
70
   integer,intent(in) :: mgsc
 
71
   integer,intent(in) :: nband_k
 
72
   integer,intent(in) :: npw_k
 
73
   integer,intent(in) :: useoverlap
 
74
   type(MPI_type),intent(inout) :: mpi_enreg
 
75
   real(dp),intent(inout) :: cg(2,mcg)
 
76
   real(dp),intent(inout) :: gsc(2,mgsc*useoverlap)
 
77
  end subroutine fxphas
 
78
 end interface
 
79
 
 
80
 interface
 
81
  subroutine getghc(cwavef,dimffnl,ffnl,filstat,ghc,gsc,gs_ham,&  
 
82
&  gvnlc,kg_k,kinpw,lmnmax,&  
 
83
&  matblk,mgfft,mpi_enreg,mpsang,mpssoang,&  
 
84
&  natom,ndat,npw,nspinor,ntypat,nvloc,n4,n5,n6,&  
 
85
&  ph3d,prtvol,sij_opt,tim_getghc,vlocal)
 
86
   use defs_basis
 
87
   use defs_datatypes
 
88
   integer,intent(in) :: dimffnl
 
89
   integer,intent(in) :: lmnmax
 
90
   integer,intent(in) :: matblk
 
91
   integer,intent(in) :: mgfft
 
92
   integer,intent(in) :: mpsang
 
93
   integer,intent(in) :: mpssoang
 
94
   integer,intent(in) :: n4
 
95
   integer,intent(in) :: n5
 
96
   integer,intent(in) :: n6
 
97
   integer,intent(in) :: natom
 
98
   integer,intent(in) :: ndat
 
99
   integer,intent(in) :: npw
 
100
   integer,intent(in) :: nspinor
 
101
   integer,intent(in) :: ntypat
 
102
   integer,intent(in) :: nvloc
 
103
   integer,intent(in) :: prtvol
 
104
   integer,intent(in) :: sij_opt
 
105
   integer,intent(in) :: tim_getghc
 
106
   character(len=fnlen),intent(in) :: filstat
 
107
   type(gs_hamiltonian_type),intent(in) :: gs_ham
 
108
   type(MPI_type),intent(inout) :: mpi_enreg
 
109
   real(dp),intent(inout) :: cwavef(2,npw*nspinor*ndat)
 
110
   real(dp),intent(in) :: ffnl(npw,dimffnl,lmnmax,ntypat)
 
111
   real(dp),intent(inout) :: ghc(2,npw*nspinor*ndat)
 
112
   real(dp),intent(out) :: gsc(2,npw*nspinor*ndat*sij_opt)
 
113
   real(dp),intent(inout) :: gvnlc(2,npw*nspinor*ndat)
 
114
   integer,intent(in) :: kg_k(3,npw)
 
115
   real(dp),intent(in) :: kinpw(npw)
 
116
   real(dp),intent(inout) :: ph3d(2,npw,matblk)
 
117
   real(dp),intent(inout) :: vlocal(n4,n5,n6,nvloc)
 
118
  end subroutine getghc
 
119
 end interface
 
120
 
 
121
 interface
 
122
  subroutine listkk(dksqmax,gmet,indkk,kptns1,kptns2,nkpt1,nkpt2,nsym,&  
 
123
&  sppoldbl,symafm,symrel,timrev)
 
124
   use defs_basis
 
125
   integer,intent(in) :: nkpt1
 
126
   integer,intent(in) :: nkpt2
 
127
   integer,intent(in) :: nsym
 
128
   integer,intent(in) :: sppoldbl
 
129
   integer,intent(in) :: timrev
 
130
   real(dp),intent(out) :: dksqmax
 
131
   real(dp),intent(in) :: gmet(3,3)
 
132
   integer,intent(out) :: indkk(nkpt2*sppoldbl,6)
 
133
   real(dp),intent(in) :: kptns1(3,nkpt1)
 
134
   real(dp),intent(in) :: kptns2(3,nkpt2)
 
135
   integer,intent(in) :: symafm(nsym)
 
136
   integer,intent(in) :: symrel(3,3,nsym)
 
137
  end subroutine listkk
 
138
 end interface
 
139
 
 
140
 interface
 
141
  subroutine precon(cg,eval,istwf_k,kinpw,mpi_enreg,npw,nspinor,optekin,pcon,vect)
 
142
   use defs_basis
 
143
   use defs_datatypes
 
144
   integer,intent(in) :: istwf_k
 
145
   integer,intent(in) :: npw
 
146
   integer,intent(in) :: nspinor
 
147
   integer,intent(in) :: optekin
 
148
   real(dp),intent(in) :: eval
 
149
   type(MPI_type),intent(inout) :: mpi_enreg
 
150
   real(dp),intent(in) :: cg(2,npw*nspinor)
 
151
   real(dp),intent(in) :: kinpw(npw)
 
152
   real(dp),intent(inout) :: pcon(npw)
 
153
   real(dp),intent(inout) :: vect(2,npw*nspinor)
 
154
  end subroutine precon
 
155
 end interface
 
156
 
 
157
 interface
 
158
  subroutine prep_fourwf(rhoaug,blocksize,cwavef,wfraug,gs_hamk,istwf_k,iblock,icall,kg_k,&  
 
159
&  mgfft,mpi_enreg,nbdblock,nband_k,npw_k,n4,n5,n6,occ_k,wtk)
 
160
   use defs_basis
 
161
   use defs_datatypes
 
162
   integer :: blocksize
 
163
   integer :: iblock
 
164
   integer :: icall
 
165
   integer :: istwf_k
 
166
   integer :: mgfft
 
167
   integer :: n4
 
168
   integer :: n5
 
169
   integer :: n6
 
170
   integer :: nband_k
 
171
   integer :: nbdblock
 
172
   integer :: npw_k
 
173
   type(gs_hamiltonian_type) :: gs_hamk
 
174
   type(mpi_type) :: mpi_enreg
 
175
   real(dp) :: wtk
 
176
   real(dp) :: cwavef(2,npw_k*blocksize)
 
177
   integer :: kg_k(3,npw_k)
 
178
   real(dp) :: occ_k(nband_k)
 
179
   real(dp) :: rhoaug(n4,n5,n6)
 
180
   real(dp) :: wfraug(2,n4,n5,n6)
 
181
  end subroutine prep_fourwf
 
182
 end interface
 
183
 
 
184
 interface
 
185
  subroutine prep_getghc(cwavef,dimffnl,dtfil,ffnl,gs_hamk,gvnlc,gwavef,swavef,iblock,icall,istwf_k,kg_k,&  
 
186
&  kinpw,lmnmax,matblk,blocksize,mgfft,mpi_enreg,mpsang,mpssoang,natom,nbdblock,nband_k,npw_k,&  
 
187
&  nspinor,ntypat,nvloc,n4,n5,n6,ph3d,prtvol,sij_opt,vlocal)
 
188
   use defs_basis
 
189
   use defs_datatypes
 
190
   integer :: blocksize
 
191
   integer :: dimffnl
 
192
   integer :: iblock
 
193
   integer :: icall
 
194
   integer :: istwf_k
 
195
   integer :: lmnmax
 
196
   integer :: matblk
 
197
   integer :: mgfft
 
198
   integer :: mpsang
 
199
   integer :: mpssoang
 
200
   integer :: n4
 
201
   integer :: n5
 
202
   integer :: n6
 
203
   integer :: natom
 
204
   integer :: nband_k
 
205
   integer :: nbdblock
 
206
   integer :: npw_k
 
207
   integer :: nspinor
 
208
   integer :: ntypat
 
209
   integer :: nvloc
 
210
   integer :: prtvol
 
211
   integer :: sij_opt
 
212
   type(datafiles_type) :: dtfil
 
213
   type(gs_hamiltonian_type) :: gs_hamk
 
214
   type(mpi_type) :: mpi_enreg
 
215
   real(dp) :: cwavef(2,npw_k*nspinor*blocksize)
 
216
   real(dp) :: ffnl(npw_k,dimffnl,lmnmax,ntypat)
 
217
   real(dp) :: gvnlc(2,npw_k*nspinor*blocksize)
 
218
   real(dp) :: gwavef(2,npw_k*nspinor*blocksize)
 
219
   integer :: kg_k(3,npw_k)
 
220
   real(dp) :: kinpw(npw_k)
 
221
   real(dp) :: ph3d(2,npw_k,matblk)
 
222
   real(dp) :: swavef(2,npw_k*nspinor*blocksize)
 
223
   real(dp) :: vlocal(n4,n5,n6,nvloc)
 
224
  end subroutine prep_getghc
 
225
 end interface
 
226
 
 
227
 interface
 
228
  subroutine projbd(cg,direc,iband0,icg,iscg,istwf_k,mcg,mpi_enreg,mscg,nband,&  
 
229
&  npw,ortalg,print,scg,scprod,tim_projbd,useoverlap)
 
230
   use defs_basis
 
231
   use defs_datatypes
 
232
   integer,intent(in) :: iband0
 
233
   integer,intent(in) :: icg
 
234
   integer,intent(in) :: iscg
 
235
   integer,intent(in) :: istwf_k
 
236
   integer,intent(in) :: mcg
 
237
   integer,intent(in) :: mscg
 
238
   integer,intent(in) :: nband
 
239
   integer,intent(in) :: npw
 
240
   integer,intent(in) :: ortalg
 
241
   integer,intent(in) :: print
 
242
   integer,intent(in) :: tim_projbd
 
243
   integer,intent(in) :: useoverlap
 
244
   type(MPI_type),intent(inout) :: mpi_enreg
 
245
   real(dp),intent(in) :: cg(2,mcg)
 
246
   real(dp),intent(inout) :: direc(2,npw)
 
247
   real(dp),intent(in) :: scg(2,mscg*useoverlap)
 
248
   real(dp),intent(out) :: scprod(2,nband)
 
249
  end subroutine projbd
 
250
 end interface
 
251
 
 
252
 interface
 
253
  subroutine pw_orthon(icg,igsc,istwf_k,mcg,mgsc,mpi_enreg,nelem,nvec,&  
 
254
&  ovl_vecnm,useoverlap,vecnm)
 
255
   use defs_basis
 
256
   use defs_datatypes
 
257
   integer,intent(in) :: icg
 
258
   integer,intent(in) :: igsc
 
259
   integer,intent(in) :: istwf_k
 
260
   integer,intent(in) :: mcg
 
261
   integer,intent(in) :: mgsc
 
262
   integer,intent(in) :: nelem
 
263
   integer,intent(in) :: nvec
 
264
   integer,intent(in) :: useoverlap
 
265
   type(MPI_type),intent(inout) :: mpi_enreg
 
266
   real(dp),intent(inout) :: ovl_vecnm(2,mgsc*useoverlap)
 
267
   real(dp),intent(inout) :: vecnm(2,mcg)
 
268
  end subroutine pw_orthon
 
269
 end interface
 
270
 
 
271
 interface
 
272
  subroutine sdirot(cg,evec,icg,mcg,ndim,num,npw)
 
273
   use defs_basis
 
274
   integer,intent(in) :: icg
 
275
   integer,intent(in) :: mcg
 
276
   integer,intent(in) :: ndim
 
277
   integer,intent(in) :: npw
 
278
   integer,intent(in) :: num
 
279
   real(dp),intent(inout) :: cg(2,mcg)
 
280
   real(dp),intent(in) :: evec(2*ndim,num)
 
281
  end subroutine sdirot
 
282
 end interface
 
283
 
 
284
 interface
 
285
  subroutine wfconv(ceksp2,cg1,cg2,debug,ecut1,ecut2,ecut2_eff,&  
 
286
&  eig_k1,eig_k2,exchn2n3,formeig,gmet1,gmet2,icg1,icg2,idum,&  
 
287
&  ikpt1,ikpt10,ikpt2,indkk,inplace,isppol2,istwfk1,istwfk2,&  
 
288
&  kg1,kg2,kptns1,kptns2,mband1,mband2,mcg1,mcg2,mgfft,mpi_enreg,mpw1,mpw2,nbd1,nbd2,&  
 
289
&  ngfft,nkpt1,nkpt2,npw1,npw2,nspinor1,nspinor2,nsym,&  
 
290
&  occ_k1,occ_k2,optorth,restart,rprimd2,sppoldbl,symafm,symrel,tnons)
 
291
   use defs_basis
 
292
   use defs_datatypes
 
293
   integer,intent(in) :: ceksp2
 
294
   integer,intent(in) :: debug
 
295
   integer,intent(in) :: exchn2n3
 
296
   integer,intent(in) :: formeig
 
297
   integer,intent(in) :: icg1
 
298
   integer,intent(in) :: icg2
 
299
   integer,intent(in) :: idum
 
300
   integer,intent(in) :: ikpt1
 
301
   integer,intent(inout) :: ikpt10
 
302
   integer,intent(in) :: ikpt2
 
303
   integer,intent(in) :: inplace
 
304
   integer,intent(in) :: isppol2
 
305
   integer,intent(in) :: mband1
 
306
   integer,intent(in) :: mband2
 
307
   integer,intent(in) :: mcg1
 
308
   integer,intent(in) :: mcg2
 
309
   integer,intent(in) :: mgfft
 
310
   integer,intent(in) :: mpw1
 
311
   integer,intent(in) :: mpw2
 
312
   integer,intent(in) :: nbd1
 
313
   integer,intent(in) :: nbd2
 
314
   integer,intent(in) :: nkpt1
 
315
   integer,intent(in) :: nkpt2
 
316
   integer,intent(inout) :: npw1
 
317
   integer,intent(inout) :: npw2
 
318
   integer,intent(in) :: nspinor1
 
319
   integer,intent(in) :: nspinor2
 
320
   integer,intent(in) :: nsym
 
321
   integer,intent(in) :: optorth
 
322
   integer,intent(in) :: restart
 
323
   integer,intent(in) :: sppoldbl
 
324
   real(dp),intent(in) :: ecut1
 
325
   real(dp),intent(in) :: ecut2
 
326
   real(dp),intent(in) :: ecut2_eff
 
327
   type(MPI_type),intent(inout) :: mpi_enreg
 
328
   real(dp),intent(in) :: gmet1(3,3)
 
329
   real(dp),intent(in) :: gmet2(3,3)
 
330
   integer,intent(in) :: ngfft(18)
 
331
   real(dp),intent(in) :: rprimd2(3,3)
 
332
   real(dp),intent(in) :: cg1(2,mcg1)
 
333
   real(dp),intent(out) :: cg2(2,mcg2)
 
334
   real(dp),intent(in) :: eig_k1(mband1*(2*mband1)**formeig)
 
335
   real(dp),intent(out) :: eig_k2(mband2*(2*mband2)**formeig)
 
336
   integer,intent(in) :: indkk(nkpt2*sppoldbl,6)
 
337
   integer,intent(in) :: istwfk1(nkpt1)
 
338
   integer,intent(in) :: istwfk2(nkpt2)
 
339
   integer,intent(inout) :: kg1(3,mpw1)
 
340
   integer,intent(inout) :: kg2(3,mpw2)
 
341
   real(dp),intent(in) :: kptns1(3,nkpt1)
 
342
   real(dp),intent(in) :: kptns2(3,nkpt2)
 
343
   real(dp),intent(in) :: occ_k1(mband1)
 
344
   real(dp),intent(out) :: occ_k2(mband2)
 
345
   integer,intent(in) :: symafm(nsym)
 
346
   integer,intent(in) :: symrel(3,3,nsym)
 
347
   real(dp),intent(in) :: tnons(3,nsym)
 
348
  end subroutine wfconv
 
349
 end interface
 
350
 
 
351
end module interfaces_14wfs
 
352
!!***