Giter Site home page Giter Site logo

stanford-ssi / spaceshot-dynamics-aero Goto Github PK

View Code? Open in Web Editor NEW
6.0 22.0 3.0 2.52 MB

Your one stop shop for finless spin-stabilized projectiles

Python 7.58% Fortran 90.64% Tcl 1.78%
dynamic-stability max-q rockets spin-stabilization gyroscopes spaceshot python datcom

spaceshot-dynamics-aero's Introduction

Stabsim

Your one stop shop for finless spin-stabilized projectiles

Getting Started

We're not too fancy here. Get started by cloning the repo git clone https://github.com/stanford-ssi/Spaceshot-Dynamics-Aero.git

Prerequisites

You'll need some basic packages for scientific computing with Python

  • Python 3.6 or higher
  • numpy==1.16.2
  • scipy==1.2.1
  • matplotlib==3.0.3 And some more exotic ones
  • numpy-quaternion==2020.11.2.17.0.49
  • numba==0.43.1 Stabsim relies on Digital DATCOM to calculate aerodynamic coefficients. A compiled version of the fortran is provided but its unlikely to work for everyone's set up. If you experience issues with DATCOM
  1. Download the Digital Datcom via Public Domain Aeronautical Software
  2. Install the Fortran compiler gfortran. On Ubuntu this is as simple as
sudo apt update && sudo apt upgrade
sudo apt install gfortran
  1. Compile stabsim/DigitalDATCOM/datcom.f using the legacy version of gfortran
gfortran -std=legacy datcom.f -o datcom

Running Stabsim

Stabsim can be used as either as a python library or as an graphical application.

Command line interface

Even as stabsim's gui changes the command-line interface should remain fairly stagnant. Examples are provided in examples/. A sample is provided below for convenience

motor_dim = "data/H550_dim.csv"
motor_thrust = "data/H550_thrust.txt"
rocket = "data/Marvin.csv"

marvin = Rocket.fromfile(os.path.join(script_dir, rocket))
h550 = Motor.fromfiles(os.path.join(script_dir, motor_dim), os.path.join(script_dir, motor_thrust))
baby_spacehot = Profile(marvin, h550, 262, launch_altit=26000, length=5,        timesteps=100)

vis.kinematics(baby_spacehot)
vis.spin(baby_spacehot)

As you can see, sample motors and airframe data is provided in the data\ folder. To run stabsim on a new configuration you'll need to provide information about the motor and the airframe. Motor information can be loaded using

  1. the industry standard RASP file format
  2. a csv with motor file specification
  3. raw numerical values
  4. any combination thereof

Airframe information can be loaded using

  1. a csv file with airframe specifications
  2. a DATCOM file with airframe specifications
  3. some combination thereof For examples of how to format .csv files again refer to the data\ folder.

Graphical user interface

Clearly this is a lot of data. The graphical application makes it all a bit easier to manage. You can either load information using these file formats or manually input your vehicles specifications. Be warned that the GUI does abstract away a few features that are more readily accessible via the CLI. Stabsim at Startup Spaceshot Baby Spaceshot

Built With

License

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

Acknowledgments

The many many many folks whose sweat and tears have gone into Spaceshot

spaceshot-dynamics-aero's People

Contributors

jbaileyiii avatar lfayne avatar likelytobelauralb avatar lorenzoahn avatar matthtan avatar seba-8 avatar thedarkknight5050 avatar umarpatel23 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.