Skip to main content

PymCel

Utilidades de Mecánica Celeste

version downloads license implementation pythonver docs book buy orcid DOI

El paquete pymcel contiene un conjunto de utilidades que pueden usarse para la enseñanza de (o la investigación en) Mecánica Celeste o Astrodinámica.

Las utilidades que contienen el paquete fueron originalmente desarrolladas como parte del libro Mecánica Celeste: teoría, algoritmos y problemas del profesor Jorge I. Zuluaga de la Universidad de Antioquia. Muchos de los códigos incluídos en el libro están disponibles en la sección de ejemplos del repositorio en GitHub del paquete. El libro puede conseguirse en PDF y en papel con la editorial de la Universidad de Antioquia (normalmente envíos solo dentro de Colombia) o internacionalmente en librerías en línea (aquí también).

Portada del Libro

En este sitio encontrará además un documento con las Fe de Erratas del libro, en el que encontrarán algunas correcciones puntuales a defectos que se fueron con la primera edición.

Descarga e instalación

pymcel esta disponible en PyPI, https://pypi.org/project/pymcel/. Para instalar solo debe ejecutar:

   pip install -U pymcel

Si usted prefiere puede descargar e instalar directamente desde las fuentes.

Para empezar

Para empezar a usar el paquete basta que lo importe:

import pymcel as pc

El siguiente código, por ejemplo, integra las ecuaciones de movimiento de una partícula en el CRTBP (problema circular restringido de los tres cuerpos):

Nt=300
ts=linspace(0,10,Nt)
alfa=0.3
ro=[1.0,0.0,0.0]
vo=[0.0,0.45,0.0]
rs_rot,vs_rot,rs_ine,vs_ine,r1_ine,r2_ine=pc.crtbp_solucion(alfa,ro,vo,ts)

Un gráfico de la trayectoria de la partícula, y de la posición de los cuerpos más masivos, tanto en el sistema de referencia rotante, como en el sistema de referencia inercial se puede realizar con este código:

import matplotlib.pyplot as plt

fig,axs=plt.subplots(1,2,figsize=(8,4))

# Sistema de referencia rotante
ax=axs[0]
ax.plot(rs_rot[:,0],rs_rot[:,1],'k-')
ax.plot([-alfa],[0],'ro',ms=10)
ax.plot([1-alfa],[0],'bo',ms=5)
ax.set_title("Sistema Rotante")
ax.grid()
ax.axis('equal')	

# Sistema de referencia inercial
ax=axs[1]
ax.plot(rs_ine[:,0],rs_ine[:,1],'k-')
ax.plot(r1_ine[:,0],r1_ine[:,1],'r-')
ax.plot(r2_ine[:,0],r2_ine[:,1],'b-')
ax.set_title("Sistema Inercial")
ax.grid()
ax.axis('equal')

plt.show()

Ejemplo de CRTBP

Ejemplos de uso y códigos en el libro

Es también interesante consultar el repositorio en GitHub del paquete, donde además de las fuentes, encontrará, entre otras cosas utiles, cuadernos de ejemplos y tutoriales sobre el uso del paquete.

Muchos de estos cuadernos incorporan los códigos que vienen con el libro Mecánica Celeste: teoría, algoritmos y problemas y pueden ser ejecutados por comodidad por docentes y estudiantes en Google Colab.

Uso de agents.md con asistentes de IA (VS Code, Cursor, Antigravity)

Este repositorio incluye un archivo agents.md con contexto técnico de pymcel para que un asistente de IA entienda:

  • Qué hace el paquete y cómo instalarlo.
  • Qué funciones usar según el problema (N-cuerpos, Kepler, CRTBP, Lambert, efemérides).
  • Ejemplos ejecutables para empezar desde cero.
  • Buenas prácticas de unidades, tolerancias, kernels SPICE y validación.

Recomendación general

  1. Abra la carpeta del proyecto donde trabajará.
  2. Asegúrese de que agents.md esté en la raíz del proyecto (o copie ese archivo al proyecto activo).
  3. En el primer mensaje al asistente, pídale explícitamente usar ese archivo como contexto.

Prompt sugerido:

Usa el archivo agents.md de este proyecto como contexto principal para trabajar con pymcel.
Antes de proponer código, sigue sus convenciones de API, unidades y ejemplos.

En VS Code

  • Abra el repositorio/folder en VS Code.
  • Abra el chat del asistente.
  • Mencione en su primer prompt que use agents.md como referencia.
  • Cuando sea posible, adjunte o cite el archivo en la conversación.

En Cursor

  • Abra el proyecto en Cursor.
  • Inicie el chat del agente dentro del workspace.
  • Indique que tome agents.md como guía de trabajo para pymcel.
  • Si usa reglas/proyecto-contexto, incluya el contenido de agents.md allí.

En Antigravity (u otros entornos con agentes)

  • Cargue el repositorio o el directorio de trabajo.
  • Adjunte agents.md como documento de contexto del agente, o péguelo en la configuración de instrucciones del proyecto.
  • Pida al agente que siga explícitamente esa guía para generar y validar código con pymcel.

Si instala pymcel en otra máquina

Puede descargar solo el archivo guía y reutilizarlo en su proyecto:

curl -L https://raw.githubusercontent.com/seap-udea/pymcel/main/agents.md -o agents.md

Luego, abra su entorno de desarrollo y use el prompt sugerido para que el agente trabaje con contexto correcto.

Como citar PyMCel

Si usa pymcel en un trabajo academico, puede citar:

El libro (recomendado para metodología y teoría):

@book{jorge2024mecanica,
   title={MECANICA CELESTE; TEORIA, ALGORITMOS Y PROBLEMAS.},
   author={JORGE, I ZULUAGA},
   year={2024},
   publisher={UNIVERSIDAD DE ANTIOQUIA}
}

El software (para el package en sí):

@software{zuluaga2026pymcel,
  author = {Zuluaga, Jorge I.},
  title = {pymcel: Utilidades de Mecánica Celeste y Astrodinámica},
  year = {2026},
  doi = {10.5281/zenodo.18849743},
  url = {https://doi.org/10.5281/zenodo.18849743}
}

¿Qué hay de nuevo?

Para una lista detallada de las características más nuevas introducidas en el paquete con la última versión vea el archivo What's new.


Este paquete ha sido diseñado y escrito originalmente por Jorge I. Zuluaga (C) 2023-Presente

Release files for pymcel 0.9.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for pymcel 0.9.20
File Size Uploaded
pymcel-0.9.20.tar.gz 60.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pymcel 0.9.20
File Interpreter ABI Platform
pymcel-0.9.20-py3-none-any.whl Python 3 none any Details

Total release size: 115.9 kB

Release files / pymcel-0.9.20.tar.gz

Download URL pymcel-0.9.20.tar.gz
Size 60.4 kB
Tags Source
SHA-256 checksum
How to use checksums
8fa5c15c49fb6002eaedef0f1555fcf93d300753b31d7b19682ea38654375575
BLAKE2b-256 checksum
How to use checksums
069ef2636a1a29cb316fd5b64f01b5dc1f399d675f1237138d2b961c12fc6909
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.5

Release files / pymcel-0.9.20-py3-none-any.whl

Download URL pymcel-0.9.20-py3-none-any.whl
Size 55.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b44eef87a87a1605646f947f39e3e520b8846301f549f38d1510c469f32ca160
BLAKE2b-256 checksum
How to use checksums
3e69289136704a0de41e7df1c956a5d11bbd0974712fdfe7864011d216c166f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.5

Release history Release notifications | RSS feed

0.9.25

2 release files

0.9.24

2 release files

This release

0.9.20 This release

2 release files

0.9.18

2 release files

0.9.10

2 release files

0.9.9

2 release files

0.9.8

2 release files

0.9.7

2 release files

0.9.6

2 release files

0.9.5

2 release files

0.9.4

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

0.6.31

2 release files

0.6.29

2 release files

0.6.28

2 release files

0.6.27

2 release files

0.6.26

2 release files

0.6.25

2 release files

0.6.24

2 release files

0.6.23

2 release files

0.6.22

2 release files

0.6.13

2 release files

0.6.11

2 release files

0.6.10

2 release files

0.6.9

2 release files

0.6.8

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.10

2 release files

0.5.9

2 release files

0.5.8

2 release files

0.5.7

2 release files

0.5.6

2 release files

0.5.5

2 release files

0.5.4

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page