The simple answer is that you do not really need to think about such details. You just need to select one single set of k-points (kA, kB, kC) in the VNL Scripter, then the k-point sampling for both electrode calculations and for the device calculation are automatically set up correctly.
The more advanced answer is that 3 calculations are needed (electrode #1, electrode #2, device NEGF), so 3 k-point grids are set up in the ATK Python script. But they are all identical. Example:
left_electrode_k_point_sampling = MonkhorstPackGrid(
na=5,
nb=5,
nc=165,
)
left_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
k_point_sampling=left_electrode_k_point_sampling,
density_mesh_cutoff=140.0*Hartree,
)
right_electrode_k_point_sampling = MonkhorstPackGrid(
na=5,
nb=5,
nc=165,
)
right_electrode_numerical_accuracy_parameters = NumericalAccuracyParameters(
k_point_sampling=right_electrode_k_point_sampling,
density_mesh_cutoff=140.0*Hartree,
)
device_k_point_sampling = MonkhorstPackGrid(
na=5,
nb=5,
nc=165,
)
device_numerical_accuracy_parameters = NumericalAccuracyParameters(
k_point_sampling=device_k_point_sampling,
density_mesh_cutoff=140.0*Hartree,
)