Skip to main content

Spin-stabilization Analysis for Solid Rocket Motor Systems

Project description

# SRMspinanalysis

## About SRMspinanalysis package contains modules for analyzing dynamic effects of small launch vehicles in zero gravity utilizing solid rocket motors for spin-stabilization.

## Module Descriptions

### get_data.py Pulls data from thrustcurve.org url for RASP engine data and organizes data into a class.

#### class SolidRocketMotor()

Contains information about the chosen solid rocket motor. Output of the extract_RASP_data function. * motor name * motor diameter (mm) * motor length (mm) * motor delays * motor propellant weight (kg) * motor total weight (kg) * motor manufacturer

Also contains the thrust-time data. * thrust vector (N) * time vector (s)

Contains function to add an ignition delay to the chosen motor.

#### def extract_RASP_data(url) Given a url for RASP engine data from thrustcurve.org, this function parses the html and extracts the appropriate data into a SolidRocketMotor class.

#### def is_comment(line) Determines if a string is a RASP file comment. Comments begin with a ‘;’ character.

### solver.py Contains dynamic model and necessary functions to solve equations of motion.

#### def compute_moments(params, thrust_motor_1, thrust_motor_2) Computes moment vector given thrust information from two oppositely pointed SRM’s and a set of design parameters.

#### def interpolate_thrust_data(t, motor_time_data, motor_thrust_data): Performs a linear interpolation on motor thrust data and extracts the value at a desired time.

#### def euler_eom(f, t, design_params, SRM1, SRM2): Numerically computes the time derivatives of the specified function variables. To be used for numerical integration.

### sizing.py Simple module that can be used to size a motor given design constraints.

#### def compute_total_impulse(spin_rate, roll_inertia, radial_distance) Computes total impulse required to spin a rocket design (i.e. known roll inertia and radial location of motors) at a desired spin rate.

#### def compute_impulse_per_motor(total_impulse) Computes impulse for a single motor from the total impulse.

# Changelog All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.0] - 2018-05-29 ### Added - Something here.

### Changed - Something here.

### Fixed - Something here.

### Removed - Something here.

[Unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/v1.0.0…HEAD [0.1.0]: https://github

Project details


Release history Release notifications

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for SRMspinanalysis, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size SRMspinanalysis-0.1.0-py2.7.egg (21.4 kB) File type Egg Python version 2.7 Upload date Hashes View hashes
Filename, size SRMspinanalysis-0.1.0.tar.gz (10.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page