Skip to content

Add monkhorst pack method, which utilizes an actual physical metric

Add mindistance2monkhorstpack method, which utilizes actual physical quantities in determining MP grid, instead of calculators.calculator.kptdensity2monkhorstpack which uses only length of reciprocal vectors disregarding their mutual angles.

from ase import Atoms
from ase.dft.kpoints import mindistance2monkhorstpack
from ase.calculators.calculator import kptdensity2monkhorstpack
import numpy as np
atoms = Atoms('H', positions=[[0,0,0]], cell=[[5,0,0],[5*np.cos(15/180*np.pi),5*np.sin(15/180*np.pi),0],[0,0,5]], pbc=[True,True,False])
print(mindistance2monkhorstpack(atoms, kptdensity=2.5), 
      kptdensity2monkhorstpack(atoms, kptdensity=2.5))

Returns

[14  4  1] [14 14  1]

Here are plots of resulting k+G-point grids. example

Merge request reports