Skip to main content

Utilidades de Mecánica Celeste

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymcel-0.9.18.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pymcel-0.9.18-py3-none-any.whl (36.6 kB view details)

Uploaded Python 3

File details

Details for the file pymcel-0.9.18.tar.gz.

File metadata

  • Download URL: pymcel-0.9.18.tar.gz
  • Upload date:
  • Size: 40.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for pymcel-0.9.18.tar.gz
Algorithm Hash digest
SHA256 e6a1bb812d10efe655b785d0e86e815d4cd04e169027d6e4817a481243c95890
MD5 338413145f569b54c5cc04824d010f77
BLAKE2b-256 d3850e4b2beb5944ac5e78d39785e3f33be3f7854c2c0e976737183a066bf151

See more details on using hashes here.

File details

Details for the file pymcel-0.9.18-py3-none-any.whl.

File metadata

  • Download URL: pymcel-0.9.18-py3-none-any.whl
  • Upload date:
  • Size: 36.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.5

File hashes

Hashes for pymcel-0.9.18-py3-none-any.whl
Algorithm Hash digest
SHA256 d51e0df4059211649ee7d8de85650f4dd36cc383bd291c066e0e63a761905291
MD5 9a6313eab126da6055d049ef3e2431c2
BLAKE2b-256 2abbeda9092e000d46a29d9f0049aafd78f214b81f227c40e67afd1e85af99ae

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page