No project description provided
Project description
KessPy
kesspy is a Python library for simulating explosion and collision events in orbit using the NASA Standard Breakup Model. The breakup model was implemented based on the following works: NASA’s new breakup model of evolve 4.0 (Johnson et al.), and Proper Implementation of the 1998 NASA Breakup Model (Krisko et al.).
Installation
kesspy runs on Python 3.6 or higher (Python 3.8 is recommended): Currently the package is available using pip:
pip install nasa_sbm
A conda distribution will be made available when the project is stable
Getting Started
To use kesspy, you must first create a .yaml file to configure the simulation. This file has three required fields, the minimum characteristic length, the simulation type, and the satellite type involved in the fragmentation event.
Secondly, you must provide an implementation of Satellite.
Once, you have those two criterion met you can perform the simulation as follows:
from nasa_sbm.configuration import SimulationConfiguration
from nasa_sbm.model import BreakupModel
config = SimulationConfiguration('data/simulation_config.yaml')
event = BreakupModel(config, np.array([sat]))
debris = event.run()
An example configuration.yaml and Satellite implementation has been provided in
examples
Result Data Format
index | data | type |
---|---|---|
0 | SatType (for internal use) | enum |
1 | position | np.array (, 3), containing floats |
2 | characteristic length | float |
3 | area to mass ratio | float |
4 | area | float |
5 | mass | float |
6 | velocity | np.array (, 3), containing floats |
The returned debris is an (n, 7, 3) numpy array. However, only the position and velocity use the third axis as those quanities are vectors. >All other fields have 3 copies of their respective data. This was done as a performance optimization for numpy
Documentation
Testing
pytest --cov=nasa_sbm tests/
coverage report -m
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
Built Distribution
Hashes for kesspy-0.1.0-cp311-cp311-macosx_10_7_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e010230eca2846efcfed217e9a34b673cb6042bdbd29fd495e1b7bd64ca1c28 |
|
MD5 | 1c97c390aa29dea5618a9c65409eb2a1 |
|
BLAKE2b-256 | 4cd34db2f6674ab616ace607fd1b622325fca10f56daa632cf8cffb6f72e5699 |