Aumentare la dimensione della supercella per aumentare il campionamento dei punti K.
Supponiamo che io abbia un sistema con una proprietà che è fortemente dipendente dalla densità dei punti k, vale a dire la funzione dielettrica. Utilizzando una piccola supercella, diciamo con 4 atomi, ho raggiunto il massimo campionamento consentito di Quantum ESPRESSO (34x34x34) e non sono sicuro di aver raggiunto la convergenza. Per andare oltre dovrei cambiare il codice sorgente e ricompilare il programma, tuttavia, al momento non è così. Se si crea una supercella con il doppio del volume della prima, utilizzando lo stesso k-sampling (quello massimo, per esempio) si garantisce una mesh più densa. Questa procedura è una buona soluzione per aumentare il campionamento, dato che ho ancora una struttura gestibile e il runtime è accettabile?
Risposte
Risposta breve: Sì, raddoppiando il volume della cella di simulazione sarai in grado di campionare efficacemente una cella più fine$\mathbf{k}$griglia di punti per calcolare la funzione dielettrica. Tuttavia, il calcolo sarà più costoso del semplice aumento del numero di file$\mathbf{k}$-punti direttamente nel calcolo della cella primitiva.
Risposta più lunga: nello spazio reciproco, il volume della zona Brillouin viene diviso per due quando si raddoppia il volume della supercella dello spazio reale. Ciò significa che, se mantieni la stessa densità di$\mathbf{k}$-punti che avevi per la cella originale, quindi il numero di $\mathbf{k}$-punti nella nuova BZ saranno solo la metà del numero che avevi nella BZ originale. Tuttavia, gli stati nella BZ originale corrispondenti a$\mathbf{k}$-punti che ora sono lasciati fuori dalla BZ della supercella verranno piegati nella nuova BZ, in modo tale che il numero totale di stati per $\mathbf{k}$-point sarà il doppio di quello che avevi originariamente, in modo che nel complesso avrai lo stesso identico livello di campionamento. Quello che ti proponi di fare è aumentare la densità di$\mathbf{k}$-punti campionando lo stesso numero di punti nella nuova BZ più piccola rispetto alla BZ più grande originale. In questo modo, stai effettivamente aumentando il tuo$\mathbf{k}$punto di campionamento.
Questa strategia dovrebbe funzionare bene per quantità che dipendono da un'integrazione BZ, come il calcolo dell'energia totale o della funzione dielettrica. Tuttavia, per le quantità per le quali si è interessati alla posizione degli stati nella BZ originale (ad esempio per individuare gli estremi del band gap di un isolante), il bend folding complicherà notevolmente l'analisi.
Un ultimo punto: sebbene questa strategia funzionerà, consiglio vivamente di modificare Quantum Espresso per aumentare il limite hardcoded sul numero di $\mathbf{k}$-points in modo da poter eseguire il calcolo con una cella primitiva. Con questa strategia il costo computazionale dovrebbe essere inferiore.