code: def kpoints(self):
          
  
          # To get input sets, the input structure has to has the same number
          # of required parameters as a Structure object (ie. 4). Slab
          # attributes aren't going to affect the VASP inputs anyways so
          # converting the slab into a structure should not matter
  
          kpt = super().kpoints
          kpt.comment = "Automatic mesh"
          kpt.style = 'Gamma'
  
          # use k_product to calculate kpoints, k_product = kpts[0][0] * a
          abc = self.structure.lattice.abc
          kpt_calc = [int(self.k_product / abc[0] + 0.5),
                      int(self.k_product / abc[1] + 0.5), 1]
          self.kpt_calc = kpt_calc
          # calculate kpts (c direction) for bulk. (for slab, set to 1)
          if self.bulk:
              kpt_calc[2] = int(self.k_product / abc[2] + 0.5)
  
          kpt.kpts[0] = kpt_calc
  
          return kpt
docs: k_product, default to 50, is kpoint number * length for a & b
              directions, also for c direction in bulk calculations
          Automatic mesh & Gamma is the default setting.