Vortex Interactions

The concept of vortex interactions came from Prandtl's lifting line theory. His student, Albert Betz, adapted lifting line theory to propellers. However, vortex interactions were never in a working propeller code, until much later. Barnes McCormick was the first to start working on it. A long time ago, I talked to him about his work and he said it wasn't in a working code. The author of PROPSY was the first person to have them in a working code, that I'm aware of. Unfortunately, there were a lot of bugs in that code. I've spent a lot of time fixing those bugs.

I have numerous issues with the concept of vortex interactions:

  • They are very difficult to code, which makes them very difficult to debug
  • The concept requires time travel (which is a huge red flag)
  • They miss situations that have strong blade to blade interactions. For instance, a constant chord turbofan blade will have no bound vortex interactions
  • In the case of PROPSY, and earlier works, they included interactions that can never happen. Moreover, vectors that pass through solid objects or the wake of other blades. I've greatly reduced this problem, in PROP_DESIGN. However, I didn't completely remove it
  • They do not apply to turbulent flow
  • They do not apply to ducted propeller/fans with sweep (airfoil and/or blade). This is because the vectors would ricochet off of the duct walls and come back across the wake (causing turbulence)
  • They do not capture pressure effects, which is the biggest thing that you want to capture. So things such as shock waves or the fact that airfoils close together perform differently than when far apart
  • The trailing vortex interactions slow the code way down
  • Lastly, in my testing, the effect is usually small

For all of these reasons, I removed vortex interactions from the main codes. Because I've spent so much time bug fixing this aspect of PROPSY, I left the feature in three test codes. I think they are useful for educational purposes. I also think that all the time I spent on them could save others a lot of time. In the past, these three codes were in the 'Undocumented Programs' folder of the primary download. Recently, I moved them to their own download. This download is completely optional. The codes are still undocumented. However, if you know how to use PROP_DESIGN, you will have no trouble figuring out how to use these codes.

 

The topic of vortex interactions is extremely unfortunate. Because Prandtl is so highly regarded, this topic persists. It would have been better if the concept of vortex interactions had never been created in the first place. In my opinion, it's a major waste of time.

 

Last Updated On; 05/01/24

I've tried keeping a changelog several times. However, due to the vast amount of updates, they quickly became way too long. Instead, I keep a list of the most recent updates below:

 

05/01/24 Update 2:

  • Streamlined some of the write statement format specifiers

05/01/24 Update 1:

  • Updated how the tilt angle is used to calculate propeller performance
  • Removed the THETAWD variable and associated plot. This was redundant, since it is the same thing as THETAPHIZ

04/26/24:

  • Fixed a bug with the trailing vortex interactions. When the rotation direction changed, the results weren't being computed properly. This is fixed now. The remaining difference in the results has to do with the iteration tolerance and the number of wake steps. As you make both finer, the results get closer together. Currently, with the default settings, the agreement is more than good enough though
  • Code refactoring

04/24/24:

  • I removed two CAD files that I left in the download. I created them to debug the vortex interactions. They aren't something you would need. Removing them reduces the size of the download
  • Added the input files that I used during testing

04/23/24:

  • Initial release of these codes as a standalone download
  • When I added constant speed systems to PROP_DESIGN, it made the vortex interaction code much more complicated. I thought I had it figured out, but recently, I realized that what I tried to do wasn't working right. I've got the problem fixed now
  • Made a number of improvements, to all three codes, so that these codes are consistent with the primary versions of PROP_DESIGN