pyblossum

A Python tool for assessing the Ballistic Limit Of Spacecraft Structures Under Micrometeoroid and orbital debris impact

https://github.com/shannonjryan/pyblossum

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.3%) to scientific vocabulary
Last synced: 10 months ago · JSON representation ·

Repository

A Python tool for assessing the Ballistic Limit Of Spacecraft Structures Under Micrometeoroid and orbital debris impact

Basic Info
  • Host: GitHub
  • Owner: shannonjryan
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 51.8 MB
Statistics
  • Stars: 7
  • Watchers: 1
  • Forks: 2
  • Open Issues: 1
  • Releases: 1
Created over 2 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

pyBLOSSUM - a tool for assessing the Ballistic Limit Of Spacecraft Structures Under Micrometeoroid and orbital debris impact

This repository provides ballistic limit equations (BLEs) for calculating the performance of spacecraft structures under impact by micrometeoroid and orbital debris (MMOD) particles at hypervelocity.

Getting started

To download this Git project open a terminal/command prompt and enter: git clone https://github.com/shannonjryan/pyBLOSSUM.git If you already have a previous version of the project you can simply update by navigating to the location of the repository and running: git pull

Setup

Requirements: - Anaconda (https://www.anaconda.com/download) - Python 3.12

The pre-requisite python packages are included in the 'environment.yml' file. To create an Anaconda environment based on the yml file open a terminal session and browse to the directory in which you cloned this repository. Run the following command: conda env create --file environment.yml

Comparing experimental data and BLE predictions

Experimental datasets are provided in the 'data' directory for the following shielding configurations: * Whipple shields * Stuffed Whipple shields * Honeycomb core sandwich panels * Foam core sandwich panels

Test results from those datasets can be plotted together with the ballistic limit curves. For example, if you define a Whipple shield configuration that is nominally identical (or very similar) to one in the experimental dataset, then the corresponding experiments can be included in your generated ballistic limit curve.

Running pyBLOSSUM

pyBLOSSUM can be run either as a GUI or from the command line/terminal. Depending on how you intend to run the code, the process will vary.

Running via the GUI

Activate the python enviroment by running: conda activate pyBLOSSUM

To launch the GUI navigate to the pyBLOSSUM installation directory and run: python pyBLOSSUM.py This will launch the GUI, as seen below.

pyBLOSSUM GUI

Running via command line

Activate the python enviroment by running: conda activate pyBLOSSUM A specific BLE can be called directly from the command line. Navigate to the pyBLOSSUM installation directory and run: python BLEs\<BLE_filename> <input_filename> where should be replaced by the name of the BLE python file you want to call and should be replaced by the name of a csv file that defines your target configuration.

NOTE: for mac and unix-based systems replace "\" with "/" in all path definitions.

For example, python BLEs\BLE_foamSP.py input_files\eval_example-foamSP.csv will perform an evaluation on the foam sandwich panel defined in the 'evalexample-foamSP.csv' input file using the foam sandwich panel BLE. Example input files for each target configuration are provided in the 'inputfiles' directory. The fields (i.e., column headers) in these input files are needed for the BLE analysis, so should not be changed.

To include experimental data in the generated plots, include the flag --data, e.g., python BLEs\BLE_foamSP.py input_files\eval_example-foamSP.csv --data

Output

Irrespective of how pyBLOSSUM is run, the output is the same, consisting of three files saved to the 'results' directory: 1. A png-format ballistic limit plot with the filename plot<datetime>.png 2. A csv-format datafile containing the data plotted in the ballistic limit curve with the filename blcdata.csv 3. A csv-format datafile containing the inputs used to generate the ballistic limit curve with the filename configdata.csv.

The is a date-time string is used to identify related plots, plot data, and configuration data files.

License

This project is licensed under the MIT License - see LICENSE.md for details.

Owner

  • Login: shannonjryan
  • Kind: user

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: pyBLOSSUM
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Shannon
    family-names: Ryan
    email: shannon.ryan@deakin.edu.au
    orcid: 'https://orcid.org/0000-0003-3883-7757'
    affiliation: Deakin University
repository-code: 'https://github.com/shannonjryan/pyBLOSSUM'
abstract: >-
  This library provides ballistic limit equations (BLEs) for
  calculating the performance of spacecraft structures under
  impact by micrometeoroid and orbital debris (MMOD)
  particles at hypervelocity.
keywords:
  - Space debris
  - Ballistic limit equation
  - Hypervelocity
  - Micrometeoroid and orbital debris
  - Risk assessment
license: MIT

GitHub Events

Total
  • Watch event: 3
  • Fork event: 2
Last Year
  • Watch event: 3
  • Fork event: 2