Aviary icon indicating copy to clipboard operation
Aviary copied to clipboard

Simple Mass Component

Open szoppelt opened this issue 5 months ago • 2 comments

Summary

This is the "simple mass" contribution. It is fairly bare bones right now, accounting for a relatively simple wing, fuselage, and tail components, with mass calculated using basic physics. There is also a materials database dictionary inside to allow for various densities to be used. The test folder contains all the unittests for each component as well as the summation.

The components were built using OpenMDAO JAX -- with jax and jax.numpy.

Integration was done using quadgk, a package created to mimic scipy.quad but with JAX compatibility. The JAX developers do not plan to add scipy.quad to jax.scipy, and scipy.quad was favored for the integration compared to jax.trapz.

The basics for the wing and tail involve a 4-digit NACA airfoil and the corresponding equations that describe the thickness, chord, and camber. I have basic functions implemented inside it to allow for .dat files (assuming the airfoil data file follows the convention that UIUC's airfoil database follows) and interpolators to pick out these.

Related Issues

  • Resolves #

Backwards incompatibilities

None

New Dependencies

JAX, jax.numpy, quadgk, quadax

szoppelt avatar Jul 03 '25 15:07 szoppelt

General question: are these new components valid to any aircraft, or just RC planes? If the latter, then maybe the naming could reflect that, like simple RC mass or something.

Kenneth-T-Moore avatar Jul 08 '25 16:07 Kenneth-T-Moore

There are major discrepancies between the wing and tail mass computations that need to be resolved before I'll approve merge.

Tests could use some additional cases, there are currently no tests happening for airfoil data files. If a data file for a NACA airfoil is given, the results should match the calculated value

jkirk5 avatar Jul 21 '25 15:07 jkirk5