NACA Airfoils Code - Verify C++ Conversion (Depends on #4)
completed by: Andromeda Galaxy
mentors: Gauravjeet Singh, Ch3ck
The NACA airfoils are airplane wing shapes developed by the National Advisory Committee for Aeronautics (NACA). These shapes are described by a series of digits, which are translated into actual shapes by a series of computer programs. These programs date back several decades, and were written in Fortran.
BRL-CAD's interest in this code is as a possible means of procedurally generating wing geometry in BRL-CAD models, but we would prefer to have the shape generating logic in one of BRL-CAD's standard languages - C or C++. The target code for this effort is a modernization of older NACA codes by Ralph Carmichael called naca456.
The initial conversion will attempt to precisely reproduce the functionality as currently expressed in the Fortran code - any more elaborate reworking of the logic will be evaluated after we have a C/C++ version that reproduces the Fortran outputs correctly.
This task depends on the successful completion of tasks #1 - #4 - this file makes use of the files from those tasks. Students shouldn't claim (and mentors shouldn't assign) this task until the others are complete.
Your task involves the following steps:
- Download and build the original naca456 from http://www.pdas.com/naca456download.html
- Verify that the samples at http://www.pdas.com/naca456samples.html work correctly with the original naca456
- Check out the git repository: git clone https://github.com/starseeker/naca
- Build the C++ naca456 (cd naca; mkdir build; cd build; cmake ..; make)
- Repeat the tests performed with the original naca456 using the new C++ version.
- Compare the outputs and make note of any differences.
- Correct the C++ code to make the new outputs, if any differences are observed.
- Submit any necessary patches, either to the task or via a github pull request if you prefer to work in a git fork.