Simulador 2D del campo electrostático por método de diferencias finitas (Jacobi / Gauss-Seidel).
Project description
campo-estatico-mdf
Solver 2D de Laplace por diferencias finitas (Jacobi/Gauss-Seidel) y cálculo del campo eléctrico.
Incluye GUI en Streamlit (multipágina) y documentación Sphinx publicada en GitHub Pages.:contentReference[oaicite:0]{index=0}
Ejecutar GUI (Streamlit)
# activar entorno
source .venv/Scripts/activate # Windows (Git Bash)
# pip install dependencias
pip install -r requirements.txt
# instalar paquete backend en editable
pip install -e .
# correr la app
streamlit run app_streamlit/streamlit_app.py
Páginas
- Simulación: define N, ε (tolerancia), max_iter, método, y contornos. Muestra
V,Ey métricas. - Documentación: enlaza/embebe Sphinx (se publicará en Fase 4). Puedes exportar
DOCS_URLpara mostrarla en la app.
Si ves problemas con el render de quiver en mallas muy grandes, reduce N o sube el
stepde submuestreo.
Instalación y Uso del Paquete campo-estatico-mdf
Instalación desde PyPI
Asegúrate de tener Python 3.9 o superior.
pip install campo-estatico-mdf
Si prefieres probar una versión de desarrollo local:
pip install -e .
Verificación de instalación
Para comprobar que el paquete se instaló correctamente:
python -m pip show campo-estatico-mdf
También puedes verificar desde un intérprete de Python:
from campo_estatico_mdf import LaplaceSolver2D
print(LaplaceSolver2D)
Si no hay errores de importación, la instalación es correcta.
Uso rápido
Ejemplo básico para resolver el potencial electrostático 2D por diferencias finitas:
from campo_estatico_mdf import LaplaceSolver2D
# Definir el mallado y condiciones de contorno
N = 51
bc = {"left": 1.0, "right": 0.0, "top": 0.0, "bottom": 1.0}
solver = LaplaceSolver2D(
N=N,
bc=bc,
epsilon=1e-5,
max_iter=20000,
method="jacobi", # o "gauss_seidel"
)
V, n_iter, err = solver.solve()
Ex, Ey = solver.compute_e_field(V)
print(f"Iteraciones: {n_iter}, Error final: {err:.3e}")
print("Forma de la matriz de potencial:", V.shape)
Dependencias
El paquete requiere NumPy (≥1.22). Si no se instaló automáticamente, puedes hacerlo con:
pip install numpy>=1.22
Más información
- Documentación oficial: https://SanCriolloB.github.io/campo-estatico-mdf/
- Repositorio: https://github.com/SanCriolloB/campo-estatico-mdf
Autores: Santiago Criollo & Daniel Ramirez
Licencia: MIT
Versión: v1.0.2
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 campo_estatico_mdf-1.0.2.tar.gz.
File metadata
- Download URL: campo_estatico_mdf-1.0.2.tar.gz
- Upload date:
- Size: 15.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5417c638b11c2ad166d083356ce9f82587a06dba018b9f5e584bbf19dbabb01b
|
|
| MD5 |
e552215758b024b7cb8f1f6d9eb794b3
|
|
| BLAKE2b-256 |
cba1a82e9ad363a64129d8beb92e08412642df579127c0bdaaaaee0bee2c99ab
|
File details
Details for the file campo_estatico_mdf-1.0.2-py3-none-any.whl.
File metadata
- Download URL: campo_estatico_mdf-1.0.2-py3-none-any.whl
- Upload date:
- Size: 6.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cdcd78ffa7652a3fea6e414d8b13126c8a22a4a087c4738e39f43e580a6f8723
|
|
| MD5 |
23b29689d690cbb3ee7ea0b60096fb2e
|
|
| BLAKE2b-256 |
662ff33d4cf3b0b7978a8efcd6859142daa19be93a0a0e40828aeb1564fb59f2
|