-- AdminUser - 23 Jul 2025

Correr Wannier90 en los nodos del CECC en un trabajo por lotes(sbatch) y, visualizar los resultados en una sesión interactiva.

Wannier90 es un programa de código abierto disponible como container. Tiene aplicaciones en el diseño de materiales electrónicos y dispositivos espintrónicos, es usado en las áreas de energía y baterías, superconductores, óptica y fotónica, catalizadores, materiales 2D y heteroestructuras, propiedades de transporte, simulación de defectos, Educación e Investigación Básica. Permite usar herramientas de análisis para calcular Densidades de Estados (DOS), Superficies de Fermi y acoples entre orbitales (hopping): Puede Interoperar integrandose con otros códigos "first-principles" como Quantum ESPRESSO, VASP, ABINIT y SIESTA.

Esta web describe el uso del tutorial_06 de la documentacion Wannier90 en los nodos de los cluster de la CECC.

Procedimiento

warnnierFlujo.png

1. Cree una nueva carpeta en su directorio de trabajo(Directorio de Envío).

  • Cree un directorio nuevo por cada trabajo a enviar, este será su "Directorio de Envío": coloque allí todos los datos y scripts que requiere la ejecución de su proceso.
  • Use solo rutas relativas a los archivos y directorios: Su directorio de trabajo NO estará disponible en todos los nodos del cluster.

2. En el directorio de envío, cree o copie los archivos de entrada al software Wannier90 .

2.1. Contexto. En este tutorial se calcula la "Zona activa de electrones" que modela cómo se mueven los electrones más energéticos (y libres) en el Cobre(Documentacion Wannier90 , tutorial_06); Las herramientas pw.x y pw2wannier90.x del Software "Quantum-Expresso" tambien se encuentran instaladas y se ejecutarán para generar los archivos de entrada a Wannier90; desde un cálculo completo de la estructura electrónica. Los archivos de entrada que se colocaran en el directorio de envío son: : copper.scf : archivo pwscf con la configuración electrónica más estable(ground state calculation) : copper.nscf: El archivo de entrada de los estados de Bloch (Bloch states) --soluciones de la ecuación de Schrödinger para electrones en un cristal periódico-- : copper.pw2wan: El archivo de entrada para pw2wannier90 : copper.win: El archivo de entrada a wannier90. : Los archivos .UPF(UltraSoft Pseudopotential Format o norm-conserving): ubicados en el subdirectorio "pseudo" *dentro del directorio de envio: estos son los pseudopotenciales usados por las herramientas de Quantum ESPRESSO (QE) para simular la interacción entre electrones de valencia y núcleos atómicos, reduciendo el costo computacional. Los pseudopotenciales .UPF se usan en Quantum ESPRESSO (o otros códigos ab initio) para calcular las funciones de onda de Bloch (𝜓𝑛𝑘ψnk) y las bandas electrónicas. treeList.png *Figura 1: Captura de pantalla que muestra los archivos de entrada al software Wannier90 junto al script de envio Slurm "run.slurm.sh"; Todos en el directorio Wannie90_Basic_test.

3. En el directorio de envio; cree el script de envio Slurm.

3.1 El flujo de trabajo que se ejecuta es:

3.1.1. Correr "pwscf" para obtener el estado fundamental del cobre.
pw.x < copper.scf > scf.out

3.1.2. Ejecutar "pwscf" para obtener los "estados de Bloch" en una cuadrícula uniforme de k puntos.
pw.x < copper.nscf > nscf.out

3.1.3. Procesar con "wannier90" para generar una lista de las superposiciones requeridas (escritas en el archivo copper.nnkp).
wannier90.x -pp copper

3.1.4. Computar con pw2wannier90 para calcular la superposición entre los "estados de Bloch" y las proyecciones para la estimación inicial (escrita en los archivos copper.mmn y copper.amn).
pw2wannier90.x < copper.pw2wan > pw2wan.out

3.1.5. Procesar con wannier90 para calcular los MLWF
wannier90.x copper

3.2. Creación del archivo de envío slurm: Con un editor de texto(acá se usa nano y, el archivo se nombra run.slurm.sh genere el archivo de envío Slurm que corre Wannie90. La Figura No.2 muestra el script para slurm: run.slurm.sh

La línea de la 31 a la 33 que inicia con "bash <<EOF" se usa para crear un documento aquí("heredoc"); esta es una forma de redirección de la entrada que, permite proporcionar/usar múltiples líneas de texto como "entrada estándar" a un comando -- o script-- de ordenes directamente; sin necesidad de crear un archivo aparte; La "entrada estándar" inicia con el operador "<<" y Finalizan con el Delimitador "EOF".

run_slurm_wannie90.png

Figura No. 2. Script de envio por lotes para ejecutar wannier90 con sbatch.

4. Envío y ejecución del trabajo.

Desde el directorio de Trabajo y usando como parámetro del comando sbatch(slurm) use el script slurm y envíe el trabajo con:
sbatch run.slurm.sh

Enseguida, slurm le asignara un número de trabajo(Job_ID) que puede listar en la cola de procesos con el comando squeue.

5. Finalización y ubicación de los resultados.

Una vez termine su proceso, el sistema creará dentro del directorio de envio una carpeta con nombre del Job_ID que fue asignado al trabajo(ver directorio 201329796 en la Figura No.3); dentro de él encontraré los resultados y los datos procesados.

wannie90_results.png

Figuna No.3: Captura de pantalla que muestra la distribución de archivos en el Directorio de envío; ahora se encuentra un subdirectorio al que se le asign0 el nombre del JobID finalizado, dentro de él se encuentran los resultados y los datos procesados.

5. 1 Uso de la interpolación de Wannier para obtener la Superficie de Fermi del Cobre.

Para evitar repetir el cálculo completo, la documentacion Wannier90 (tutorial_06) usa las transformaciones unitarias obtenidas en el primer cálculo y reiniciar desde la rutina de trazado: adicionando las siguientes lineas al archivo copper.win:

restart = plot
fermi_energy = [inserte su valor aquí]
fermi_surface_plot = true

luego se ejecuta en la línea de comandos:

wannier90.x copper

el tutorial_06 de Wannier90 menciona: "El valor de la energía de Fermi se puede obtener del cálculo inicial de los "primeros principios". Wannier90 calcula las energías de banda, mediante la interpolación de Wannier, en una malla densa de k puntos en la zona de Brillouin. La densidad de esta malla se controla mediante la palabra clave "fermi_surface_num_points". El valor predeterminado es 50 (es decir, 503 puntos)"

El archivo de superficie de Fermi "copper.bxsf" se puede visualizara mediante el software XCrySDen instalado en el mismo container de Wannier90.

5.2 Inicio de una Sesion Interactiva para Visualizar la estructura cristalina con los resultados obtenidos.

XCrySDen es un programa que permite la visualización de estructuras cristalinas, el análisis de datos de simulaciones DFT, la generación de gráficos y mapas: Con la Manipulación interactiva.

Para usarlo con los resultados de este tutorial:
5.2.1. Realice una conexion que le permita el uso de ventanas(X), Inicie la conexion con
ssh -XC usuario@pasarela
5.2.1. Vaya al nodo perseus con
ssh -XC perseus
5.2.2. Inicie una sesion interactiva en uno de los nodos.
salloc -Mfisica -pcpu.cuantica
5.2.3 haga conexion con X al nodo asignado
ssh -XC nodo-asginado
5.2.4. Exporte la ruta del directorio en el SO donde estan los datos que desea visualizar para que sean accesibles desde el container
export SINGULARITY_BINDPATH="RUTA_DIRECTORIO_SO:RUTA_EN_CONTAINER"
5.2.5. Inicie una shell en el container con
singularity shell /localapps/sarus-wannier_20220221.sif
5.2.6. Cambie al directorio donde se encuentran los datos
cd RUTA_EN_CONTAINER
5.2.7. Ejecute el programa XCrySDen con los rsultados que requiere visualizar.

wanier90_Interactiva.png

xcrysden.png

presentation Video:warnier90.mp4

I Attachment Action Size Date Who Comment
run.slurm.shsh run.slurm.sh manage 1 K 29 Jul 2025 - 18:37 AdminUser run_slurm.sh
run_slurm_wannie90.pngpng run_slurm_wannie90.png manage 330 K 25 Jul 2025 - 19:31 AdminUser script_slurm_wannie90
treeList.pngpng treeList.png manage 13 K 25 Jul 2025 - 18:34 AdminUser  
wanier90_Interactiva.pngpng wanier90_Interactiva.png manage 160 K 25 Jul 2025 - 23:49 AdminUser wainner_interactiva
wannie90_results.pngpng wannie90_results.png manage 39 K 25 Jul 2025 - 19:51 AdminUser slurm_wannie90_results
warnier90.mp4mp4 warnier90.mp4 manage 3 MB 29 Jul 2025 - 22:28 AdminUser wainner90_video
warnnierFlujo.pngpng warnnierFlujo.png manage 90 K 29 Jul 2025 - 19:09 AdminUser wainner90_flujo
xcrysden.pngpng xcrysden.png manage 296 K 29 Jul 2025 - 14:01 AdminUser xcrysden
Topic revision: r6 - 29 Jul 2025, AdminUser
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback