About Me

I am an Aerospace Engineer with specialties in flutter, fluid structure interactions, and the use of CFD in a production environment. My dissertation shows how to improve the state-of-the-art unsteady CFD performance by 2 orders of magnitude. I am an engineer, a pilot, a marksman, a husband, and a dad.

Wednesday, April 30, 2014

Hoerner's Fluid Dynamics


Sighard Hoerner's Fluid Dynamic Drag and Fluid Dynamic Lift are classic references in aerospace engineering and fluid dynamics. These books are wonderful for rapid design and analysis work; I adore my copies.

The books remain under copyright until 2045.


I have received multiple requests for purchasing information. Unfortunately (as of 2014), the copyright holder does not have a website or publicly visible contact information. After some due diligence, I found their information:

Distributor of Hoerner Fluid Dynamics
9815 Bourbon Rose Court
Bakersfield, CA 93311
(661) 965-3901

You can also reach them via email at:
hoernerfdy@sbcglobal.net
 

The books (April 2014) are \$100 each plus \$7 to \$9 shipping.


Lift ISBN: 978-9998831636

Drag ISBN: 978-9991194448

Wednesday, April 9, 2014

Hydraulic Jump at Lake Tuscaloosa

Recently, Tuscaloosa received a sustained storm with significant rainfall. The video shows a hydraulic jump (shock) at Lake Tuscaloosa's spillway (channel flow).

 
The depth ratio is relatively small. We can compute the Froude number (and the velocity) based on this ratio of depth before and after the jump.
$$\frac{y_2}{y_1} = \frac{-1}{2} + \frac{\sqrt{1+8 Fr_1^2}}{2}$$
 
For a 10 foot depth before the jump and a 11 foot depth after (generous), the Froude number $Fr = \frac{v_1}{\sqrt{g y_1}} $ is approximately 1.1. This gives a pre-jump velocity of 20 ft/s. Reasonable based on my video.


Thursday, February 6, 2014

L Squared Error for a Fourier Sine Series

How close is my Fourier Sine series to a function f(x)?

Answer: $L_2(N) = -\frac{1}{2} a_n^2 + \int_\Omega f^2(x) dx$

This question came up recently while discussing PDE (partial differential equations) solution techniques. The final result is quite interesting.

Our sine series approximates the function f(x) over the domain $\Omega$ as $$f(x) \approx \sum {{a_n}\sin (n\pi x)}$$ You can determine the coefficients with the formula. $$ a_n = 2\int_\Omega f(x) sin(n\pi x) dx$$
One good measure of the error between the sine series and the function is the $L_2$, pronounced "el squared", error. $$ L_2 = \int_{\Omega} \left( u(x) - f(x) \right)^2 dx $$
Substitute for the sine series to obtain. $$ L_2 = \int_{\Omega} \left({{a_n}\sin (n\pi x)}- f(x) \right)^2 dx $$
Expand the terms to obtain $$ L_2 = \int_{\Omega} a_n^2 \sin^2(n\pi x) dx  -2\int_{\Omega} a_n f(x) \sin(n \pi x) dx + \int_{\Omega} f^2(x) dx $$

Now, these integrals are particularly interesting. The first integral is a constant $0.5 a_n^2$. The second contains the definition of $a_n$. The third only contains the function $f^2(x)$. This simplifies to $$L_2(N) = -\frac{1}{2} a_n^2 + \int_\Omega f^2(x) dx$$



Interestingly, if we let the error become zero, the following is an identity $$ a_n^2 = 2 \int_\Omega f^2(x) dx$$ Knowledge of this identity will allow you to quickly compute integrals of squared trig functions.

Neat! Do you have any interesting Fourier results? Let me know in the comments.

Wednesday, December 4, 2013

Aero-engineer: Off the ground

How can I get my aerospace engineering interest off the ground?

Recently, a mechanical engineering student asked this question in response to an advertisement at http://aerofluids.com/ARPL/. He wants to make a career shift right out of undergraduate engineering school. This student needs to become proficient in aircraft design in 2 years. He must formulate a plan and stick to it religiously.

Time and Money: Your time is far more valuable than you think. Since the timeline is 2 years, you must obtain the fundamentals fast; your training will be steep and expensive. Your competitors may have spent the last 10 years studying, building, flying and discussing aircraft. Their experiences will initially help them find better solutions faster. Your primary advantage is dedication and more efficient learning. If you can trade money for time, take it.

Reference Books: You must understand and recall considerable technical information. The fundamentals are contained in textbooks and reference books. You don't need to buy the newest editions. Solve the problems. Start with these:
  1. Funamentals of Aerodynamics, Anderson
  2. Hoerners Lift and Drag
  3. Theory of Wing Sections, Abott and von Doenhoff
  4. Aircraft Design, Raymer
  5. Any flight dynamics book by Roskam
  6. Boundary Layer Theory, Schlichting (older/used editions are ok)
For a quick high-level overview of an entire aircraft, study the Modern Fighting Aircraft line of books (example: MFA: Falcon and MFA: A-10)

Technical Journals: The aerospace journals contain practical and theoretical design cases. Set aside a couple of hours per week to systematically read journals. Look up the unfamiliar concepts in an aerodynamics book (e.g. Anderson). Start with these journals:
  1. AIAA Journal of Aircraft (ISSN 1533-3868, FREE e-copy at UA library)
  2. Annual Review of Fluid Mechanics
  3. AIAA Journal
Computer Programming: While not strictly aerospace engineering, proficiency at programming is necessary for analysis and visualization. You should be comfortable with Fortran and C for high performance computing. A scripting and plotting language such as Matlab, Python, Clojure, etc. is useful. If starting from scratch, try something like Think Python, HTDP or even SICP. For technical computing, try Numerical Recipes or NM (Hamming).

Projects: Work on projects continuously. Write-up your projects and publish the results on your professional blog.

Naturally, accepting a position in a design lab would accelerate this process.

Wednesday, July 31, 2013

Structure and Interpretation of Surface Flows

J Green 1969

 In the wind tunnel and production CFD environments, visualization of the fully 3D flow is a luxury rarely granted. For wind tunnels, even a 2D surface flow visualization is an expensive, messy, and incomplete tool. Learning to interpret and mentally visualize the flow structure is a critical skill.

So, in the spirit of a great book, SICP, the following documents from ONERA provide a wonderful explanation of the Structure and Interpretation of Surface Flows. After reading through these, you should be able to mentally visualize the 3D flow corresponding to the above image.

Document (5 parts):
1a
1b
2
3
4

 

Thursday, July 4, 2013

Divergent Trailing Edge

"Why does a divergent trailing edge airfoil work? Wouldn't this increase drag?" A colleague recently asked this question. Good question!

Divergent Trailing Edge Airfoil (Image from Patent US4858852 Fig.2)
First, we need understand the philosophy of use (application) for this type of airfoil: high subsonic and transonic aircraft designed for low drag about a specified lift coefficient: think long-range transport aircraft from the Boeing or Airbus families. Traditionally (since the 1960s), this application was served by supercritical airfoils such as the NASA SC(2) family.

Here's a quick discussion of three major reasons the concept works.

  • The divergent angles allows for an optimized lower-surface trailing-edge cusp to fill out the pressure profile without cusp separation bubbles. Result: lower Cd
  •  The divergent trailing edge tends to decrease the blunt trailing edge pressure. This decrease tends to promote less upper-surface boundary layer separation. Result: better Cdc, likely less AC shift
  • The mid-chord (say 60% to 80% chord) tends to be significantly thicker. This allows for more flexibility in flap geometry. Result: better low speed performance
McDonnell Douglas Aircraft patented this in 1989: Patent US4858852

Monday, February 18, 2013

Auscio Project

Auscio Project
Charles O'Neill

The financial panic of 2008 led to an interest in the relationship between metal prices and the US dollar. As a project, I created a free tracking program for Windows. You can see more at auscio.com.


This was an interesting project as it was my first exposure to Windows graphical programs. In particular, it required several modules:
  1. Gather prices from the web
  2. Store limit prices
  3. Timers
  4. Graphical Windows Buttons, Data Fields, etc
  5. Playing Sounds

Monday, May 7, 2012

Solo Photos

I soloed an airplane on the first day legally possible, my 16th birthday. So let's step back to a bright summer day in Weatherford OK in 1994.
CFI Jack Sauer, Airplane C-152 N64849, and Student  Pilot Charles O'Neill in 1994

The first stop is not the airport. No, the first step to flying an airplane is sitting in a doctor's office for a physical exam. When the weight of the paperwork equals the weight of the airplane, the airplane is said to be airworthy. With the medical certificate in hand, I'm off to the airport.

The airplane is a Cessna 152 with registration N64849. Looking at the FAA registration, she is a 1981 model and lives in LA nowadays. My flight instructor was Jack Sauer. I have no idea where he is now. He was initially quite skeptical of training a kid until a pre-preflight walk-around where I started naming aircraft parts and functions. Lesson learned: Know your stuff and doors open.


Afterwords, the traditional shirt-tail-cutting was performed.

Thanks to my parents for finding these long-lost photos.

Monday, April 16, 2012

Fortran Array Reordering Utility (Freo)


Fortran and C order their arrays differently. Fortran is column major; C is row major. There are performance implications to using the wrong order.

What do you do when you inherit a 10k+ line Fortran code written in C order? Regular expressions are not reliable. By-hand conversion takes too long and is fraught with human errors. So, I wrote the freo program in Scheme to flip the indicies of a specified function. Freo transposes Fortran indicies. It correctly converted the entire 12k line code in 54 files without human help in a few seconds.

Freo Converting Fortran Arrays in 4 files

Download exe file at: freo.exe and .scm code at: freo.scm. The code is not pretty and not optimal, but it does exist and does work. The code is compiled to a windows exe with Chicken Scheme.