Giter Club home page Giter Club logo

hpr-sim's People

Contributors

rdoddanavar avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

hpr-sim's Issues

Aerodynamics Model Pre-Processing

Proposed preproc_model.py that defines parsing routines specific to model input files; ex. aero model, prop model, etc.

Model file format TBD; ideally minimal work needed to condition RASAero for sim input

Module should create data suitable for initializing aero model

Pybind11 Garbage Collection

How can I release the memory used by Model derived objects after their associated flight completes? Do I call their destructor from the python side?

Interpolation Options

Provide more flexibility w/ interpolation options; currently, interpolation method is hard-coded to gsl_interp_steffen

Launch Rail Interaction

Considerations for launch rail effects on EOM:

  • force vector --> dot product w/ launch rail unit vector
  • sum of moments --> 0 while on rail

When are rail interactions over?

  • When CG clears?
  • Or aft end?
  • Or location(s) of launch lugs / rail buttons?

"Model" base class

Implement class that defines utilities for managing the internal state of a physical model:

Possible methods/functions:

  • State initialization
  • " " update --> the model routine itself
  • " " reset
  • process to call & update models it depends on

C++ Runtime & Memory Profiling

Develop build settings and test routine to profile C++ pybind11 modules for runtime efficiency & memory usage. Use gprof in some way (or sprof)?

CMake: Eigen build

Initial build against Eigen library. Should not need a separate CMake target, simply link to header directories:

We use the CMake build system, but only to build the documentation and unit-tests, and to automate installation. 
If you just want to use Eigen, you can use the header files right away. 
There is no binary library to link to, and no configured header file. 
Eigen is a pure template library defined in the headers

Limit user input

Control which fields are accessible during input parameter assignment. Forces user to modify config_param.yml when changing hidden fields

User input:

  • value
  • unit
  • dist & related

Config only:

  • min
  • max
  • quantity
  • path (for Name class)

Input: Boolean parameter

Define a parameter class similar to Param or Name that handles boolean input

Class data:

  • bool value

Class functions:

  • bool check_value()

Implement Mass Props Model

Class derived from model to provide mass props during runtime:

  • Overall mass
  • CG (X,Y,Z) position
  • Inertia tensor terms (Ixx, Iyy, Izz, Ixy, Ixz, Iyz)

Input: Error Handling

Error handling against check_value() and check_path(); consider moving routines to python away from C++ member functions

src/exec/exec.py --> Master script

Master python script that executes python & cpp subroutines. Takes command line argument(s) of input file paths

ex. (CLI) $ python3 exec.py myinput.yaml

Upgrade Geodetic Model

Update Geodetic::update() routine to reflect more detailed models described in NGA.STND.0036_1.0.0_WGS84

ODE Solver Validation

Quick check w/ MATLAB's ode45 to make sure my solver in GSL is working; 1DOF, no atmos/drag, just thrust & gravity

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.