Una librería para cálculos y visualizaciones del modelo atómico de Bohr
Project description
Bohr Atom Library 🔬⚛️
Una librería en Python para cálculos y visualizaciones del modelo atómico de Bohr para átomos hidrogenoides.
📋 Descripción
Esta librería implementa el modelo de Bohr para átomos hidrogenoides (hidrógeno y iones con un solo electrón). Permite:
- Calcular niveles de energía para cualquier número cuántico principal n
- Determinar radios orbitales
- Calcular transiciones electrónicas (energía, frecuencia, longitud de onda)
- Visualizar diagramas de niveles de energía
- Graficar órbitas electrónicas
🚀 Instalación
Desde PyPI
pip install bohr-atom
Desde el código fuente
git clone https://github.com/tu-usuario/bohr-atom.git
cd bohr-atom
pip install -e .
📖 Uso Básico
Crear un átomo de hidrógeno
from bohr_atom import BohrAtom
# Átomo de hidrógeno (Z=1)
hydrogen = BohrAtom(Z=1)
# Calcular energía del nivel fundamental
E1 = hydrogen.energy_level_eV(n=1)
print(f"E₁ = {E1:.2f} eV") # -13.60 eV
# Calcular radio de Bohr
r1 = hydrogen.orbital_radius_angstrom(n=1)
print(f"r₁ = {r1:.3f} Å") # 0.529 Å
Transiciones electrónicas
# Transición de n=3 a n=2 (línea H-alpha)
wavelength = hydrogen.transition_wavelength_nm(n_initial=3, n_final=2)
print(f"λ = {wavelength:.1f} nm") # 656.3 nm
# Frecuencia del fotón emitido
frequency = hydrogen.transition_frequency(n_initial=3, n_final=2)
print(f"ν = {frequency:.2e} Hz")
Átomos hidrogenoides
# Ion He⁺ (Z=2)
helium_ion = BohrAtom(Z=2)
E1_he = helium_ion.energy_level_eV(n=1)
print(f"E₁(He⁺) = {E1_he:.2f} eV") # -54.40 eV (4 veces H)
Visualizaciones
import matplotlib.pyplot as plt
# Diagrama de niveles de energía
hydrogen.plot_energy_levels(n_max=5, show_transitions=True,
transitions=[(3,2), (4,2), (5,2)])
plt.show()
# Órbitas electrónicas
hydrogen.plot_orbits(n_max=5)
plt.show()
📊 Ejemplos Completos
Ver la carpeta examples/ para notebooks y scripts con casos de uso:
example_basic.py: Cálculos básicosexample_transitions.py: Serie de Balmer y Lymanexample_visualizations.ipynb: Gráficos interactivos
🧪 Ejecutar Pruebas
# Instalar dependencias de desarrollo
pip install -e ".[dev]"
# Ejecutar pruebas
pytest
# Con reporte de cobertura
pytest --cov=bohr_atom --cov-report=html
📐 Fórmulas Implementadas
Energía de los niveles
$$E_n = -\frac{Z^2 R_y}{n^2}$$
Donde:
- Z: número atómico
- Ry: constante de Rydberg (13.6 eV)
- n: número cuántico principal
Radio orbital
$$r_n = \frac{n^2 a_0}{Z}$$
Donde:
- a0: radio de Bohr (0.529 Å)
Transiciones
$$\lambda = \frac{hc}{|\Delta E|}$$
$$\nu = \frac{|\Delta E|}{h}$$
🤝 Contribuciones
Este proyecto fue desarrollado como parte de un taller colaborativo. Contribuciones:
- [Maria Moreno, SolarPunk]: Implementación de cálculos de energía
- [SolarPunk ]: Funciones de transición y visualizaciones
- [Maria Moreno ]: Pruebas unitarias y documentación
Flujo de trabajo
- Fork del repositorio
- Crear una rama:
git checkout -b feature/nueva-caracteristica - Commit de cambios:
git commit -am 'Añadir nueva característica' - Push a la rama:
git push origin feature/nueva-caracteristica - Crear Pull Request
📝 Estructura del Proyecto
bohr-atom/
├── bohr_atom/
│ ├── __init__.py
│ ├── bohr_atom.py
│ └── constants.py
├── tests/
│ └── test_bohr_atom.py
├── examples/
│ ├── example_basic.py
│ └── example_transitions.py
├── pyproject.toml
├── README.md
└── LICENSE
📄 Licencia
MIT License - ver archivo
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bohr_atom-0.1.0.tar.gz.
File metadata
- Download URL: bohr_atom-0.1.0.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e75160349e1b5bde062ceb15aff462a8a80c428f2fcf9467bacd131462d87071
|
|
| MD5 |
3e4c71f4427632f5eeda2ce1be736415
|
|
| BLAKE2b-256 |
953809009aa6e108e30c98233b317224d8e846adec2ab128f150a7e5dd609745
|
File details
Details for the file bohr_atom-0.1.0-py3-none-any.whl.
File metadata
- Download URL: bohr_atom-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2bd117a577542299a907a21a5a3362f562d67af37c426ff0fa57cc2708c879a1
|
|
| MD5 |
c6c1e22bed1f696c0aa26b0234a9d483
|
|
| BLAKE2b-256 |
38876f2f8cff5fb7b7fd7f8177d8450255c5a2e0a27f7f4a7ac368c388087929
|