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.19

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.19
File Size Uploaded
pymcel-0.9.19.tar.gz 41.9 kB Details

Built distribution (wheel)

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

Total release size: 80.2 kB

Release files / pymcel-0.9.19.tar.gz

Download URL pymcel-0.9.19.tar.gz
Size 41.9 kB
Tags Source
SHA-256 checksum
How to use checksums
ead0c803a3a09f5a4cac6af9d34656223eca0702f428069d0923e2c203a53068
BLAKE2b-256 checksum
How to use checksums
4d48d75575c5041a30f69ee9ce07c38476249cf450a1620b3d8958fb5513eb3e
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.19-py3-none-any.whl

Download URL pymcel-0.9.19-py3-none-any.whl
Size 38.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f5a045b3013cb3e6009936ee57e7b9a987bd6dd94402ba96d600973ee102df4
BLAKE2b-256 checksum
How to use checksums
2c31497a39a444c094ee4c75fd8318b6885c9fde06943b21bceaf20ab45f11c4
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.19 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