Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JesusCastroFernandez/05ae1403cc4aaf4382ccbbe53076b9b0 to your computer and use it in GitHub Desktop.
Save JesusCastroFernandez/05ae1403cc4aaf4382ccbbe53076b9b0 to your computer and use it in GitHub Desktop.
Fotocátodo
from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister, execute, Aer
# Función para calcular la energía máxima de los fotoelectrones
def calcular_energia_maxima(frecuencia, trabajo_extraccion):
h = 6.62607015e-34 # Constante de Planck en J*s
energia_foton = h * frecuencia # Energía de un fotón en Joules
energia_maxima = energia_foton - trabajo_extraccion # Energía máxima de los fotoelectrones en Joules
# Convertir la energía máxima a electronvoltios (eV)
energia_maxima_ev = energia_maxima / 1.602176634e-19
return energia_maxima_ev
# Función para calcular el número de fotones emitidos por segundo y unidad de superficie
def calcular_numero_fotones(potencia):
c = 299792458 # Velocidad de la luz en m/s
energia_por_segundo = potencia # Potencia en W
energia_foton = 1.8 # Energía de un fotón en eV
frecuencia = energia_foton * 1.602176634e-19 / (c * h) # Calcular la frecuencia del fotón
numero_fotones = energia_por_segundo / (energia_foton * frecuencia)
return numero_fotones
# Longitud de onda del haz de luz incidente (en metros)
longitud_onda = 400e-9
# Trabajo de extracción del fotocátodo (en eV)
trabajo_extraccion = 1.8
# Calcular la energía máxima de los fotoelectrones
frecuencia = 3e8 / longitud_onda # Calcular la frecuencia del fotón
energia_maxima = calcular_energia_maxima(frecuencia, trabajo_extraccion)
# Calcular el número de fotones emitidos por segundo y unidad de superficie
potencia_haz = 1e-3 # Potencia del haz en W/m^2
numero_fotones_emitidos = calcular_numero_fotones(potencia_haz)
# Imprimir los resultados
print("Energía máxima de los fotoelectrones: {:.2f} eV".format(energia_maxima))
print("Número de fotones emitidos por segundo y unidad de superficie: {:.2e} fotones/m^2/s".format(numero_fotones_emitidos))
@JesusCastroFernandez
Copy link
Author

La implementación en el lenguaje de programación cuántica Qiskit para calcular la energía máxima de los fotoelectrones y el número de fotones emitidos por segundo y unidad de superficie para un haz de luz de 400 nm incidente sobre un fotocátodo de Ce con un trabajo de extracción de 1,8 eV.

Este código utiliza Qiskit, una biblioteca de lenguaje de programación cuántico, para calcular la energía máxima de los fotoelectrones y el número de fotones emitidos por segundo y unidad de superficie para un haz de luz de 400 nm incidente sobre un fotocátodo de Ce con un trabajo de extracción de 1,8 eV.

Se definen dos funciones: calcular_energia_maxima y calcular_numero_fotones. Estas funciones toman la frecuencia del fotón (calculada a partir de la longitud de onda) y la potencia del haz como entradas y realizan los cálculos correspondientes para obtener la energía máxima de los fotoelectrones y el número de fotones emitidos, respectivamente.

En el código principal, se llama a las funciones correspondientes para calcular los valores deseados. La frecuencia se calcula dividiendo la velocidad de la luz en el vacío por la longitud de onda. La energía máxima de los fotoelectrones se calcula restando el trabajo de extracción del fotocátodo a la energía del fotón. El número de fotones emitidos se calcula dividiendo la potencia del haz por la energía de un fotón y la frecuencia del fotón.

Finalmente, se imprimen los resultados de la energía máxima de los fotoelectrones y el número de fotones emitidos por segundo y unidad de superficie.

Nota: Es importante destacar que este código no utiliza la capacidad de cómputo cuántico de Qiskit, ya que los cálculos se pueden realizar clásicamente. Sin embargo, se utiliza Qiskit como un entorno de programación cuántica para facilitar la implementación y el manejo de los cálculos relacionados con la energía máxima de los fotoelectrones y el número de fotones emitidos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment