Scientific Software

Scientific software I develop and maintain in free time. Right now, it's all Julia!

Julia

GeneralAstrodynamics.jl

I developed a Julia package alongside my graduate astrodynamics courses, and I've registered this package in Julia's package registry! Right now, the package provides calculations relating to conic orbits, and circular-restricted three-body orbits. I'm most proud of the package's Halo orbit and manifold solvers! At my highest aspiration, this package will one day serve a purpose similar to Python's excellent poliastro.

AstrodynamicalModels.jl

Common astrodynamical models are provided in another open-source Julia package I've written: AstrodynamicalModels.jl. This package currently includes restricted two-body, n-body, and circular restricted three-body spacecraft dynamics. The package extends the excellent ModelingToolkit.jl; check that out if you're not familiar! Playing around with the symbolic-numeric "bridge" that ModelingToolkit provides helped me to re-learn some basic dynamics concepts (e.g. "oh yeah, the hessian of the potential energy equation is equivalent to the Jacobian of the system's equations of motion!") Documentation is available here!

ManipulatorKinematics.jl

While this project is not yet open-source, it soon will be! I wrote this Julia package as a graduate student. It provides symbolic code generation for manipulator kinematics. To get this to work, I ended up reworking some simple C++, MATLAB, and Stan code generation capabilities in Symbolics.jl!

PolynomialGTM.jl

This project is an unofficial implementation of publicly available polynomial approximations for NASA's Generic Transport Model aircraft. Check out this package if you want a sandbox dynamical model for a control theory project! I'm using this package as an example for a control theory note-set I'm writing.