spacecraft-paladin


Namespacecraft-paladin JSON
Version 0.1.3 PyPI version JSON
download
home_pagehttps://github.com/Yuricst/paladin
Summaryhigh-fidelity spaceraft dynamics propagator
upload_time2024-06-25 22:00:10
maintainerNone
docs_urlNone
authorYuri Shimane
requires_pythonNone
licenseMIT License
keywords astrodynamics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # `paladin` : python library for astrodynamics

<p align="center">
  <img src="./assets/paladin_sd.jpg" width="400" title="Paladin chuuni">
</p>


## Overview

This package provides tools for conducting CR3BP and ephemeris level analysis in cislunar and deep-space environments. 

While the library is implemented in python, the majority of functionalities are powered by either [SPICE routines](https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/spicelib/index.html) or through numpy/scipy/numba implementations, resulting in (relatively) fast computations. 
For numerical integration of ODEs, `paladin` provides the option of using either `scipy` or `gsl`; the latter is recommended due to higher accuracy. 

Optimization is conducted by constructing problems as [`pygmo` udp's](https://esa.github.io/pygmo2/index.html), which can then be solved through a variety of compatible solvers, including IPOPT, SNOPT, or WORHP (the latter two requires licenses). 


## Dependencies

Developed on python 3.10.

Package requirements: 
- `numpy`, `matplotlib`, `numba`, `scipy`, `spiceypy`, `sympy`

Optional:
- [`pygsl`](https://github.com/pygsl/pygsl/tree/main) : recommended for high-accuracy integration; requires `gsl` to be installed.
- `pygmo`, `pygmo_plugins_nonfree` : required for running trajectory construction problems


## SPICE setup

Users are responsible for downloading [the generic SPICE kernels froom the NAIF website](https://naif.jpl.nasa.gov/pub/naif/generic_kernels/). In addition, supplementary custom kernels specific to this module are stored in `paladin/assets/spice/`. The most commonly required kernels are:

- `naif0012.tls`
- `de440.bsp`
- `gm_de440.tpc` 


## GSL setup

See [pygsl setup notes](./notes/pygsl_setup.md)


## Installation

This package is still in development. For now, please clone the repository and add to path.


## Capabilities

#### Roadmap

- [ ] GSL event capability
- [x] Propagation in CR3BP
- [x] Propagation in N-body problem
- [x] Transition to full-ephemeris model
- [x] Helper methods for frame transformation


## Gallery

NRHO propagation

<p align="center">
  <img src="./plots/propagation_example_nrho.png" width="400" title="Propagation example">
</p>



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Yuricst/paladin",
    "name": "spacecraft-paladin",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "astrodynamics",
    "author": "Yuri Shimane",
    "author_email": "yuri.shimane@gatech.edu",
    "download_url": "https://files.pythonhosted.org/packages/24/92/a56225e0c10ea4e10c39e345cab633af96c1c018e3af8407bdbf46c602c3/spacecraft_paladin-0.1.3.tar.gz",
    "platform": null,
    "description": "# `paladin` : python library for astrodynamics\n\n<p align=\"center\">\n  <img src=\"./assets/paladin_sd.jpg\" width=\"400\" title=\"Paladin chuuni\">\n</p>\n\n\n## Overview\n\nThis package provides tools for conducting CR3BP and ephemeris level analysis in cislunar and deep-space environments. \n\nWhile the library is implemented in python, the majority of functionalities are powered by either [SPICE routines](https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/FORTRAN/spicelib/index.html) or through numpy/scipy/numba implementations, resulting in (relatively) fast computations. \nFor numerical integration of ODEs, `paladin` provides the option of using either `scipy` or `gsl`; the latter is recommended due to higher accuracy. \n\nOptimization is conducted by constructing problems as [`pygmo` udp's](https://esa.github.io/pygmo2/index.html), which can then be solved through a variety of compatible solvers, including IPOPT, SNOPT, or WORHP (the latter two requires licenses). \n\n\n## Dependencies\n\nDeveloped on python 3.10.\n\nPackage requirements: \n- `numpy`, `matplotlib`, `numba`, `scipy`, `spiceypy`, `sympy`\n\nOptional:\n- [`pygsl`](https://github.com/pygsl/pygsl/tree/main) : recommended for high-accuracy integration; requires `gsl` to be installed.\n- `pygmo`, `pygmo_plugins_nonfree` : required for running trajectory construction problems\n\n\n## SPICE setup\n\nUsers are responsible for downloading [the generic SPICE kernels froom the NAIF website](https://naif.jpl.nasa.gov/pub/naif/generic_kernels/). In addition, supplementary custom kernels specific to this module are stored in `paladin/assets/spice/`. The most commonly required kernels are:\n\n- `naif0012.tls`\n- `de440.bsp`\n- `gm_de440.tpc` \n\n\n## GSL setup\n\nSee [pygsl setup notes](./notes/pygsl_setup.md)\n\n\n## Installation\n\nThis package is still in development. For now, please clone the repository and add to path.\n\n\n## Capabilities\n\n#### Roadmap\n\n- [ ] GSL event capability\n- [x] Propagation in CR3BP\n- [x] Propagation in N-body problem\n- [x] Transition to full-ephemeris model\n- [x] Helper methods for frame transformation\n\n\n## Gallery\n\nNRHO propagation\n\n<p align=\"center\">\n  <img src=\"./plots/propagation_example_nrho.png\" width=\"400\" title=\"Propagation example\">\n</p>\n\n\n",
    "bugtrack_url": null,
    "license": "MIT License",
    "summary": "high-fidelity spaceraft dynamics propagator",
    "version": "0.1.3",
    "project_urls": {
        "Homepage": "https://github.com/Yuricst/paladin"
    },
    "split_keywords": [
        "astrodynamics"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c4d9598cf2d6062a8489afb20ba9ec723f0c71eb2579caebf1dbb191e8456c2b",
                "md5": "bc6119ec6ff0defa756067fee8fbe709",
                "sha256": "87c86c3319d2d4ce74baf750db14007a19eeb6e8a845df9bf15b7dcd5feb7302"
            },
            "downloads": -1,
            "filename": "spacecraft_paladin-0.1.3-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bc6119ec6ff0defa756067fee8fbe709",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 25755,
            "upload_time": "2024-06-25T22:00:08",
            "upload_time_iso_8601": "2024-06-25T22:00:08.668752Z",
            "url": "https://files.pythonhosted.org/packages/c4/d9/598cf2d6062a8489afb20ba9ec723f0c71eb2579caebf1dbb191e8456c2b/spacecraft_paladin-0.1.3-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "2492a56225e0c10ea4e10c39e345cab633af96c1c018e3af8407bdbf46c602c3",
                "md5": "5578bbc610e231fa07968532f8471739",
                "sha256": "070f686fe51d7fbd1f4226bbc65e23e6556dec400999b72ce7d4d3718a80da7d"
            },
            "downloads": -1,
            "filename": "spacecraft_paladin-0.1.3.tar.gz",
            "has_sig": false,
            "md5_digest": "5578bbc610e231fa07968532f8471739",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 25840,
            "upload_time": "2024-06-25T22:00:10",
            "upload_time_iso_8601": "2024-06-25T22:00:10.428902Z",
            "url": "https://files.pythonhosted.org/packages/24/92/a56225e0c10ea4e10c39e345cab633af96c1c018e3af8407bdbf46c602c3/spacecraft_paladin-0.1.3.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-25 22:00:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Yuricst",
    "github_project": "paladin",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "spacecraft-paladin"
}
        
Elapsed time: 0.27254s