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

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, por favor cite el libro:

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

¿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.15.tar.gz (39.9 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.15-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pymcel-0.9.15.tar.gz
  • Upload date:
  • Size: 39.9 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.15.tar.gz
Algorithm Hash digest
SHA256 1b27cb91fc85a14f6774d1444fb2396e1194841db516db538365d0f6fec2401e
MD5 09e6247af0d4d6d76ece69c726cf2312
BLAKE2b-256 b4b24856c1237dfc2f5b183840c215f527d8b7119899e9ff6895a1619b61dfa6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcel-0.9.15-py3-none-any.whl
  • Upload date:
  • Size: 36.4 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.15-py3-none-any.whl
Algorithm Hash digest
SHA256 99876698425f4931bff242b139563557f130cbaf5c197db27f317002ae5cee2e
MD5 2e605b1939a2609df9501400c02bfae6
BLAKE2b-256 d6fd5833b0ee3abe3a7eae0c7cd43a1a67ea7668814cdb86813d6d56a4e9a51a

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