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 | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.