JavaProp is tool for designing and analyzing propellers. From the website:
JavaProp is a relatively simple program, which is based on the blade element theory. The blade is divided into small sections, which are handled independently from each other. Each segment has a chord and a blade angle and associated airfoil characteristics. The theory makes no provision for three dimensional effects, like sweep angle or cross flow. But it is able to find the additional axial and circumferential velocity added to the incoming flow by each blade segment. This additional velocity results in an acceleration of the flow and thus thrust. Usually this simplified model works very well, when the power and thrust loading of the propeller (power per disk area) is relatively small, as it is the case for most aircraft propellers.
It comes in the form of an applet that you can use through the website or as a jar file that you can link into your application. While it seems like a small and simple program its actually quite powerful and get you a long way towards picking/sizing a propeller for your aircraft.
At some point there was the idea to integrate into Excel as a plugin that would link into our sizing equations. Turns out that writing a java plugin for excel is actually a rather messy business and I really did not want to go down that route. Instead I had the idea of trying to convert the java bytecode to bytecode that runs on the CLR. This would make things a lot easier as the excel plugin can be written in C#, using all the bells and whistles that visual studio gives you.
Some googling led me to IKVM and I have to say I was very pleasently surprised. I was expecting lots of strange errors but everything worked smoothly and out of the box. It generated a dll which I could test on linux using mono as well as with Visual Studio on Windows. The excel plugin never materialized however, since the control flow JavaProp assumed did not match the flow used in our sizing equations but it was still fun to mess around with. In case anybody wants to do the same simply downlad the JavaProp jar as well as the mhclasses dependency and use the following ikvm command to convert it to a dll:
ikvmc -target:library javaprop.jar mhclasses.jar
To include it in a .Net application you just have to make sure you also add the reference to IKVM.OpenJDK.Core.dll.