Design the ideal wind turbine, propeller, or ship screw

Theory and Architecture

Software Architecture

In designing PropGen I wanted to take the path of least resistance while keeping the project as scalable as possible. The result is a loosely coupled mash-up of Java, C++, and Javascript modules that communicate via XML. All computations and business logic are performed in the C++ layers; all results are presented in html pages viewable on any browser; and the UI is a very thin Java application. PropGen also uses the following open source software:

-1- Boost: platform independent C++ library used for multi-threading, directory, and timing operations.

-2- Flot: Javascript library used for plotting.

-3- Newmat: Matrix math library used for computations.

 

  

Most of the heavy lifting for the application is in the Design/Analysis Engine. The function of the Design/Performance Manager is to determine what computations should be performed and then package and send those requests to the analysis engine. The Java UI is a thin application with minimal business logic.

Theory

 

Algorithms