m_fock/fock_init [ Functions ]

cg(2,mcg)= wavefunctions
dtset <type(dataset_type)>= all input variables for this dataset
gsqcut= Fourier cutoff on G^2 used to calculate charge density
kg(3,mpw*mkmem)= reduced planewave coordinates.
mcg= size of wave-functions array (cg) =mpw*nspinor*mband*mkmem*nsppol
mpi_enreg=information about MPI parallelization
npwarr_bz(nkpt)= number of planewaves in basis at this k point
occ(mband*nkpt*nsppol)= occupation number for each band (often 2) at each k point

OUTPUT

none

SIDE EFFECTS

fock <type(fock_type)>= all the quantities to calculate Fock exact exchange are initialized

NOTES

############################
### Not fully tested yet ###
############################
The current version is restricted to the case nsym=1, nspinor=1 and mkmem/=0.

m_fock/fock_updateikpt [ Functions ]

Update the value of ikpt,isppol for the next exact exchange calculation.

INPUTS

fock <type(fock_type)>= all the quantities to calculate Fock exact exchange
gs_ham <type(gs_hamiltonian_type)>= all data for the Hamiltonian to be applied
ikpt= reduced planewave coordinates.
isppol= number of planewaves in basis at this k point