Welcome to my homepage! When I was young, I loved airplanes, so I became an aerospace engineer. It was a good choice.
I work on physical simulation, analysis, aircraft design, and all the software that enables that. I helped develop a system for autonomous long-line-loiter at a company called Camp Six, and previously worked at NASA Ames as a developer for the Cart3D CFD group.
I've listed various work and academic projects below.
Email: supergra at gmail.com
I developed a real-time SITL flight simulator for our aircraft, built on Unity (C#). The physical aircraft model includes fast aerodynamic and propulsion lookup tables computed offline, simple electric propulsion modeling, a sophisticated flexible line dynamics solver, and a continuous gust model. For connecting to SITL/HITL: simple sensor and actuator models with failure simulation, batch-mode/no-GUI mission testing for continuous integration, including non-real-time (e.g. 0.1x or 10x) simulation. For experimental purposes, I was also able to use the simulation to investigate various aeroelastic effects. I integrated maps and topography for any global location with Mapbox. I also had a feature to "replay" flight data from real flights, for better visual debugging of flight performance or crashes.
Camp Six, 2018-2020
I created software tools to perform aircraft configuration sizing. These tools were used to size 10+ subscale aircraft at Camp Six, most of which were built and flown. The tools sized complete aircraft and components, subject to specified mission requirements, and to top-level configuration choices such as component layout or whether to use landing gear, parachutes, flaps, taper, etc.
Includes aerodynamics (used AVL for all aerodynamics, CLmax, trim, stability, control surface sizing, servo hinge moments), structural analysis (custom beam bending/torsion analysis for our construction method), aeroelastics (aileron reversal and divergence), basic electric propulsion models (including qProp), iterative weight and balance tools, as well as custom requirements for long line loiter in crosswind (modified AVL code).
Camp Six, 2019-2020
I created software to rapidly search hundreds of flight logs (including simulation-generated data), and parse, analyze, and plot data from them. I used Python and Matplotlib, plus pandas for data loading speed. The final system could parse simple queries from gigabytes of flight logs in less than a second. I architected it to be simple for co-workers to add new analyses and plots.
Camp Six, 2020
In 2020, Camp Six pivoted away from aircraft to rapid manufacturing of steel frames. In this new phase, I wrote the full stack of code: discrete mesh editing code to draw a simple skeleton model of the frame, scripted CAD-generated geometry to convert to a full set of manufactured parts (using Onshape and Featurescript), generation of G-code for our custom CNC machines (Python), code for user interaction with the machines (Java), embedded firmware for the machines (Arduino, C++), and scripts for manufacturing and assembly automation. I also wrote code for structural analysis and geometry optimization to reduce the cost of structures while meeting Building Code requirements.
Camp Six, 2020-2022
With my co-authors, I performed supersonic CFD simulations for participation in the 2nd Sonic Boom Prediction Workshop (SBPW2). Using NASA's Cart3D, I computed "boom carpets" of nearfield signatures below and to the sides of various aircraft in supersonic flight. I used mesh decomposition and grid rotation to dramatically improve the computational efficiency and sharpness for off-track angles.
Our paper was named the "AIAA 2018 Applied Aerodynamics Best Paper", and was published in the Journal of Aircraft. You can also watch a corresponding talk recorded at NASA Ames.
NASA Ames, 2017, with Michael Aftosmis and Marian Nemec
For my Ph.D. dissertation, I developed an automated shape parameterization technique for shape optimization. In standard approaches to shape optimization, the designer manually creates shape design variables -- this is called the "parameterization". This user choice biases the optimum and has a major impact on optimizer wall-clock time and stability.
This work aimed to automatically create and adaptively refine parameterizations that allow efficient shape optimization for unfamiliar aerodynamic design problems. The procedure I developed is able to converge toward the true continuous optimum shape.
Video: Seminar version of thesis defense [Link]
Stanford University, 2015, advised by Antony Jameson
I live in Santa Cruz with my wife and daughter.
Some good conversation starters: classical and baroque music (I'm a violist), hiking, the future, languages, Montana.
I speak Russian comprehensibly and have performed in Russian choruses and even one play.
I wrote one poem -- tell me what you think.
For some book suggestions, check out my list on Goodreads.