Skip to content

Commit 68a3bec

Browse files
committed
avoid equivalent k points
1 parent fdd65b7 commit 68a3bec

1 file changed

Lines changed: 11 additions & 13 deletions

File tree

src/main_nep/nep_charge.cu

Lines changed: 11 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1255,19 +1255,17 @@ static __global__ void find_k_and_G(
12551255
for (int n2 = - n2_max; n2 <= n2_max; ++n2) {
12561256
for (int n3 = - n3_max; n3 <= n3_max; ++n3) {
12571257
const int nsq = n1 * n1 + n2 * n2 + n3 * n3;
1258-
if (nsq > 0) {
1259-
const float kx = n1 * b1[0] + n2 * b2[0] + n3 * b3[0];
1260-
const float ky = n1 * b1[1] + n2 * b2[1] + n3 * b3[1];
1261-
const float kz = n1 * b1[2] + n2 * b2[2] + n3 * b3[2];
1262-
const float ksq = kx * kx + ky * ky + kz * kz;
1263-
if (ksq < ksq_max) {
1264-
const int nc_nk = nc * num_kpoints_max + (nk++);
1265-
g_kx[nc_nk] = kx;
1266-
g_ky[nc_nk] = ky;
1267-
g_kz[nc_nk] = kz;
1268-
const float symmetry_factor = (n1 > 0) ? 2.0f : 1.0f;
1269-
g_G[nc_nk] = symmetry_factor * abs(two_pi_over_det) / ksq * exp(-ksq * alpha_factor);
1270-
}
1258+
if (nsq == 0 || (n1 == 0 && n2 < 0) || (n1 == 0 && n2 == 0 && n3 < 0)) continue;
1259+
const float kx = n1 * b1[0] + n2 * b2[0] + n3 * b3[0];
1260+
const float ky = n1 * b1[1] + n2 * b2[1] + n3 * b3[1];
1261+
const float kz = n1 * b1[2] + n2 * b2[2] + n3 * b3[2];
1262+
const float ksq = kx * kx + ky * ky + kz * kz;
1263+
if (ksq < ksq_max) {
1264+
const int nc_nk = nc * num_kpoints_max + (nk++);
1265+
g_kx[nc_nk] = kx;
1266+
g_ky[nc_nk] = ky;
1267+
g_kz[nc_nk] = kz;
1268+
g_G[nc_nk] = 2.0f * abs(two_pi_over_det) / ksq * exp(-ksq * alpha_factor);
12711269
}
12721270
}
12731271
}

0 commit comments

Comments
 (0)