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.13.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.13-py3-none-any.whl (36.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pymcel-0.9.13.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.13.tar.gz
Algorithm Hash digest
SHA256 d6a37cf609efcef720a489b8076fa9b676ea8000f94cbcca942057aec0d57d7d
MD5 3e19f9d609e386c6d851bfaf8c6380ca
BLAKE2b-256 32465245697726aeb0e8bbc77024ceb74b788cc758e0e26131fda377d0a8f12f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pymcel-0.9.13-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.13-py3-none-any.whl
Algorithm Hash digest
SHA256 059e18586ded47b96215763206212e3b24c1d8117f5d2103b7958eca0f71fe11
MD5 b84882182e354ab6371bd228f57d6e8a
BLAKE2b-256 012251c61e18bb3b3b8f8ca62be5efaf76128f9b6ed3a85e28c7b6927dfa43a2

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