rhoq_find_kmask Subroutine

public subroutine rhoq_find_kmask(nofks, k_end, bzkp, kmask, rhoq_kmask)

Uses

Read kpts.txt file and kmask_info.txt file on master and from there determine if some k-points can be thrown out. The input of the kmask_info.txt file determines the behavior of this routine: * file not present: take all k-points * 1 in first line (determines mode): ring-like region around R0=(kx,ky) [in line 2] with inner and outer radii being R1 and R2 [lines 3 and 4] * 2 in first line: take box defined by kx_min, kx_max, ky_min, ky_max (each given in a new line) * 3 in first line: read predefined mask (1/0) values need to be given for all k-points, each in a new line

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nofks

number of k-points

integer, intent(out) :: k_end

number of k-points after filtering

real(kind=dp), intent(in) :: bzkp(3,nofks)

k-points array

integer, intent(out), allocatable :: kmask(:)

kmask array labelling points (either inside or outside of masked region)

real(kind=dp), intent(out), allocatable :: rhoq_kmask(:,:)

output array holding kpoints and indices in reduced region only