# Tutorial 06 — Confinamiento Cuántico, Defectos y Luminiscencia en Puntos Cuánticos de ZnO

Este tutorial está diseñado para explorar la física de **nanoestructuras de dimensiones cero (0D)**, conocidas como **puntos cuánticos (Quantum Dots, QDs)**, de óxido de zinc (ZnO) utilizando **Quantum ESPRESSO (QE)**.

Aprenderás a calcular la estructura electrónica de un clúster tipo jaula de $(ZnO)_{12}$ (24 átomos) en vacío. Exploraremos cómo los efectos de confinamiento cuántico cambian la brecha de energía (bandgap), cómo la presencia de defectos atómicos como la **vacancia de oxígeno ($V_O$)** altera el DOS, y cómo calcular el **espectro de luminiscencia (fluorescencia)** y el **desplazamiento de Stokes (Stokes Shift)** mediante la aproximación autoconsistente del estado excitado ($\Delta$SCF).

---

## 1. Contexto Físico y Científico

El óxido de zinc (ZnO) es un semiconductor de brecha directa con un bandgap en el bulto (bulk) de $\approx 3.3 \text{ eV}$ (en el rango ultravioleta). Al reducir su tamaño a la escala nanométrica (por debajo del radio de Bohr del excitón, $\approx 2.34 \text{ nm}$), el sistema experimenta un **confinamiento cuántico fuerte**.
* **Efecto en el bandgap:** La brecha de energía aumenta a medida que el tamaño disminuye. Un clúster ultra pequeño de $(ZnO)_{12}$ ($\approx 1 \text{ nm}$) tiene una brecha electrónica de más de $4.0 \text{ eV}$.
* **Estructura geométrica:** A escala nanométrica, los clústeres de ZnO prefieren organizarse en estructuras estables tipo jaula (cages) con simetría octaédrica truncada ($T_h$), en lugar de la estructura wurtzita o blenda de zinc del bulto.
* **Defectos y color de emisión:** Experimentalmente, los estudiantes en el laboratorio observan que al excitar QDs de ZnO con luz UV, estos emiten luz visible de diferentes colores (azul, verde, amarillo) dependiendo del tamaño y de la química de defectos. 
  - La emisión UV estrecha corresponde a la recombinación excitónica banda a banda.
  - La emisión visible ancha (usualmente verde-amarillo) se debe a transiciones hacia **estados de defecto**, principalmente vacancias de oxígeno ($V_O$).
* **Luminiscencia con DFT ($\Delta$SCF):** Los códigos convencionales de DFT calculan el estado fundamental. Para simular la emisión, usamos la aproximación **$\Delta$SCF**:
  1. Optimizamos la estructura en el estado fundamental singlete ($S_0$).
  2. Para modelar el primer estado excitado, excitamos un electrón y permitimos que la geometría se relaje en este nuevo estado. En QE, una aproximación común para representar el estado excitado más bajo consiste en modelar el **estado triplete ($T_1$)** forzando una magnetización total de 2 Bohr magnetons (`tot_magnetization = 2`).
  3. Al relajar la geometría del triplete, obtenemos la geometría del estado excitado. La emisión de luz ocurre verticalmente desde esta geometría relajada de vuelta al singlete fundamental.
  4. La diferencia de energía entre la absorción y la emisión se conoce como **desplazamiento de Stokes (Stokes Shift)** y se debe a la relajación de la red atómica.

---

## 2. Archivos Incluidos en la Actividad

| Archivo | Función |
|---|---|
| `01_scf.in` | Entrada para `pw.x`: SCF del estado fundamental singlete $(S_0)$ del clúster limpio $(ZnO)_{12}$. Da $E(S_0 \text{ en } S_0)$. |
| `02_nscf.in` | Entrada para `pw.x` con mayor número de bandas (`nbnd=150`) para obtener conducción vacía en el DOS. |
| `03_pdos.in` | Entrada para `projwfc.x` para calcular la densidad de estados proyectada por orbitales (PDOS). |
| `04_vacancy.in` | Entrada para `pw.x`: SCF del clúster con una vacancia de oxígeno ($Zn_{12}O_{11}$, `nat=23`). |
| `04b_vac_dos.in` | Entrada para `dos.x`: DOS del clúster con vacancia. Genera `zno_qd_vac.dos`. |
| `05b_triplet_scf.in` | Entrada para `pw.x`: SCF triplete (`tot_magnetization=2`) en la geometría singlete $S_0$. Da $E(T_1 \text{ en } S_0)$ para la absorción vertical. |
| `05_excited.in` | Entrada para `pw.x`: relajación geométrica (`relax`) del triplete. Da $E(T_1 \text{ en } T_1)$ y la geometría del estado excitado. |
| `plot_zno.py` | Script de Python para graficar la PDOS, comparar el defecto, y dibujar el Stokes Shift y confinamiento cuántico. Lee automáticamente energías de los archivos `.out` cuando están disponibles. |
| `run_slurm.sh` | Script para la ejecución secuencial automática de todo el taller en el cluster. |
| `pseudo/` | Contiene los pseudopotenciales ultrasoft de Zn (`Zn.pbe-dnl-rrkjus_psl.1.0.0.UPF`) y O (`O.pbe-n-rrkjus_psl.1.0.0.UPF`). |
| `reference/` | Resultados de referencia precalculados y gráficas para comparación inmediata. |

---

## 3. Visualización de la Jaula localmente en VESTA

Antes de correr cálculos en el clúster, puedes abrir la estructura en **VESTA**:
1. Copia las coordenadas de `01_scf.in` en un archivo de texto con extensión `.xyz` o abre directamente la estructura desde el archivo de entrada si tienes el plugin.
2. El clúster $(ZnO)_{12}$ forma un poliedro de 24 vértices (octaedro truncado) donde cada Zn está coordinado con tres átomos de oxígeno de forma tricoordinada en una superficie esférica.
3. Observarás que el centro de la jaula está completamente vacío, simulando una nano-cavidad esférica.

---

## 4. Guía de Ejecución Paso a Paso

### Paso 1: Cálculo del Estado Fundamental Limpio (SCF)
Calcula la densidad electrónica y la energía total de la jaula en su geometría de equilibrio singlete.
```bash
module load quantum-espresso-cpu/7.0
pw.x < 01_scf.in > 01_scf.out
```
*Anota la energía total singlete ($E(S_0 \text{ en } S_0)$) e identifica la energía de la HOMO.*

### Paso 2: Cálculo NSCF
Calcula las energías sobre la misma densidad para obtener suficientes bandas desocupadas (conducción).
```bash
pw.x < 02_nscf.in > 02_nscf.out
```

### Paso 3: Densidad de Estados Proyectada (PDOS)
Proyecta las funciones de onda sobre orbitales atómicos ($s$, $p$, $d$) de Zn y O.
```bash
projwfc.x < 03_pdos.in > 03_pdos.out
```
Esto generará archivos individuales como `zno_qd.pdos_atm#1(Zn)_wfc#1(s)`.

### Paso 4: Simulación de Vacancia de Oxígeno
Remueve un átomo de oxígeno de la jaula (en `04_vacancy.in` ya se ha eliminado un O, reduciendo el número total de átomos a `nat=23`). Corre el cálculo autoconsistente.
```bash
pw.x < 04_vacancy.in > 04_vacancy.out
```
*Observa cómo cambia la energía total y cómo se genera un nivel electrónico dentro del bandgap.*

### Paso 4b: DOS de la Vacancia
Calcula la densidad de estados del clúster con defecto para visualizar el estado intragap.
```bash
dos.x < 04b_vac_dos.in > 04b_vac_dos.out
```
Genera `zno_qd_vac.dos` con la DOS del clúster $Zn_{12}O_{11}$.

### Paso 5b: Triplete en Geometría $S_0$ (Absorción Vertical)
Calcula la energía del estado triplete **sin mover los átomos** (misma geometría que el SCF del estado fundamental). Este valor es $E(T_1 \text{ en } S_0)$, que junto con $E(S_0 \text{ en } S_0)$ del Paso 1 da la energía de absorción vertical.
```bash
pw.x < 05b_triplet_scf.in > 05b_triplet_scf.out
```
*Busca la línea `!    total energy` en el output. Esa es $E(T_1 \text{ en } S_0)$ en Rydberg.*

### Paso 5: Relajación del Estado Excitado ($\Delta$SCF)
Relaja la geometría del clúster en el estado excitado (triplete). Los átomos se mueven a su nueva posición de equilibrio en el estado $T_1$.
```bash
pw.x < 05_excited.in > 05_excited.out
```
*La **última** línea `!    total energy` del output es $E(T_1 \text{ en } T_1)$ (energía del triplete relajado).
La energía de emisión vertical requeriría un cálculo adicional: SCF singlete en la geometría relajada del triplete.*

### Paso 6: Graficar Propiedades Físicas
```bash
module load anaconda
python plot_zno.py
```
El script lee automáticamente $E(S_0 \text{ en } S_0)$ de `01_scf.out`, $E(T_1 \text{ en } S_0)$ de `05b_triplet_scf.out`, y $E(T_1 \text{ en } T_1)$ de `05_excited.out`. Si algún archivo no existe, usa los valores de referencia precalculados. Genera `zno_qd_properties.png` con cuatro subplots.

---

## 5. Actividades y Preguntas para el Reporte

### Actividad A: Análisis de la PDOS e Hibridación Química
1. Observa la gráfica **A** generada por `plot_zno.py`. 
2. **Pregunta:** ¿Qué orbitales dominan la parte superior de la banda de valencia (HOMO)? ¿Qué orbitales dominan la parte inferior de la banda de conducción (LUMO)?
3. Localiza la posición de la banda Zn-$3d$. ¿Es una banda ancha o estrecha? ¿A qué profundidad de energía respecto a la HOMO se encuentra? Explica cómo esta contribución de orbitales atómicos dicta el comportamiento óptico del semiconductor.

### Actividad B: Efecto del Defecto (Vacancia de Oxígeno $V_O$)
1. Compara el DOS del clúster limpio con el del clúster con vacancia (Gráfica **B**).
2. **Pregunta:** Explica la aparición del nuevo pico dentro de la banda prohibida. ¿El estado introducido está ocupado o vacío en su estado fundamental neutro ($V_O^0$)?
3. Si experimentalmente los estudiantes miden una emisión verde/amarilla en muestras con alta concentración de defectos, ¿cómo apoya este cálculo teórico esa observación? ¿Qué transiciones electrónicas serían posibles ahora?

### Actividad C: Luminiscencia y Desplazamiento de Stokes

El desplazamiento de Stokes requiere cuatro energías totales (en Ry) de cuatro cálculos separados:

| Símbolo | Significado | Archivo de entrada |
|---|---|---|
| $E(S_0 \text{ en } S_0)$ | Singlete en geometría singlete (estado fundamental) | `01_scf.in` → `01_scf.out` |
| $E(T_1 \text{ en } S_0)$ | Triplete en geometría singlete (absorción vertical) | `05b_triplet_scf.in` → `05b_triplet_scf.out` |
| $E(T_1 \text{ en } T_1)$ | Triplete relajado (estado excitado de equilibrio) | `05_excited.in` → `05_excited.out` (última línea `!`) |
| $E(S_0 \text{ en } T_1)$ | Singlete en geometría triplete (emisión vertical) | *(SCF singlete adicional con la geometría final de `05_excited.out`)* |

El script `plot_zno.py` lee automáticamente los primeros tres valores de tus archivos de salida. Para el cuarto, usa el valor de referencia precalculado.

1. Usando tus cálculos (o los valores de referencia):
   - Calcula la energía de absorción vertical: $E_{\text{abs}} = [E(T_1 \text{ en } S_0) - E(S_0 \text{ en } S_0)] \times 13.605698 \text{ eV/Ry}$.
   - Calcula la energía de emisión vertical: $E_{\text{emi}} = [E(T_1 \text{ en } T_1) - E(S_0 \text{ en } T_1)] \times 13.605698 \text{ eV/Ry}$.
   - Halla el desplazamiento de Stokes: $\Delta_{\text{Stokes}} = E_{\text{abs}} - E_{\text{emi}}$.
2. **Pregunta:** Convierte las energías de absorción y emisión a longitudes de onda en nanómetros utilizando la relación $\lambda = \frac{1239.8}{E \text{ (eV)}}$. ¿En qué regiones del espectro electromagnético caen?
3. ¿Por qué la energía de emisión es menor que la de absorción? Explica físicamente qué ocurre con la red atómica de la jaula de ZnO entre la absorción y la emisión (Principio de Franck-Condon).

### Actividad D: Confinamiento Cuántico frente a Tamaño (Comparación de Grupos)
1. Organízate con otros grupos de estudiantes en el laboratorio. Cada grupo simulará una jaula de tamaño distinto (p.ej. $(ZnO)_6$ de 12 átomos, $(ZnO)_{12}$ de 24 átomos, o $(ZnO)_{24}$ de 48 átomos).
2. Completen la Gráfica **D** con los gaps HOMO-LUMO calculados para cada tamaño.
3. **Pregunta:** Explique la relación entre el tamaño físico del punto cuántico y su brecha de energía. ¿Qué ocurre con la brecha cuando el clúster se hace infinitamente grande (límite del bulto o bulk)?
4. Concluye cómo este principio permite sintonizar el color de emisión de un punto cuántico de ZnO en el laboratorio simplemente controlando el tiempo de crecimiento de las nanopartículas.
