Está en la página 1de 8

INCAR

INTRODUCCIÓN

Breve historia del código VASP:

VASP se basa en un programa escrito inicialmente por Mike Payne en el MIT. Por lo tanto, VASP
tiene las mismas raíces que el código CASTEP / CETEP, pero se ramificó en una etapa muy
temprana. En el momento en que se inició el desarrollo de VASP, el nombre CASTEP aún no estaba
establecido. La versión CASTEP en la que se basa VASP solo es compatible con pseudopotenciales
locales y un algoritmo de descenso más pronunciado de tipo Car-Parrinello.
En Julio de 1989, Jurgen Hafner trajo el código a Viena después de medio año de estancia en
Cambridge, y en Septiembre de 1991 se inició el trabajo en el código VASP. En este momento, de
hecho, el código CASTEP, ya estaba más desarrollado, aunque el desarrollo de VASP se basó en la
antigua versión CASTEP de 1989. En Octubre de 1992 se incluyeron pseudopotenciales ultra
suaves, junto con el bucle de autoconsistencia para tratar los metales de manera eficiente.
En enero de 1993, J. Furthmu ̈ller se unió al grupo, escribió la primera versión del mezclador de
densidad de carga Pulay/Broyden y contribuyó, entre otras cosas, al código de simetría, el lector
INCAR y un rápido 3D-FFT. Luego, en Julio de 1997 comenzó la implementación del método de
proyección de onda aumentada (PAW).

En este código, la mayoría de los cálculos se realizarán en un directorio de trabajo, y antes de


comenzar un cálculo, se deben crear varios archivos en este directorio. Los archivos de entrada
más importantes son:

- INCAR
- POTCAR
- POSCAR
- KPOINTS
- script(ejecutable para correr el cálculo mediante VASP)

DEFINICIÓN

Ahora bien, el archivo INCAR es el archivo de entrada central de VASP. Determina “las tareas a
realizar y el modo en que se llevarán a cabo". Es un archivo ASCII libre con formato etiquetado, ya
que cada línea consta de una etiqueta (es decir, una cadena) con el signo de ecuación ’=’ y uno o
varios valores.

Los valores predeterminados se suministran para la mayoría de los parámetros, por lo que si un
usuario que desconoce su significado, no debe cambiar ninguno de estos. Es posible dar varios
pares de valores de parámetros (tag = valores) en una sola línea, si cada uno de estos pares está
separado por un punto y coma ’;’.
- Si una línea termina con una barra invertida, la siguiente línea se considera una línea de
continuación.
- Los comentarios suelen ir precedidos por el signo de número ’#’, pero en la mayoría de los casos
se pueden agregar a un par de parámetros-valores sin el ’#’. En este caso, se deben evitar los
puntos y comas dentro del comentario.
!1
INCAR
PARÁMETROS SEGÚN EL TIPO DE CÁLCULO

Cálculos estáticos: Para comenzar un cálculo, es necesario eliminar, si existe, el archivo WAVECAR
y comenzar desde cero. Los valores por defecto para algunos parámetros serán:

ISTART = 0 # startjob: no hay archivo WAVECAR


ICHARG = 2 # carga de los átomos del sistema
INIWAV = 1 # inicialización aleatoria para wf.
NELM = 40 # máximo de 40 pasos electrónicos
NELMIN = 2 # mínimo de dos pasos
NELMDL = -5 # Sin actualización de cargo por 3 pasos.
EDIFF = 10E-4 # exactitud para minimización electrónica. Es la energía máxima que tienen que
tener las fuerzas entre iones para dar por concluido el cálculo.

Continuación de un cálculo: En algunos casos, tiene sentido comenzar desde un archivo


WAVECAR antiguo (por ejemplo, para continuar la relajación o para continuar con un corte de
energía mayor ENCUT). En este caso, simplemente se debe mantener el archivo WAVECAR e
iniciar VASP. Los valores predeterminados son ahora:

ISTART = 1 # continuar desde el archivo WAVECAR


ICHARG = 0 # carga de orbitales
INIWAV = 1 # inicialización aleatoria para wf.
NELM = 40 # máximo de 40 pasos electrónicos
NELMIN = 2 # mínimo de dos pasos
NELMDL = 0 # actualizar inmediatamente el cargo
EDIFF = 10E-4 # exactitud para minimización electrónica. Es la energía máxima que tienen que
tener las fuerzas entre iones para dar por concluido el cálculo.

Puede establecer ICHARG = 1 a mano si existe un archivo CHGCAR antiguo. Si el cambio de


carga es significativo, esto ahorrará algunos pasos, en comparación con la configuración
predeterminada. Luego, para continuar con la relajación de una ejecución anterior, se debe copiar
el archivo CONTCAR en POSCAR y enviar el cálculo nuevamente.

Configuración mínima recomendada: Aunque los cálculos anteriores se pueden realizar


utilizando un archivo INCAR vacío, se recomienda especificar algunos parámetros siempre de
forma manual:

PREC = Normal # precisión normal


ENCUT = 300 # es el corte de energía utilizado en todos los cálculos
LREAL = .FALSO. o Auto # proyección de espacio real sí/no
ISMEAR = 0 o 1 o -5 # método para determinar ocupaciones parciales

Estos cuatro parámetros deben estar presentes en todos los cálculos. Controlan completamente la
precisión técnica de los cálculos, en particular los conjuntos de bases (mediante ENCUT), y si se
usa o no el esquema de proyección del espacio real.

!2
INCAR
Las energías totales de dos cálculos sólo deben compararse y restarse, si los tres primeros
parámetros se establecen de forma idéntica en ambos cálculos. Idealmente, el parámetro ISMEAR
también debe ser idéntico en todos los cálculos .

Relajación eficiente a partir de una suposición de partida irrazonable: Si desea realizar una
relajación eficiente desde una configuración que no se aproxime al mínimo, se deben configurar los
siguientes valores en el archivo INCAR:

NELMIN = 5 # hacer un mínimo de cuatro pasos electrónicos


EDIFF = 1E-2 # baja precisión
EDIFFG = -0.3 # exactitud de iones no demasiado alta
NSW = 50 # 50 pasos iónicos en iones
IBRION = 2 # usar algoritmo CG

PARÁMATEROS UTILIZADOS EN SUPERFICIES SÓLIDAS

SYSTEM = Generic

#Start parameter for this run:


ISTART = 1 ! start job from scratch (see INIWAV)
INIWAV = 1 ! Fill wavefunctions arrays with random numbers
ICHARGE = 1 ! Calculate charge density from initial wave function

#Electronic relaxation:
ENCUT = 400.0 ! Cutoff energy for plane waves basis set in eV
ALGO = ALL
LREAL = Auto
LSUBROT = .FALSE.
NELMIN = 8 ! Minimum number of eletronic selfconsistency (SC) steps
NELM = 250 ! Maximum number of electronic SC steps
NELMDL = -12 ! Number of NON-SCF steps (SHOULD be NEGATIVE)
EDIFF = 1E-6 ! Global-break condition for the electronic SC-loop (ELM)

#Calculation mode:
PREC = Accurate ! Calculation level (Changes FFT-grids)
LORBIT = 11
ISPIN = 2 ! spin-polarized calculations
NUPDOWN = 4
MAGMOM = 16*1.0 32*1.0 1*1.0
LMAXMIX = 6 ! PAW flag
ADDGRID = .TRUE. ! PAW flag
LASPH = .TRUE. ! PAW flag
ISYM = 0

##PBE+U calculation:
LDAU = .TRUE.
LDAUTYPE = 2
!3
INCAR
LDAUL = 3 -1 -1 #3 para orbitales f
LDAUU = 4.50 0.00 0.00
LDAUJ = 0.00 0.00 0.00
LDAUPRINT = 0

#Integration over the Brillouin zone (BZ):


ISMEAR = 0 ! Gaussian smearing
SIGMA = 0.05

#Ionic relaxation:
NSW = 100 ! Number of ionic steps
EDIFFG = -0.050 ! stop if all forces are smaller than |EDIFFG|
IBRION = 2

ISTART

Este parámetro determina si se lee el archivo WAVECAR o no.

0 - Comenzar trabajo: comenzar 'desde cero'. Inicializa las funciones de onda según el indicador
INIWAV.
1 - Reiniciar con corte de energía constante ''. Trabajo de continuación: lee las funciones de onda
del archivo WAVECAR

El conjunto de ondas planas se redefinirá y se volverá a rellenar de acuerdo con el nuevo tamaño y
forma de celda (leído del POSCAR) y el nuevo corte de onda plana (INCAR). Estos valores pueden
diferir de los valores antiguos, que se almacenan en el archivo WAVECAR. Si falta el archivo
WAVECAR o si el archivo WAVECAR contiene un número inadecuado de bandas y/o puntos K, el
indicador ISTART se establecerá en 0. En este caso, VASP comienza desde cero e inicializa las
funciones de onda según el indicador INIWAV.

Se recomienda el uso de ISTART = 1 si el tamaño/forma de la supercelda o la energía de corte


cambió con respecto a la última ejecución y si uno desea redefinir el conjunto de ondas planas de
acuerdo con una nueva configuración.

ISTART = 1 es el ajuste habitual para las pruebas de convergencia con respecto a la energía de corte
y para todos los trabajos en los que el volumen y la forma de la celda varía (por ejemplo, para
calcular curvas de energía de enlace en un conjunto de volúmenes).

INIWAV

Sólo se usa para iniciar trabajos (ISTART = 0). Especifica cómo configurar las funciones de onda
iniciales:

1. Toma 'funciones de onda de jellium', esto significa simplemente: rellenar arreglos de


función de onda con ondas planas de la energía cinética más baja, que son vectores más
bajos para un potencial constante ('jellium')
2. Rellena matrices de funciones de onda con números aleatorios. Se sebe utilizarsiempre que
sea posible.

!4
INCAR
ICHARG

Determina el modo de construir la densidad de carga 'inicial'.

0 - Calcula la densidad de carga de las funciones de onda iniciales.

Atención: si ISTART se reinicia internamente debido a un archivo WAVECAR no válido, el


parámetro ICHARG se establecerá en ICHARG = 2.

1- Lee la densidad de carga del archivo CHGCAR y extrapola de las posiciones antiguas a las
nuevas posiciones utilizando una combinación lineal de densidades de carga atómica
2- Toma una superposición de densidades de carga atómica.
+10- cálculo no autoconsistente. El hecho de agregar diez al valor de ICHARG (por ejemplo,
utilizando 11,12 o el valor 10 menos conveniente) significa que la densidad de carga se mantendrá
constante durante toda la minimización electrónica.

Hay varias razones por las que usar esta bandera: ICHARG = 11:
- para obtener los valores propios (para diagramas de estructura de banda),
- para obtener funciones propias o
- para emplear una densidad de estados (DOS) para una densidad de carga dada tomada de
CHGCAR. El CHGCAR se puede obtener a partir de un cálculo autoconsistente para un
conjunto de puntos k más pequeño.

- 12- Se obtienen cálculos no autoconsistentes para una superposición de densidades de carga


atómica. Esto está en el espíritu de la función no autoconsistente de Harris-Foulkes. La tensión y
las fuerzas calculadas por VASP son correctas, y es absolutamente posible realizar un MD ab-initio
para el funcionamiento no independiente de Harris-Foulkes (consulte la sección 9.3).

La densidad de carga inicial es importante en los siguientes casos: Si ICHARG> 10, la densidad de
carga permanece constante durante la ejecución. Para todos los algoritmos, excepto IALGO = 5X, la
densidad de carga inicial se usa para configurar el Hamiltoniano inicial que se usa en los primeros
pasos no independientes (NELMDL)

ENCUT

Es la energía de corte para la base de onda plana establecida (en eV). Todas las ondas planas con
una energía cinética menor que Ecut se incluyen en el conjunto de bases:

" "

El número de ondas planas difiere para cada punto k, lo que lleva a un comportamiento superior
para, por ejemplo, cálculos de energía-volumen. Si el volumen aumenta, el número total de ondas

planas cambia pero en forma gradual, suavemente, y el criterio ! (es decir, la misma

!5
INCAR
base establecida para cada punto k) llevaría a una curva de energía-volumen muy aproximada y,
generalmente, una convergencia de energía más lenta.

A partir de la versión VASP 3.2, los archivos POTCAR contienen una línea predeterminada
ENMAX (y ENMIN), por lo tanto, en principio, no es necesario especificar ENCUT en el archivo
INCAR. Pero también es recomendable especificar el corte manualmente en el archivo INCAR y
mantenerlo constante a lo largo de un conjunto de cálculos.

ALGO

Permite especificar el algoritmo de minimización electrónico en VASP.4.5 y versiones posteriores.


Excepto por `` Ninguno '' y `` Nada '', `` Exactamente '' y `` Diag '', la primera letra determina el
algoritmo aplicado. Por ejemplo, Conjugado, Subrot, Eigenval, Exact, None y Nothing solo son
compatibles con VASP.5.2.12 y versiones más recientes.

- Si se emplea ALGO = Normal, entonces se selecciona IALGO = 38 , que emplea el esquema de


iteración de Davidson bloqueado.
- Si se emplea ALGO = Very_Fast, selecciona IALGO = 48 (RMM-DIIS).
- Si se emplea ALGO = Rápido, se selecciona una mezcla robusta a prueba de fallas de ambos
algoritmo. Entonces se emplea el algoritmo Davidson (IALGO = 38) para la fase inicial, y luego
VASP cambia a RMM-DIIS (IALGO = 48).
- Posteriormente, para cada actualización iónica, se realiza un barrido IALGO = 38 para cada paso
iónico (excepto el primero).

- Si se emplea ALGO = Conjugado o ALGO = Todo, se ordena la actualización simultánea de


todos los orbitales de banda, con un IALGO = 58. Por lo tanto, en ambos casos se utiliza el
mismo algoritmo de gradiente conjugado.
- Si se selecciona ALGO = Damped, y por lo tanto, un IALGO = 53, se emplea un algoritmo de
fricción de velocidad amortiguada.
- El parámetro con ALGO = Subrot selecciona la rotación del subespacio o la diagonalización en
el subespacio abarcado por los orbitales NBANDS calculados. Y en este caso, se trabaja con un
IALGO = 4.
- Con ALGO = Exacto o ALGO = Diag, se realiza una diagonalización exacta, empleando IALGO
= 90. Es recomendable si se calculan más del 30-50% de los estados (por ejemplo, para los
cálculos de $ GW $ o RPA).
- ALGO = Eigenval permite recalcular las energías de un electrón, la densidad de estado y
realizar el posprocesamiento seleccionado utilizando los orbitales actuales. Se debe trabajar con
un IALGO = 3, por ejemplo. leer de WAVECAR.
- ALGO = Ninguno o ALGO = Nada permiten recalcular la densidad de estados (valores propios
de WAVECAR, por ejemplo, utilizando diferentes métodos de difuminado o tetraedro) o realizar
otro proceso seleccionado utilizando los orbitales actuales y las energías de un electrón (IALGO
= 2).

LREAL

- .FALSO.: Se emplea una proyección realizada en espacio recíproco.


- .CIERTO.: Se emplea una proyección hecha en el espacio real.
- On u O: Implica una proyección realizada en espacio real, donde los operadores de proyección
son re-optimizados
!6
INCAR
- Auto o A: Se emplea una proyección hecha en el espacio real, con una optimización totalmente
automática de los operadores de proyección, y no requiere interferencia del usuario.

Este parámetro determina si los operadores de proyección se evalúan en el espacio real o en el


espacio recíproco: la parte no local del pseudopotencial requiere la evaluación de una expresión:

Esta expresión se puede evaluar en un espacio recíproco o real:

A - En el espacio recíproco (segunda línea), el número de operaciones se escala con el tamaño del
conjunto de bases (es decir, el número de ondas planas).
B - En el espacio real (primera línea) los operadores de proyección están confinados a esferas
alrededor de cada átomo. Uno de los principales obstáculos del método que trabaja en el espacio
real es que los operadores de proyección deben optimizarse, es decir, todos los componentes de
alta frecuencia deben eliminarse de los operadores de proyección. Si esto no se hace, puede ocurrir
un 'aliasing' (es decir, los componentes de alta frecuencia de los operadores de proyección tienen
un alias de componentes de baja frecuencia y se introduce un ruido aleatorio).

VASP admite tres esquemas diferentes para eliminar los componentes de alta frecuencia de los
proyectores:

- LREAL = .TRUE. Es el más sencillo, en donde se seleccionan los proyectores de espacio real que
han sido generados por el código de generación pseudopotencial. Esto no requiere interferencia
del usuario. Para LREAL = en el espacio real, los proyectores se optimizan mediante vasp
utilizando un algoritmo propuesto por King-Smith et al.
- Para LREAL = Automático, se utiliza un nuevo esquema que es considerablemente mejor (lo que
da como resultado funciones de proyector más localizadas) que el método de King-Smith et al..
Entonces, si se usa LREAL = Auto o LREAL = On para ajustar el procedimiento de optimización,
se puede usar el parámetro ROPT.
- Se recomienda emplear solo LREAL = Automático (para la versión vasp.4.4 y versiones más
recientes) y LREAL = Activado (para todas las demás versiones).

Además, se recomienda utilizar el esquema de proyección en el espacio real para sistemas que
contengan más de 20 átomos.

Para LREAL = O y LREAL = A, los operadores de proyección están optimizados por VASP desde el
inicio del cálculo. Varias banderas influyen en la optimización.

PREC

La etiqueta PREC especifica qué tan precisos deben ser los proyectores de espacio real, y establece
las variables ROPT de acuerdo con los siguientes valores:

Para LREAL = On

PREC = 700 puntos bajos en la esfera del espacio real (ROPT = 0,67)
PREC = Med 1000 puntos en la esfera del espacio real (ROPT = 1.0)
PREC = Alto 1500 puntos en la esfera del espacio real (ROPT = 1.5)

!7
INCAR
Para LREAL = Auto

PREC = Baja precisión, de 2X10-2 (ROPT = 0.01)


PREC = Mediana precision, de 2X10-3 (ROPT = 0.002)
PREC = Alta precisión, de 2X10-4 (ROPT = 2E-4)

Estos valores por defecto pueden ser reemplazados por la línea

ROPT

ROPT = un número para cada especie atómica, en el archivo INCAR.

Por ejemplo
ROPT = 0.7 1.5

Este parámetro establece el número de puntos de espacio real dentro de la esfera de corte para la
primera especie en aproximadamente 700, y el de la segunda especie en 1500. De manera
alternativa, la "precisión" de los operadores puede especificarse escribiendo, es decir,

ROPT = 1E-3 1E-3

En ese caso, los operadores de espacio real se optimizarán para una precisión de aproximadamente
1meV/átomo (10-3). El modo `` precisión '' funciona tanto para LREAL = On como para LREAL =
Auto (pero para mantener la compatibilidad con la versión vasp más antigua, solo se selecciona si
LREAL = Auto se especifica en el archivo INCAR). El modo de precisión generalmente se activa si
el valor de ROPT es menor que 0.1. El modo `` precisión '' y el modo convencional se pueden
mezclar, es decir, es posible especificar:

ROPT = 0.7 1E-3

Predeterminado para LREAL .FALSE.


en ese caso, la cantidad de puntos del espacio real dentro de la esfera de corte para la primera
especie será de aproximadamente 700, mientras que las funciones del proyector espacial real para
la segunda especie están optimizadas para una precisión de aproximadamente 1 meV.


La optimización del espacio real (LREAL = .TRUE., LREAL = On o LREAL = Auto) siempre
produce un pequeño error (no necesariamente despreciable) (el error suele ser un cambio constante
de energía para cada uno) átomo). Si se está interesado en diferencias de energía de unos pocos
meV, use solo cálculos con la misma configuración (es decir, la misma configuración ENCUT,
PREC, LREAL y ROPT) para todos los cálculos. Por ejemplo, si desea calcular las energías de la
superficie, vuelva a calcular la energía del estado del terreno a granel con exactamente la misma
configuración que va a utilizar para la superficie.

Otra posibilidad es relajar la superficie con una proyección de espacio real y hacer un cálculo final
de la energía total con LREAL = .FALSO. para obtener energías exactas. De todos modos, para
LREAL = Med, los errores introducidos por la proyección del espacio real suelen ser de la misma
magnitud que los introducidos por los errores de envolvente. Para LREAL = Los errores altos
usualmente son menos de 1 meV. PREC = Bajo debe usarse solo para MD de alta velocidad si los
recursos informáticos son realmente un problema.

!8
INCAR

También podría gustarte