Augmentation de la taille des supercellules pour augmenter l'échantillonnage en points K

Aug 19 2020

Supposons que j'ai un système avec une propriété qui dépend fortement de la densité des points k, à savoir la fonction diélectrique. En utilisant une petite supercellule, disons avec 4 atomes, j'ai atteint l'échantillonnage maximum autorisé de Quantum ESPRESSO (34x34x34), et je ne suis pas sûr d'avoir atteint la convergence. Pour aller plus loin, je devrais changer le code source et recompiler le programme, cependant, ce n'est pas le cas pour le moment. Si l'on fabrique une supercellule avec deux fois le volume de la première, l'utilisation du même k-échantillonnage (le maximum, par exemple) assure un maillage plus dense. Cette procédure est-elle une bonne solution de contournement pour augmenter l'échantillonnage, étant donné que j'ai toujours une structure gérable et que le temps d'exécution est acceptable?

Réponses

10 ProfM Aug 19 2020 at 23:03

Réponse courte: Oui, en doublant le volume de la cellule de simulation, vous pourrez échantillonner efficacement un plus fin$\mathbf{k}$grille de points pour calculer la fonction diélectrique. Cependant, le calcul sera plus coûteux que la simple augmentation du nombre de$\mathbf{k}$-points directement dans le calcul de la cellule primitive.

Réponse plus longue: dans l'espace réciproque, le volume de la zone de Brillouin est divisé par deux lorsque vous doublez le volume réel de la supercellule spatiale. Cela signifie que, si vous conservez la même densité de$\mathbf{k}$-points que vous aviez pour votre cellule d'origine, puis le nombre de $\mathbf{k}$-les points dans le nouveau BZ ne seront que la moitié du nombre que vous aviez dans le BZ d'origine. Cependant, les états de la BZ d'origine correspondant à$\mathbf{k}$-les points qui sont maintenant laissés en dehors du BZ de la supercellule seront repliés dans le nouveau BZ, de sorte que le nombre total d'états par $\mathbf{k}$-point sera deux fois plus grand que vous en aviez à l'origine, de sorte que dans l'ensemble, vous ayez exactement le même niveau d'échantillonnage. Ce que vous proposez de faire est d'augmenter la densité de$\mathbf{k}$-points en échantillonnant le même nombre de points dans le nouveau BZ plus petit que le plus grand BZ d'origine. De cette façon, vous augmentez efficacement votre$\mathbf{k}$-échantillonnage ponctuel.

Cette stratégie devrait fonctionner correctement pour des quantités qui dépendent d'une intégration BZ, comme le calcul de l'énergie totale ou de la fonction diélectrique. Cependant, pour les quantités pour lesquelles vous êtes intéressé par la localisation des états dans la BZ d'origine (par exemple pour localiser les extrema de bande interdite d'un isolant), le pliage de bande compliquera considérablement l'analyse.

Un dernier point: bien que cette stratégie fonctionnera, je vous recommande fortement de modifier Quantum Espresso pour augmenter la limite codée en dur sur le nombre de $\mathbf{k}$-points pour que vous puissiez faire le calcul avec une cellule primitive. Avec cette stratégie, le coût de calcul devrait être moindre.