├── output ├── Main_FindDVEs.exe ├── Main_FindDVEs0.exe ├── Main_PlotWake_color.exe ├── Performance.txt ├── wakeframes_gif.m └── wakeplot_new.m ├── FreeWake2018 beta Manual.docx ├── Main_MultiPointVelocity.exe ├── airfoils ├── __airfoil1.dat ├── __airfoil2.dat ├── __airfoil4.dat ├── __airfoil5.dat ├── airfoil8.dat ├── Original Airfoils │ ├── airfoil5.dat │ ├── airfoil3.dat │ ├── airfoil4.dat │ ├── airfoil1.dat │ ├── airfoil2.dat │ └── Copy of airfoil2.dat ├── airfoil5.dat ├── airfoil3.dat ├── airfoil2.dat ├── airfoil1.dat ├── airfoil7.dat └── airfoil4.dat ├── HowToC++.h ├── Source ├── FreeWakeWing.h ├── PerfCode.h ├── general.h ├── vector_algebra.h ├── ref_frame_transform.h ├── alloc.h ├── typedef.h ├── gauss.cpp ├── longtrim.cpp ├── Main_PointVelocity.cpp ├── Main_MultiPointVelocity.cpp └── Main_PlotWakeML.cpp ├── .gitattributes ├── .gitignore ├── input.txt └── LICENSE.md /output/Main_FindDVEs.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raalf/FreeWake/HEAD/output/Main_FindDVEs.exe -------------------------------------------------------------------------------- /output/Main_FindDVEs0.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raalf/FreeWake/HEAD/output/Main_FindDVEs0.exe -------------------------------------------------------------------------------- /FreeWake2018 beta Manual.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raalf/FreeWake/HEAD/FreeWake2018 beta Manual.docx -------------------------------------------------------------------------------- /Main_MultiPointVelocity.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raalf/FreeWake/HEAD/Main_MultiPointVelocity.exe -------------------------------------------------------------------------------- /airfoils/__airfoil1.dat: -------------------------------------------------------------------------------- 1 |  2 RTEXTXCEL -------------------------------------------------------------------------------- /airfoils/__airfoil2.dat: -------------------------------------------------------------------------------- 1 |  2 RTEXTXCEL -------------------------------------------------------------------------------- /airfoils/__airfoil4.dat: -------------------------------------------------------------------------------- 1 |  2 RTEXTXCEL -------------------------------------------------------------------------------- /airfoils/__airfoil5.dat: -------------------------------------------------------------------------------- 1 |  2 RTEXTXCEL -------------------------------------------------------------------------------- /output/Main_PlotWake_color.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/raalf/FreeWake/HEAD/output/Main_PlotWake_color.exe -------------------------------------------------------------------------------- /HowToC++.h: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | How to compile a C++ program: 5 | 6 | g++ Main_PerfCode2015beta.cpp -o fw 7 | 8 | compiles Main_PerfCode2015beta.cpp to fw 9 | 10 | 11 | ./fw 12 | 13 | executes fw 14 | -------------------------------------------------------------------------------- /Source/FreeWakeWing.h: -------------------------------------------------------------------------------- 1 | #include "read_input.cpp" 2 | #include "wing_geometry.cpp" 3 | #include "induced_velocity.cpp" 4 | #include "write_output.cpp" 5 | #include "gauss.cpp" 6 | #include "wake_geometry.cpp" 7 | #include "equ_system.cpp" 8 | #include "lift_force.cpp" 9 | #include "drag_force.cpp" 10 | 11 | 12 | -------------------------------------------------------------------------------- /Source/PerfCode.h: -------------------------------------------------------------------------------- 1 | #include "read_input.cpp" 2 | #include "wing_geometry.cpp" 3 | #include "write_output.cpp" 4 | #include "induced_velocity.cpp" 5 | #include "gauss.cpp" 6 | #include "wake_geometry.cpp" 7 | #include "equ_system.cpp" 8 | #include "lift_force.cpp" 9 | #include "drag_force.cpp" 10 | #include "PitchMoment.cpp" 11 | #include "longtrim.cpp" 12 | 13 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | 7 | # Standard to msysgit 8 | *.doc diff=astextplain 9 | *.DOC diff=astextplain 10 | *.docx diff=astextplain 11 | *.DOCX diff=astextplain 12 | *.dot diff=astextplain 13 | *.DOT diff=astextplain 14 | *.pdf diff=astextplain 15 | *.PDF diff=astextplain 16 | *.rtf diff=astextplain 17 | *.RTF diff=astextplain 18 | -------------------------------------------------------------------------------- /output/Performance.txt: -------------------------------------------------------------------------------- 1 | Output file of performance calculations 2 | Weight = 260.000000 Wing area = 6.000000 cmac = 0.000000 3 | xcg = 0.000000 ycg = 0.000000 zcg = 0.000000 4 | alpha Vinf CL CD Dtotal L/D wglide Preq Dind Dprof Dht Dvt Dfus Dinter Dmisc CMoWing 5 | 1.0 23.94 0.12 0.05202 109.633 2.4 10.09 2624.37 1.072 108.561 0.000 0.000 0.000 0.000 0.000 -1.#IO 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Windows image file caches 2 | Thumbs.db 3 | ehthumbs.db 4 | 5 | # Folder config file 6 | Desktop.ini 7 | 8 | # Recycle Bin used on file shares 9 | $RECYCLE.BIN/ 10 | 11 | # Windows Installer files 12 | *.cab 13 | *.msi 14 | *.msm 15 | *.msp 16 | 17 | # Windows shortcuts 18 | *.lnk 19 | 20 | # ========================= 21 | # Operating System Files 22 | # ========================= 23 | 24 | # OSX 25 | # ========================= 26 | 27 | .DS_Store 28 | .AppleDouble 29 | .LSOverride 30 | 31 | # Thumbnails 32 | ._* 33 | 34 | # Files that might appear on external disk 35 | .Spotlight-V100 36 | .Trashes 37 | 38 | # Directories potentially created on remote AFP share 39 | .AppleDB 40 | .AppleDesktop 41 | Network Trash Folder 42 | Temporary Items 43 | .apdisk 44 | -------------------------------------------------------------------------------- /airfoils/airfoil8.dat: -------------------------------------------------------------------------------- 1 | FX 66-17A-175 Stuttgart Experiment rows=26 2 | 0 0 0.011 1.00E+06 -0.1 3 | 1 0.1 0.0094 1.00E+06 -0.1 4 | 2 0.28 0.0103 1.00E+06 -0.1 5 | 3 0.38 0.0102 1.00E+06 -0.1 6 | 4 0.8 0.0104 1.00E+06 -0.1 7 | 5 1.46 0.0126 1.00E+06 -0.1 8 | 6 1.47 0.02 1.00E+06 -0.1 9 | 0 0 0.0105 1.50E+06 -0.1 10 | 1 0.1 0.0089 1.50E+06 -0.1 11 | 2 0.17 0.00805 1.50E+06 -0.1 12 | 3 0.5 0.0094 1.50E+06 -0.1 13 | 4 0.86 0.009 1.50E+06 -0.1 14 | 5 1.45 0.01 1.50E+06 -0.1 15 | 6 1.46 0.02 1.50E+06 -0.1 16 | 0 0 0.0095 2.00E+06 -0.1 17 | 1 0.16 0.0075 2.00E+06 -0.1 18 | 2 0.39 0.0073 2.00E+06 -0.1 19 | 3 1.4 0.0094 2.00E+06 -0.1 20 | 4 1.43 0.01 2.00E+06 -0.1 21 | 5 1.44 0.02 2.00E+06 -0.1 22 | 0 0 0.0093 3.00E+06 -0.1 23 | 1 0.2 0.007 3.00E+06 -0.1 24 | 2 1.2 0.0082 3.00E+06 -0.1 25 | 3 1.42 0.0087 3.00E+06 -0.1 26 | 4 1.43 0.01 3.00E+06 -0.1 27 | 5 1.44 0.02 3.00E+06 -0.1 28 | -------------------------------------------------------------------------------- /Source/general.h: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | //#include 5 | #include 6 | 7 | #include "typedef.h" 8 | #include "alloc.h" 9 | #include "vector_algebra.h" 10 | #include "ref_frame_transform.h" 11 | 12 | #define Pi 3.1415926535897931 13 | #define DtR Pi/180 14 | #define RtD 180/Pi 15 | #define DBL_EPS 1e-14 16 | #define OUTPUT_PATH "output/" 17 | #define PROGRAM_VERSION "FreeWake2018_Omega" 18 | #define AIRFOIL_PATH "airfoils/" 19 | 20 | 21 | //global Variables 22 | FILE *test; //file for test output during debugging 23 | 24 | 25 | GENERAL info; //general input information 26 | 27 | PANEL *panelPtr; //pointer holds information on panel geometry 28 | 29 | BOUND_VORTEX *elementPtr;//pointer holds information on elementary wings 30 | 31 | DVE *surfacePtr; //pointer to surface Distributed-Vorticity elements 32 | DVE **wakePtr; //pointer to wake DVE 33 | 34 | double Nt_free[2], Nt_ind[2]; 35 | //magnitude of induced and free stream normal 36 | //forces/density of total wing 37 | 38 | double **CN; //total normal forces, CL,CLi,CY,CYi for each timestep 39 | 40 | double *CDi_DVE; //total ind. drag (Eppler) with DVEs for each timestep 41 | double CDi_finit; //total induced drag with DVEs after all timesteps 42 | 43 | //8-8-07 G.B. 44 | double alpha1,alpha2,alphastep; //AOA loop, beginning, end, stepsie 45 | 46 | -------------------------------------------------------------------------------- /airfoils/Original Airfoils/airfoil5.dat: -------------------------------------------------------------------------------- 1 | NACA 64012 Numer of rows =29 2 | -8.995126548 -0.851721 0.0209338 1000000 -0.08 3 | -8.855582736 -0.842367 0.0199261 1000000 -0.08 4 | -8.417199752 -0.812981 0.0188825 1000000 -0.08 5 | -8.026530585 -0.78346 0.0180403 1000000 -0.08 6 | -7.313734057 -0.714459 0.016254 1000000 -0.08 7 | -6.736273934 -0.658559 0.014872 1000000 -0.08 8 | -6.362722315 -0.622398 0.0139619 1000000 -0.08 9 | -5.721436961 -0.559611 0.012881 1000000 -0.08 10 | -5.220277577 -0.510126 0.0119023 1000000 -0.08 11 | -4.348721779 -0.423965 0.0107853 1000000 -0.08 12 | -3.981533442 -0.387647 0.0101101 1000000 -0.08 13 | -3.816653565 -0.371339 0.00950425 1000000 -0.08 14 | -3.711046134 -0.358553 0.00863034 1000000 -0.08 15 | -3.568466054 -0.338925 0.00799056 1000000 -0.08 16 | -3.206393425 -0.289081 0.00754874 1000000 -0.08 17 | -2.246275038 -0.195652 0.00730339 1000000 -0.08 18 | -1.20219121 -0.0986111 0.00746032 1000000 -0.08 19 | -0.201779861 -0.00500234 0.00748341 1000000 -0.08 20 | 0.859278682 0.0984541 0.00723694 1000000 -0.08 21 | 1.853597701 0.201933 0.00702402 1000000 -0.08 22 | 2.671113514 0.295788 0.00741621 1000000 -0.08 23 | 3.403846946 0.380043 0.00844705 1000000 -0.08 24 | 3.914502724 0.431233 0.0100185 1000000 -0.08 25 | 4.456711621 0.485586 0.0113212 1000000 -0.08 26 | 5.196957997 0.559791 0.0123196 1000000 -0.08 27 | 5.537538167 0.593932 0.0133896 1000000 -0.08 28 | 9.952574506 0.651448 0.0144234 1000000 -0.08 29 | 14.78792836 0.722378 0.0155229 1000000 -0.08 30 | 13.88039459 0.790414 0.0172938 1000000 -0.08 31 | -------------------------------------------------------------------------------- /Source/vector_algebra.h: -------------------------------------------------------------------------------- 1 | double norm2(const double v[3]); 2 | double dot(const double v1[3],const double v2[3]); 3 | void cross(const double v1[3],const double v2[3],double result[3]); 4 | void vsum(const double v1[3],const double v2[3],double result[3]); 5 | void scalar(const double v1[3],const double v2,double result[3]); 6 | void rotateX(const double v1[3],const double alpha, double result[3]); 7 | 8 | 9 | /***************************************************************************/ 10 | double norm2(const double v[3]) 11 | { 12 | return (sqrt(dot(v,v))); 13 | } 14 | /***************************************************************************/ 15 | double dot(const double v1[3],const double v2[3]) 16 | { 17 | int i; 18 | double sum; 19 | 20 | sum = 0.0; 21 | for (i = 0; i < 3; i++) 22 | sum += v1[i]*v2[i]; 23 | return sum; 24 | } 25 | /***************************************************************************/ 26 | void cross(const double v1[3],const double v2[3],double result[3]) 27 | { 28 | result[0] = v1[1]*v2[2]-v1[2]*v2[1]; 29 | result[1] = v1[2]*v2[0]-v1[0]*v2[2]; 30 | result[2] = v1[0]*v2[1]-v1[1]*v2[0]; 31 | } 32 | /***************************************************************************/ 33 | 34 | void vsum(const double v1[3],const double v2[3],double result[3]) 35 | { 36 | result[0] = v1[0]+v2[0]; 37 | result[1] = v1[1]+v2[1]; 38 | result[2] = v1[2]+v2[2]; 39 | } 40 | /***************************************************************************/ 41 | void scalar(const double v1[3],const double v2,double result[3]) 42 | { 43 | result[0] = v1[0]*v2; 44 | result[1] = v1[1]*v2; 45 | result[2] = v1[2]*v2; 46 | } 47 | /***************************************************************************/ 48 | void rotateX(const double v1[3],const double alpha, double result[3]) 49 | { 50 | //transforms vector v1 in new co-system that is rotated by alpha 51 | //around x-axis (RHS!) 52 | result[0] = v1[0]; 53 | result[1] = v1[1]*cos(alpha)+v1[2]*sin(alpha); 54 | result[2] = -v1[1]*sin(alpha)+v1[2]*cos(alpha); 55 | } 56 | /***************************************************************************/ 57 | -------------------------------------------------------------------------------- /Source/ref_frame_transform.h: -------------------------------------------------------------------------------- 1 | void Glob_Star(const double [3],const double,\ 2 | const double,const double, double [3]); 3 | void Star_Glob(const double [3],const double,\ 4 | const double,const double, double [3]); 5 | 6 | /***************************************************************************/ 7 | void Glob_Star(const double x[3],const double nu,\ 8 | const double eps,const double psi, double xsi[3]) 9 | { 10 | //transformation from x-reference frame to xsi_star-reference frame 11 | //first rotation: x -> x', rotation about x-axis by nu 12 | //second rotation: x' -> xsi, rotation about y'-axis by eps 13 | //third rotation: xsi -> xsi*, rotation about zeta-axis by psi 14 | //all rotations follow right-hand rule 15 | // 16 | double cnu = cos(nu), snu=sin(nu); 17 | double ceps = cos(eps), seps=sin(eps); 18 | double cpsi = cos(psi), spsi=sin(psi); 19 | double rot[3][3]; //rotation matrix 20 | 21 | //the rotation matrix: 22 | rot[0][0] = cpsi*ceps; 23 | rot[0][1] = cpsi*seps*snu+spsi*cnu; 24 | rot[0][2] =-cpsi*seps*cnu+spsi*snu; 25 | rot[1][0] =-spsi*ceps; 26 | rot[1][1] =-spsi*seps*snu+cpsi*cnu; 27 | rot[1][2] = spsi*seps*cnu+cpsi*snu; 28 | rot[2][0] = seps; 29 | rot[2][1] = -ceps*snu; 30 | rot[2][2] = ceps*cnu; 31 | //printf("\n rot0 %2.2lf %2.3lf %2.3lf ",rot[0][0],rot[0][1],rot[0][2]); 32 | //printf("\n rot1 %2.2lf %2.3lf %2.3lf ",rot[1][0],rot[1][1],rot[1][2]); 33 | //printf("\n rot2 %2.2lf %2.3lf %2.3lf ",rot[2][0],rot[2][1],rot[2][2]); 34 | 35 | //transforming x into xsi* 36 | xsi[0] = x[0]*rot[0][0] + x[1]*rot[0][1] + x[2]*rot[0][2]; 37 | xsi[1] = x[0]*rot[1][0] + x[1]*rot[1][1] + x[2]*rot[1][2]; 38 | xsi[2] = x[0]*rot[2][0] + x[1]*rot[2][1] + x[2]*rot[2][2]; 39 | 40 | } 41 | /***************************************************************************/ 42 | 43 | /***************************************************************************/ 44 | void Star_Glob(const double xsi[3],const double nu,\ 45 | const double eps,const double psi, double x[3]) 46 | { 47 | //transformation from xsi*-reference frame to x-reference frame 48 | //third rotation: xsi* -> xsi, rotation about zeta*-axis by -psi 49 | //second rotation: xsi -> x', rotation about eta-axis by -eps 50 | //first rotation: x' -> x, rotation about x'-axis by -nu 51 | //all rotations follow right-hand rule 52 | // 53 | double cnu = cos(nu), snu=sin(nu); 54 | double ceps = cos(eps), seps=sin(eps); 55 | double cpsi = cos(psi), spsi=sin(psi); 56 | double rot[3][3]; //rotation matrix 57 | 58 | //the rotation matrix: 59 | rot[0][0] = cpsi*ceps; 60 | rot[0][1] = cpsi*seps*snu+spsi*cnu; 61 | rot[0][2] =-cpsi*seps*cnu+spsi*snu; 62 | rot[1][0] =-spsi*ceps; 63 | rot[1][1] =-spsi*seps*snu+cpsi*cnu; 64 | rot[1][2] = spsi*seps*cnu+cpsi*snu; 65 | rot[2][0] = seps; 66 | rot[2][1] = -ceps*snu; 67 | rot[2][2] = ceps*cnu; 68 | 69 | //transforming x into xsi* 70 | x[0] = xsi[0]*rot[0][0] + xsi[1]*rot[1][0] + xsi[2]*rot[2][0]; 71 | x[1] = xsi[0]*rot[0][1] + xsi[1]*rot[1][1] + xsi[2]*rot[2][1]; 72 | x[2] = xsi[0]*rot[0][2] + xsi[1]*rot[1][2] + xsi[2]*rot[2][2]; 73 | 74 | } 75 | /***************************************************************************/ 76 | -------------------------------------------------------------------------------- /input.txt: -------------------------------------------------------------------------------- 1 | Input file for FreeWake 2014 2 | Format will not work with older versions 3 | 4 | 5 | Please note that the program uses equal, number and : signs as special recognizers! 6 | The results are written to the sub-directory output' 7 | 8 | Input file for kite foil, normal wing-tail config 9 | 10 | Relaxed wake (yes 1, no 0): relax = 0 11 | Steady (1) or unsteady (2): aerodynamics = 1 12 | Viscous solutions (1) or inviscid (0) viscous = 1 13 | Symmetrical geometry (yes 1, no 0): sym = 0 14 | Longitudinal trim (yes 1, no 0): trim = 0 (yes means m has to be 1) 15 | 16 | Max. number of time steps: maxtime = 20 17 | Width of each time step (sec): deltime = 2.50000 18 | Convergence delta-span effic.: deltae = 0.00 (0 if onlytimestepping) 19 | 20 | Freestream velocity (leave value 1): Uinf = 11.0 21 | AOA beginning, end, step size [deg]: alpha = 0 10 2.0 22 | Sideslip angle [deg]: beta = 0.0 23 | Density: density = 1000. 24 | Kinematic viscosity: nu = 1.3070000e-06 25 | 26 | Reference area: S = 0.0885 27 | Reference span: b = 0.6 28 | 29 | Mean aerodynamic chord: cmac = 0.1 30 | Aircraft weight (N): W = 801.000000000 31 | CG location (x y z): cg= 0.000000 0.000000000 0.000000000 32 | CMo of wing: CMo = -0.100000000 33 | 34 | No. of wings (max. 5): wings = 2 35 | No. of panels: panels = 5 36 | No. of chordwise lifting lines: m = 3 37 | No. of airfoils (max. 15): airfoils= 8 38 | 39 | Panel boundary conditions: 40 | Symmetry line - 10 41 | Between panels - 220 42 | Free end - 100 43 | 44 | 45 | 46 | Panel #:1. Number of spanwise elements (n) = 3 47 | Neighbouring panels (0 for none) left: 0 right: 2 48 | xleft yleft zleft chord epsilon Bound.Cond. Airfoil 49 | 0.000 0.000 0.000 0.201 0.000 10 7 50 | xright yright zright chord epsilon Bound.Cond. Airfoil 51 | 0.020 0.06 0.000 0.188 0.000 220 7 52 | 53 | Panel #:2. Number of spanwise elements (n) = 3 54 | Neighbouring panels (0 for none) left: 1 right: 3 55 | xleft yleft zleft chord epsilon Bound.Cond. airfoil 56 | 0.020 0.06 0.000 0.188 0.000 220 7 57 | xright yright zright chord epsilon Bound.Cond. airfoil 58 | 0.066 0.14 -0.003 0.160 0.000 220 7 59 | 60 | Panel #:3. Number of spanwise elements (n) = 4 61 | Neighbouring panels (0 for none) left: 2 right: 4 62 | xleft yleft zleft chord epsilon Bound.Cond. airfoil 63 | 0.066 0.14 -0.003 0.160 0.000 220 7 64 | xright yright zright chord epsilon Bound.Cond. airfoil 65 | 0.123 0.22 -0.011 0.126 0 220 7 66 | 67 | Panel #:4. Number of spanwise elements (n) = 4 68 | Neighbouring panels (0 for none) left: 3 right: 0 69 | xleft yleft zleft chord epsilon Bound.Cond. airfoil 70 | 0.123 0.22 -0.011 0.126 0 220 7 71 | xright yright zright chord epsilon Bound.Cond. airfoil 72 | 0.223 0.30 -0.034 0.054 0. 100 7 73 | 74 | 75 | Tail area is 0.03 m^2 76 | 77 | Panel #:5. Number of spanwise elements (n) = 4 78 | Neighbouring panels (0 for none) left: 0 right: 0 79 | xleft yleft zleft chord epsilon Bound.Cond. airfoil 80 | 0.78 0.00 0.000 0.08 -.000 10 7 81 | xright yright zright chord epsilon Bound.Cond. airfoil 82 | 0.8 0.20 0.00 0.07 -.000 100 7 83 | 84 | 85 | %<- special identifier 86 | Vertical tail information: 87 | Number of panels (max 5) = 0 88 | no. chord area airfoil 89 | 90 | Fuselage information: 91 | Number of sections (max 20) = 0 92 | Width of each section = 0.000 93 | Panel where transition occurs = 0 94 | No. Diamter 95 | 96 | Interference drag = 0.0% 97 | ############## -------------------------------------------------------------------------------- /airfoils/Original Airfoils/airfoil3.dat: -------------------------------------------------------------------------------- 1 | FX 67-K-170/17 Flap -4 Number of Rows =70 2 | -5.255041968 -0.216169 0.0131467 1500000 -0.11 3 | -4.690266335 -0.154821 0.0124506 1500000 -0.11 4 | -4.125611303 -0.0934861 0.0117107 1500000 -0.11 5 | -3.681690548 -0.0452658 0.0112325 1500000 -0.11 6 | -3.118873359 0.0161535 0.0107987 1500000 -0.11 7 | -2.720567922 0.0600261 0.0104951 1500000 -0.11 8 | -2.362386633 0.0994791 0.0101038 1500000 -0.11 9 | -1.964841082 0.143268 0.00949417 1500000 -0.11 10 | -1.647114405 0.178265 0.00888406 1500000 -0.11 11 | -1.329823505 0.213214 0.00809908 1500000 -0.11 12 | -1.09234331 0.239372 0.00731363 1500000 -0.11 13 | -0.846658475 0.26565 0.00696534 1500000 -0.11 14 | -0.641859103 0.287532 0.00661681 1500000 -0.11 15 | -0.395242549 0.313882 0.00653081 1500000 -0.11 16 | -0.107145746 0.344664 0.00657621 1500000 -0.11 17 | 0.181287991 0.375482 0.00675276 1500000 -0.11 18 | 0.551774378 0.415067 0.00684235 1500000 -0.11 19 | 0.922148454 0.45464 0.00688823 1500000 -0.11 20 | 1.580609973 0.524994 0.00697951 1500000 -0.11 21 | 2.339264171 0.608512 0.00698407 1500000 -0.11 22 | 3.25974017 0.714032 0.00707727 1500000 -0.11 23 | 3.75832552 0.771188 0.00712411 1500000 -0.11 24 | 4.528367306 0.859113 0.00717263 1500000 -0.11 25 | 5.239702656 0.938259 0.00726439 1500000 -0.11 26 | 5.713899259 0.99102 0.00731098 1500000 -0.11 27 | 6.225478408 1.04818 0.00735782 1500000 -0.11 28 | 6.690833629 1.10095 0.00744814 1500000 -0.11 29 | 7.078585553 1.14492 0.00749426 1500000 -0.11 30 | 7.826840413 1.1977 0.00762829 1500000 -0.11 31 | 8.146410089 1.21557 0.00867845 1500000 -0.11 32 | 8.228850839 1.22018 0.00946558 1500000 -0.11 33 | 8.231712123 1.22034 0.0100339 1500000 -0.11 34 | 8.392480528 1.22933 0.0107776 1500000 -0.11 35 | -2.621846084 0.0758481 0.00940098 2000000 -0.11 36 | -2.269854492 0.114859 0.00909603 2000000 -0.11 37 | -2.11496277 0.132011 0.00879049 2000000 -0.11 38 | -1.762672603 0.171022 0.00848555 2000000 -0.11 39 | -1.448885494 0.201242 0.00813665 2000000 -0.11 40 | -1.130733873 0.23151 0.00783146 2000000 -0.11 41 | -0.996895344 0.244243 0.00748208 2000000 -0.11 42 | -0.752219618 0.269995 0.00704563 2000000 -0.11 43 | -0.674260044 0.278356 0.00669613 2000000 -0.11 44 | -0.5555351 0.291089 0.00634675 2000000 -0.11 45 | -0.436362596 0.30387 0.00604109 2000000 -0.11 46 | -0.39693991 0.308098 0.00591006 2000000 -0.11 47 | -0.276434046 0.321022 0.00573555 2000000 -0.11 48 | -0.196236666 0.329623 0.00560463 2000000 -0.11 49 | -0.074845003 0.342642 0.00551756 2000000 -0.11 50 | 0.210493937 0.373244 0.00551839 2000000 -0.11 51 | 0.618119661 0.416961 0.00551959 2000000 -0.11 52 | 0.945119093 0.452031 0.00560798 2000000 -0.11 53 | 1.312056338 0.495843 0.00569661 2000000 -0.11 54 | 1.984276357 0.579097 0.00587375 2000000 -0.11 55 | 2.349107674 0.622862 0.00591866 2000000 -0.11 56 | 3.407870437 0.745413 0.00605315 2000000 -0.11 57 | 4.109011975 0.8242 0.00614274 2000000 -0.11 58 | 4.954342501 0.911825 0.00632 2000000 -0.11 59 | 5.166135783 0.933779 0.00640803 2000000 -0.11 60 | 5.744085594 0.995174 0.00658457 2000000 -0.11 61 | 6.231764978 1.04778 0.00671715 2000000 -0.11 62 | 6.667338344 1.09611 0.00693705 2000000 -0.11 63 | 6.969933603 1.13569 0.00715671 2000000 -0.11 64 | 7.322860796 1.16644 0.0072887 2000000 -0.11 65 | 7.733340636 1.2017 0.00755196 2000000 -0.11 66 | 8.097704635 1.21933 0.00768359 2000000 -0.11 67 | 8.633538571 1.22821 0.00781498 2000000 -0.11 68 | 9.331153149 1.2371 0.00794637 2000000 -0.11 69 | 9.349662949 1.23734 0.00816495 2000000 -0.11 70 | 9.038081308 1.2333 0.00847086 2000000 -0.11 71 | 9.430643326 1.23839 0.00912673 2000000 -0.11 72 | -------------------------------------------------------------------------------- /airfoils/Original Airfoils/airfoil4.dat: -------------------------------------------------------------------------------- 1 | FX 71-L-150 No Flap Number of Rows=74 2 | -5 -0.640942 0.0148591 700000 -0.09 3 | -4.644683071 -0.47771 0.0106576 700000 -0.09 4 | -3.859737911 -0.4005 0.00937922 700000 -0.09 5 | -3.2390848 -0.339739 0.00877264 700000 -0.09 6 | -2.1614334 -0.231121 0.00839896 700000 -0.09 7 | -0.991924844 -0.108658 0.00829315 700000 -0.09 8 | 0.985118376 0.0953329 0.00798258 700000 -0.09 9 | 2.159662209 0.217853 0.00794388 700000 -0.09 10 | 3.319790114 0.333908 0.00830814 700000 -0.09 11 | 4.433544319 0.449963 0.0086724 700000 -0.09 12 | 4.887319918 0.494645 0.00917388 700000 -0.09 13 | 6.100010026 0.608466 0.0109141 700000 -0.09 14 | 7.033711319 0.698687 0.0129237 700000 -0.09 15 | 7.750264602 0.761018 0.0141627 700000 -0.09 16 | 8.805349731 0.848035 0.0164074 700000 -0.09 17 | 9.712547164 0.914455 0.0184516 700000 -0.09 18 | 10.2732444 0.953329 0.0201278 700000 -0.09 19 | 10.84228736 0.985737 0.022207 700000 -0.09 20 | 11.00283091 0.993487 0.023314 700000 -0.09 21 | -5.854283872 -0.558353 0.0141536 1000000 -0.09 22 | -4.91836396 -0.471888 0.0112566 1000000 -0.09 23 | -4.246134513 -0.40509 0.00944933 1000000 -0.09 24 | -3.256260098 -0.307381 0.00808214 1000000 -0.09 25 | -2.491667097 -0.232763 0.00777094 1000000 -0.09 26 | 0.085280432 0.0185794 0.00724364 1000000 -0.09 27 | 2.26303248 0.236141 0.00705877 1000000 -0.09 28 | 4.215040351 0.437737 0.0084056 1000000 -0.09 29 | 5.000353537 0.513211 0.00935285 1000000 -0.09 30 | 6.167035359 0.626631 0.0110798 1000000 -0.09 31 | 7.833563469 0.785146 0.0140963 1000000 -0.09 32 | 8.978733329 0.892203 0.0164699 1000000 -0.09 33 | 9.923323954 0.968394 0.0184715 1000000 -0.09 34 | 15.29809228 1.01393 0.0204072 1000000 -0.09 35 | 14.83335059 1.05592 0.0221391 1000000 -0.09 36 | 15.00508961 1.06691 0.0232948 1000000 -0.09 37 | -5.232712808 -0.548611 0.0113528 1500000 -0.09 38 | -4.419273056 -0.460205 0.0106436 1500000 -0.09 39 | -3.910587447 -0.409069 0.00945344 1500000 -0.09 40 | -3.287468401 -0.347701 0.0079911 1500000 -0.09 41 | -2.763665684 -0.293262 0.00734728 1500000 -0.09 42 | -1.786296811 -0.18789 0.00670781 1500000 -0.09 43 | -0.936780615 -0.106386 0.0066465 1500000 -0.09 44 | 0.113893565 0.00568434 0.00655368 1500000 -0.09 45 | 1.147609802 0.11433 0.0066312 1500000 -0.09 46 | 3.374851593 0.351983 0.00685626 1500000 -0.09 47 | 4.384350544 0.463821 0.0081286 1500000 -0.09 48 | 5.665350923 0.589201 0.00964101 1500000 -0.09 49 | 7.009417216 0.717895 0.0116315 1500000 -0.09 50 | 8.370799319 0.849962 0.0137588 1500000 -0.09 51 | 11.88738898 0.995477 0.0166723 1500000 -0.09 52 | 17.25875807 1.10351 0.0203675 1500000 -0.09 53 | 15.88988019 1.13033 0.0224176 1500000 -0.09 54 | -4.361296628 -0.480569 0.0106713 2000000 -0.09 55 | -3.790855328 -0.416515 0.0103251 2000000 -0.09 56 | -3.55769638 -0.390195 0.00953921 2000000 -0.09 57 | -3.297783306 -0.363806 0.00882146 2000000 -0.09 58 | -2.997618485 -0.334409 0.00772866 2000000 -0.09 59 | -2.189848701 -0.250814 0.00659718 2000000 -0.09 60 | -1.10505911 -0.136055 0.00611041 2000000 -0.09 61 | -0.19288189 -0.0379663 0.00589762 2000000 -0.09 62 | 1.252727588 0.118091 0.00602061 2000000 -0.09 63 | 2.909620305 0.291304 0.00634658 2000000 -0.09 64 | 3.857262979 0.390051 0.00678109 2000000 -0.09 65 | 4.397020381 0.448401 0.00749163 2000000 -0.09 66 | 5.127486781 0.520655 0.00854169 2000000 -0.09 67 | 5.78955209 0.59284 0.00952362 2000000 -0.09 68 | 6.879789386 0.702552 0.0107408 2000000 -0.09 69 | 8.308394816 0.846714 0.0125003 2000000 -0.09 70 | 8.954017448 0.901778 0.0133133 2000000 -0.09 71 | 9.83276186 0.991535 0.014907 2000000 -0.09 72 | 18.07925222 1.04376 0.0162654 2000000 -0.09 73 | 11.78728864 1.12705 0.0181664 2000000 -0.09 74 | 12.48225017 1.19374 0.0204094 2000000 -0.09 75 | 14.58779972 1.23258 0.0219393 2000000 -0.09 76 | -------------------------------------------------------------------------------- /airfoils/Original Airfoils/airfoil1.dat: -------------------------------------------------------------------------------- 1 | FX 67-K-170/17 No Flap Number of Rows =85 2 | -3.148800704 0.223939 0.0126478 700000 -0.11 3 | -2.839700448 0.258894 0.0115401 700000 -0.11 4 | -2.228664735 0.324831 0.00999871 700000 -0.11 5 | -1.885216897 0.359614 0.00909336 700000 -0.11 6 | -1.423907733 0.407485 0.00879709 700000 -0.11 7 | -0.888896548 0.464814 0.00937915 700000 -0.11 8 | -0.187929945 0.539462 0.00959284 700000 -0.11 9 | 0.862449467 0.65132 0.0100483 700000 -0.11 10 | 1.236556908 0.69193 0.0102905 700000 -0.11 11 | 1.807604512 0.752917 0.0105696 700000 -0.11 12 | 2.664442776 0.844426 0.0109545 700000 -0.11 13 | 3.806130406 0.966888 0.0109393 700000 -0.11 14 | 4.919307075 1.08612 0.0107213 700000 -0.11 15 | 5.775118059 1.1782 0.0104318 700000 -0.11 16 | 7.37735536 1.27357 0.0102776 700000 -0.11 17 | 11.36915054 1.32779 0.0105219 700000 -0.11 18 | 8.851696837 1.36477 0.0110334 700000 -0.11 19 | 9.1 1.38812 0.0115766 700000 -0.11 20 | -6.054911114 -0.0593984 0.0146311 1000000 -0.11 21 | -5.60066976 -0.0182738 0.0137246 1000000 -0.11 22 | -4.921650478 0.043201 0.0129888 1000000 -0.11 23 | -4.044340457 0.135413 0.0118852 1000000 -0.11 24 | -2.826720984 0.268566 0.0104147 1000000 -0.11 25 | -2.202763783 0.333546 0.00937573 1000000 -0.11 26 | -1.997580298 0.357584 0.00870363 1000000 -0.11 27 | -1.70432446 0.39194 0.0076953 1000000 -0.11 28 | -1.326606912 0.436191 0.0075986 1000000 -0.11 29 | -1.123574448 0.459977 0.00766846 1000000 -0.11 30 | -0.368933182 0.548386 0.00774486 1000000 -0.11 31 | 0.251640554 0.612918 0.0080212 1000000 -0.11 32 | 1.239274062 0.708049 0.00833437 1000000 -0.11 33 | 2.065223657 0.799894 0.00830993 1000000 -0.11 34 | 2.867705269 0.881478 0.00845309 1000000 -0.11 35 | 4.058450236 1.01412 0.00850024 1000000 -0.11 36 | 5.72152753 1.19775 0.00862 1000000 -0.11 37 | 6.66029233 1.29967 0.00896758 1000000 -0.11 38 | 10.20035713 1.35057 0.00931 1000000 -0.11 39 | 7.941692337 1.38444 0.00975188 1000000 -0.11 40 | 8.204098199 1.39091 0.0107306 1000000 -0.11 41 | -6.126257731 -0.143897 0.0130911 1500000 -0.11 42 | -5.770606162 -0.106323 0.0126226 1500000 -0.11 43 | -4.973144985 -0.0209244 0.0115516 1500000 -0.11 44 | -4.548885927 0.0268421 0.011118 1500000 -0.11 45 | -4.155346826 0.0711499 0.010853 1500000 -0.11 46 | -3.61492831 0.132567 0.0102859 1500000 -0.11 47 | -3.148769876 0.187125 0.00988699 1500000 -0.11 48 | -2.668226612 0.241671 0.00952182 1500000 -0.11 49 | -2.342869693 0.279268 0.00898572 1500000 -0.11 50 | -2.042277035 0.313453 0.00848301 1500000 -0.11 51 | -1.635770154 0.357944 0.00767746 1500000 -0.11 52 | -1.162728201 0.409227 0.0069065 1500000 -0.11 53 | -0.694510861 0.46036 0.0065747 1500000 -0.11 54 | -0.241378557 0.511402 0.00651317 1500000 -0.11 55 | 0.358912849 0.579369 0.00669013 1500000 -0.11 56 | 1.205916749 0.667731 0.00690328 1500000 -0.11 57 | 2.057636627 0.766321 0.00705007 1500000 -0.11 58 | 2.972770442 0.868335 0.0071297 1500000 -0.11 59 | 3.693081539 0.946528 0.0072403 1500000 -0.11 60 | 4.489548993 1.03155 0.00728413 1500000 -0.11 61 | 5.256925397 1.11654 0.00739554 1500000 -0.11 62 | 6.270045859 1.22533 0.00757732 1500000 -0.11 63 | 12.43776095 1.29328 0.00778806 1500000 -0.11 64 | 7.709022473 1.33064 0.00796139 1500000 -0.11 65 | 7.951221019 1.34068 0.00843555 1500000 -0.11 66 | -3.623900785 0.133854 0.009432 2000000 -0.11 67 | -2.918066768 0.21492 0.00859298 2000000 -0.11 68 | -2.5343099 0.258995 0.00845978 2000000 -0.11 69 | -2.150857773 0.303035 0.00825925 2000000 -0.11 70 | -1.857583069 0.336718 0.00772166 2000000 -0.11 71 | -1.360645133 0.393792 0.00644412 2000000 -0.11 72 | -0.918656479 0.444555 0.00610913 2000000 -0.11 73 | -0.44635038 0.4988 0.00594261 2000000 -0.11 74 | 0.323540342 0.587223 0.00621494 2000000 -0.11 75 | 0.773540859 0.63821 0.00631767 2000000 -0.11 76 | 1.432462163 0.709535 0.00635374 2000000 -0.11 77 | 1.870267007 0.760504 0.0064228 2000000 -0.11 78 | 2.792145855 0.869199 0.0064938 2000000 -0.11 79 | 3.253768495 0.920134 0.00649551 2000000 -0.11 80 | 4.107875506 1.01188 0.00663328 2000000 -0.11 81 | 4.420840202 1.04929 0.00673555 2000000 -0.11 82 | 4.935949731 1.11391 0.00693975 2000000 -0.11 83 | 5.56558426 1.17515 0.0071775 2000000 -0.11 84 | 6.400322942 1.25673 0.0073486 2000000 -0.11 85 | 7.51221892 1.32482 0.00768759 2000000 -0.11 86 | 7.688166342 1.3285 0.0082601 2000000 -0.11 87 | -------------------------------------------------------------------------------- /airfoils/airfoil5.dat: -------------------------------------------------------------------------------- 1 | NACA 64012 Numer of rows =110 2 | -5 -0.5323 0.01153 5.00E+05 -0.0029 3 | -4.5 -0.486 0.0105 5.00E+05 -0.0015 4 | -3 -0.3429 0.00731 5.00E+05 0.0013 5 | -2.5 -0.2878 0.00723 5.00E+05 0.0015 6 | -2 -0.2331 0.00723 5.00E+05 0.002 7 | -1.5 -0.1769 0.0072 5.00E+05 0.002 8 | -1 -0.1204 0.00717 5.00E+05 0.0019 9 | -0.5 -0.0635 0.00714 5.00E+05 0.0017 10 | 0 -0.0066 0.00713 5.00E+05 0.0015 11 | 0.5 0.0503 0.00713 5.00E+05 0.0012 12 | 1 0.1071 0.00716 5.00E+05 0.001 13 | 1.5 0.1637 0.00719 5.00E+05 0.0009 14 | 2 0.22 0.00722 5.00E+05 0.0009 15 | 2.5 0.2748 0.00722 5.00E+05 0.0013 16 | 3 0.33 0.00728 5.00E+05 0.0016 17 | 3.5 0.3848 0.00742 5.00E+05 0.0018 18 | 4 0.4372 0.00778 5.00E+05 0.0024 19 | 4.5 0.4748 0.01024 5.00E+05 0.0041 20 | 5 0.5207 0.01137 5.00E+05 0.0055 21 | -5 -0.5441 0.01061 7.00E+05 0 22 | -4.5 -0.4929 0.00997 7.00E+05 0.0006 23 | -4 -0.4465 0.00848 7.00E+05 0.0014 24 | -3 -0.3464 0.00655 7.00E+05 0.0024 25 | -2.5 -0.2902 0.00644 7.00E+05 0.0023 26 | -2 -0.2342 0.00635 7.00E+05 0.0023 27 | -1.5 -0.1781 0.00633 7.00E+05 0.0023 28 | -1 -0.121 0.0063 7.00E+05 0.0021 29 | -0.5 -0.0639 0.00627 7.00E+05 0.0018 30 | 0 -0.0067 0.00626 7.00E+05 0.0015 31 | 0.5 0.0505 0.00627 7.00E+05 0.0012 32 | 1 0.1076 0.00629 7.00E+05 0.0009 33 | 1.5 0.1647 0.00632 7.00E+05 0.0007 34 | 2 0.221 0.00635 7.00E+05 0.0006 35 | 2.5 0.277 0.00642 7.00E+05 0.0006 36 | 3 0.3333 0.00653 7.00E+05 0.0005 37 | 3.5 0.3884 0.00675 7.00E+05 0.0006 38 | 4 0.4351 0.00823 7.00E+05 0.0013 39 | 4.5 0.4808 0.00983 7.00E+05 0.0021 40 | 5 0.5318 0.01051 7.00E+05 0.0028 41 | -5 -0.5518 0.00979 1.00E+06 0.0017 42 | -4.5 -0.4986 0.0093 1.00E+06 0.002 43 | -4 -0.4473 0.00845 1.00E+06 0.0023 44 | -2.5 -0.2922 0.00584 1.00E+06 0.0029 45 | -2 -0.2356 0.00572 1.00E+06 0.0027 46 | -1.5 -0.179 0.00564 1.00E+06 0.0025 47 | -1 -0.1219 0.0056 1.00E+06 0.0023 48 | -0.5 -0.0644 0.00558 1.00E+06 0.0019 49 | 0 -0.0068 0.00557 1.00E+06 0.0015 50 | 0.5 0.0507 0.00558 1.00E+06 0.0011 51 | 1 0.1082 0.0056 1.00E+06 0.0008 52 | 2 0.2221 0.0057 1.00E+06 0.0003 53 | 2.5 0.2788 0.00581 1.00E+06 0.0001 54 | 3 0.3352 0.00596 1.00E+06 -0.0001 55 | 3.5 0.3888 0.00652 1.00E+06 -0.0001 56 | 4 0.435 0.0083 1.00E+06 0.0005 57 | 4.5 0.4859 0.00922 1.00E+06 0.0008 58 | 5 0.5392 0.00971 1.00E+06 0.0011 59 | -5 -0.5577 0.00902 1.50E+06 0.0029 60 | -4.5 -0.5034 0.00861 1.50E+06 0.003 61 | -4 -0.4496 0.00807 1.50E+06 0.003 62 | -3.5 -0.3975 0.00719 1.50E+06 0.0032 63 | -2 -0.2365 0.0052 1.50E+06 0.003 64 | -1.5 -0.1794 0.00509 1.50E+06 0.0027 65 | -1 -0.1224 0.00499 1.50E+06 0.0024 66 | -0.5 -0.0647 0.00496 1.50E+06 0.002 67 | 0 -0.0069 0.00495 1.50E+06 0.0015 68 | 0.5 0.0508 0.00496 1.50E+06 0.0011 69 | 1 0.1085 0.00498 1.50E+06 0.0007 70 | 1.5 0.1657 0.00506 1.50E+06 0.0004 71 | 2 0.2228 0.00518 1.50E+06 0 72 | 2.5 0.2799 0.00529 1.50E+06 -0.0003 73 | 3 0.336 0.00557 1.50E+06 -0.0006 74 | 3.5 0.3849 0.00704 1.50E+06 -0.0003 75 | 4 0.4369 0.00796 1.50E+06 -0.0002 76 | 4.5 0.4905 0.00855 1.50E+06 -0.0001 77 | 5 0.5449 0.00894 1.50E+06 -0.0001 78 | -5 -0.5639 0.0081 2.50E+06 0.004 79 | -3 -0.3448 0.00623 2.50E+06 0.0035 80 | -1.5 -0.1799 0.00462 2.50E+06 0.0029 81 | -1 -0.1226 0.00449 2.50E+06 0.0025 82 | -0.5 -0.065 0.00442 2.50E+06 0.0021 83 | 0 -0.0071 0.00441 2.50E+06 0.0016 84 | 0.5 0.0508 0.00442 2.50E+06 0.0011 85 | 1 0.1085 0.00447 2.50E+06 0.0007 86 | 1.5 0.1658 0.00461 2.50E+06 0.0003 87 | 2 0.2233 0.00473 2.50E+06 -0.0002 88 | 2.5 0.28 0.00496 2.50E+06 -0.0005 89 | 3 0.3317 0.0061 2.50E+06 -0.0005 90 | 3.5 0.385 0.00691 2.50E+06 -0.0006 91 | 4 0.4395 0.00745 2.50E+06 -0.0007 92 | 4.5 0.4949 0.00778 2.50E+06 -0.0009 93 | 5 0.5506 0.00804 2.50E+06 -0.0011 94 | -5 -0.5677 0.00748 4.00E+06 0.0046 95 | -4.5 -0.5118 0.0072 4.00E+06 0.0044 96 | -4 -0.4555 0.00697 4.00E+06 0.0041 97 | -3.5 -0.3996 0.00666 4.00E+06 0.0039 98 | -3 -0.3443 0.00619 4.00E+06 0.0037 99 | -2.5 -0.2899 0.00552 4.00E+06 0.0035 100 | -1 -0.1225 0.00422 4.00E+06 0.0025 101 | -0.5 -0.065 0.0041 4.00E+06 0.0021 102 | 0 -0.0072 0.00406 4.00E+06 0.0016 103 | 0.5 0.0506 0.0041 4.00E+06 0.0011 104 | 1 0.1082 0.0042 4.00E+06 0.0007 105 | 1.5 0.1658 0.00432 4.00E+06 0.0002 106 | 2 0.223 0.00451 4.00E+06 -0.0002 107 | 2.5 0.2767 0.00536 4.00E+06 -0.0004 108 | 3 0.3308 0.00612 4.00E+06 -0.0006 109 | 4 0.442 0.00693 4.00E+06 -0.0011 110 | 4.5 0.4983 0.00716 4.00E+06 -0.0014 111 | 5 0.5542 0.00743 4.00E+06 -0.0016 -------------------------------------------------------------------------------- /airfoils/Original Airfoils/airfoil2.dat: -------------------------------------------------------------------------------- 1 | FX 67-K-170/17 Flap +8 Number of Rows =120 2 | -5.498798463 0.350097 0.0138525 700000 -0.11 3 | -5.224272546 0.380603 0.0132001 700000 -0.11 4 | -5.067553578 0.398018 0.0127648 700000 -0.11 5 | -4.871607622 0.419792 0.0122426 700000 -0.11 6 | -4.596964718 0.450311 0.0116339 700000 -0.11 7 | -4.400478817 0.472145 0.0113303 700000 -0.11 8 | -4.204199896 0.493956 0.0109392 700000 -0.11 9 | -3.999831478 0.515767 0.0105482 700000 -0.11 10 | -3.739411282 0.541985 0.010245 700000 -0.11 11 | -3.52217924 0.563855 0.0100726 700000 -0.11 12 | -3.217855724 0.594493 0.00990104 700000 -0.11 13 | -2.956591233 0.620796 0.00990391 700000 -0.11 14 | -2.564789397 0.660249 0.00990822 700000 -0.11 15 | -2.318339923 0.686575 0.00999853 700000 -0.11 16 | -1.948328699 0.7261 0.0102651 700000 -0.11 17 | -1.578654487 0.765589 0.0104006 700000 -0.11 18 | -1.085755538 0.818241 0.0105812 700000 -0.11 19 | -0.798153139 0.848963 0.0107157 700000 -0.11 20 | -0.469510153 0.884069 0.0108507 700000 -0.11 21 | 0.228573009 0.958639 0.0110337 700000 -0.11 22 | 0.855760461 1.02445 0.0112595 700000 -0.11 23 | 1.316824165 1.07272 0.0114396 700000 -0.11 24 | 1.783405124 1.12099 0.0116198 700000 -0.11 25 | 2.341113897 1.17799 0.0116697 700000 -0.11 26 | 3.074195773 1.25256 0.0118527 700000 -0.11 27 | 3.678936523 1.31397 0.0119906 700000 -0.11 28 | 4.210140855 1.36224 0.0121707 700000 -0.11 29 | 4.743498489 1.4105 0.0123072 700000 -0.11 30 | 5.3124756 1.46316 0.0125315 700000 -0.11 31 | 5.548218337 1.4851 0.0126213 700000 -0.11 32 | 5.881595516 1.51144 0.0127553 700000 -0.11 33 | 6.490484065 1.54651 0.0127592 700000 -0.11 34 | 6.567398131 1.55094 0.0129345 700000 -0.11 35 | -7.350843116 0.139163 0.0145855 1000000 -0.11 36 | -6.474166056 0.235359 0.0132372 1000000 -0.11 37 | -5.694850687 0.30972 0.0123247 1000000 -0.11 38 | -4.755872326 0.423441 0.0108905 1000000 -0.11 39 | -4.032964032 0.510912 0.00976025 1000000 -0.11 40 | -3.606388584 0.558977 0.00893295 1000000 -0.11 41 | -3.256572754 0.598393 0.00867382 1000000 -0.11 42 | -2.9066593 0.63782 0.00845845 1000000 -0.11 43 | -2.478646107 0.686047 0.00837515 1000000 -0.11 44 | -2.283920695 0.707977 0.00837707 1000000 -0.11 45 | -1.552703308 0.786984 0.00864656 1000000 -0.11 46 | -0.821671022 0.865971 0.00882853 1000000 -0.11 47 | 0.234465028 0.980085 0.00918863 1000000 -0.11 48 | 1.211716607 1.103 0.00968079 1000000 -0.11 49 | 1.589703321 1.14689 0.00981592 1000000 -0.11 50 | 2.10940019 1.20392 0.00986468 1000000 -0.11 51 | 2.828573903 1.28284 0.00974029 1000000 -0.11 52 | 3.396397762 1.34422 0.00965814 1000000 -0.11 53 | 3.893905304 1.39687 0.00970651 1000000 -0.11 54 | 4.321527025 1.43637 0.00984126 1000000 -0.11 55 | 4.710044877 1.4715 0.0100194 1000000 -0.11 56 | 5.115355127 1.51103 0.0102854 1000000 -0.11 57 | 5.334535536 1.53302 0.0105499 1000000 -0.11 58 | 5.597372616 1.55939 0.0108148 1000000 -0.11 59 | 5.685383667 1.56822 0.0110782 1000000 -0.11 60 | -8.041167262 0.0212097 0.0132033 1.50E+06 -0.11 61 | -7.53546227 0.0781493 0.0124633 1.50E+06 -0.11 62 | -7.001694133 0.139484 0.0117235 1.50E+06 -0.11 63 | -6.536885026 0.196484 0.011202 1.50E+06 -0.11 64 | -6.107923302 0.249088 0.0106803 1.50E+06 -0.11 65 | -5.526168417 0.314855 0.0100718 1.50E+06 -0.11 66 | -5.009921449 0.371879 0.00963781 1.50E+06 -0.11 67 | -4.742977971 0.398192 0.00942067 1.50E+06 -0.11 68 | -3.999113721 0.472691 0.00859414 1.50E+06 -0.11 69 | -3.608826815 0.516539 0.00820309 1.50E+06 -0.11 70 | -3.29688568 0.551585 0.00776785 1.50E+06 -0.11 71 | -2.791180593 0.608632 0.00742124 1.50E+06 -0.11 72 | -2.191076739 0.678903 0.0072065 1.50E+06 -0.11 73 | -1.44021036 0.766828 0.00725502 1.50E+06 -0.11 74 | -0.614056655 0.863569 0.00739145 1.50E+06 -0.11 75 | 0.495954762 0.977893 0.00752885 1.50E+06 -0.11 76 | 1.401912563 1.07025 0.00770876 1.50E+06 -0.11 77 | 2.166507159 1.14943 0.00793166 1.50E+06 -0.11 78 | 2.914385607 1.23299 0.00806738 1.50E+06 -0.11 79 | 3.62441173 1.31214 0.00820285 1.50E+06 -0.11 80 | 4.25584702 1.3825 0.00829413 1.50E+06 -0.11 81 | 4.959105771 1.44412 0.0086035 1.50E+06 -0.11 82 | 5.27492812 1.47054 0.00877981 1.50E+06 -0.11 83 | 5.613974893 1.50573 0.00886917 1.50E+06 -0.11 84 | 5.824924376 1.53218 0.00913291 1.50E+06 -0.11 85 | 5.900106673 1.53666 0.00943916 1.50E+06 -0.11 86 | -7.343330933 0.100239 0.0117186 2000000 -0.11 87 | -7.030070873 0.134687 0.0112387 2000000 -0.11 88 | -6.68684531 0.173555 0.0108026 2000000 -0.11 89 | -6.419995117 0.203774 0.0104537 2000000 -0.11 90 | -6.2307654 0.225203 0.0100608 2000000 -0.11 91 | -6.00361953 0.251051 0.00971178 2000000 -0.11 92 | -5.739427712 0.281366 0.00945031 2000000 -0.11 93 | -5.399032917 0.320425 0.00918908 2000000 -0.11 94 | -4.943505741 0.372695 0.00901565 2000000 -0.11 95 | -4.602283031 0.411849 0.00884185 2000000 -0.11 96 | -4.29957141 0.446584 0.00862422 2000000 -0.11 97 | -3.960431559 0.485499 0.00823184 2000000 -0.11 98 | -3.681249423 0.520091 0.00788306 2000000 -0.11 99 | -3.37147182 0.559054 0.0075344 2000000 -0.11 100 | -3.041384184 0.598017 0.00718574 2000000 -0.11 101 | -2.768913556 0.628333 0.00692427 2000000 -0.11 102 | -2.416578367 0.667535 0.00679419 2000000 -0.11 103 | -2.023663786 0.711252 0.00679539 2000000 -0.11 104 | -1.709759934 0.746178 0.00675263 2000000 -0.11 105 | -1.31424237 0.789895 0.00675382 2000000 -0.11 106 | -0.876641281 0.838079 0.00684257 2000000 -0.11 107 | -0.36049105 0.894912 0.00684412 2000000 -0.11 108 | 0.199377489 0.960535 0.00688963 2000000 -0.11 109 | 0.815593726 1.03495 0.0069791 2000000 -0.11 110 | 1.348475044 1.09634 0.00715564 2000000 -0.11 111 | 1.839799479 1.149 0.00733194 2000000 -0.11 112 | 2.249018805 1.19286 0.00746429 2000000 -0.11 113 | 2.861728178 1.25853 0.00755351 2000000 -0.11 114 | 3.30994743 1.30657 0.00751111 2000000 -0.11 115 | 3.800338852 1.35913 0.00759998 2000000 -0.11 116 | 4.369693821 1.41168 0.00768884 2000000 -0.11 117 | 4.753131584 1.4468 0.00782095 2000000 -0.11 118 | 5.087337347 1.47764 0.00804037 2000000 -0.11 119 | 5.332098903 1.49964 0.00817212 2000000 -0.11 120 | 5.521244484 1.513 0.00839107 2000000 -0.11 121 | 5.647671882 1.52193 0.00856617 2000000 -0.11 122 | -------------------------------------------------------------------------------- /airfoils/Original Airfoils/Copy of airfoil2.dat: -------------------------------------------------------------------------------- 1 | FX 67-K-170/17 Flap +8 Number of Rows =120 2 | -5.498798463 0.350097 0.0138525 700000 -0.11 3 | -5.224272546 0.380603 0.0132001 700000 -0.11 4 | -5.067553578 0.398018 0.0127648 700000 -0.11 5 | -4.871607622 0.419792 0.0122426 700000 -0.11 6 | -4.596964718 0.450311 0.0116339 700000 -0.11 7 | -4.400478817 0.472145 0.0113303 700000 -0.11 8 | -4.204199896 0.493956 0.0109392 700000 -0.11 9 | -3.999831478 0.515767 0.0105482 700000 -0.11 10 | -3.739411282 0.541985 0.010245 700000 -0.11 11 | -3.52217924 0.563855 0.0100726 700000 -0.11 12 | -3.217855724 0.594493 0.00990104 700000 -0.11 13 | -2.956591233 0.620796 0.00990391 700000 -0.11 14 | -2.564789397 0.660249 0.00990822 700000 -0.11 15 | -2.318339923 0.686575 0.00999853 700000 -0.11 16 | -1.948328699 0.7261 0.0102651 700000 -0.11 17 | -1.578654487 0.765589 0.0104006 700000 -0.11 18 | -1.085755538 0.818241 0.0105812 700000 -0.11 19 | -0.798153139 0.848963 0.0107157 700000 -0.11 20 | -0.469510153 0.884069 0.0108507 700000 -0.11 21 | 0.228573009 0.958639 0.0110337 700000 -0.11 22 | 0.855760461 1.02445 0.0112595 700000 -0.11 23 | 1.316824165 1.07272 0.0114396 700000 -0.11 24 | 1.783405124 1.12099 0.0116198 700000 -0.11 25 | 2.341113897 1.17799 0.0116697 700000 -0.11 26 | 3.074195773 1.25256 0.0118527 700000 -0.11 27 | 3.678936523 1.31397 0.0119906 700000 -0.11 28 | 4.210140855 1.36224 0.0121707 700000 -0.11 29 | 4.743498489 1.4105 0.0123072 700000 -0.11 30 | 5.3124756 1.46316 0.0125315 700000 -0.11 31 | 5.548218337 1.4851 0.0126213 700000 -0.11 32 | 5.881595516 1.51144 0.0127553 700000 -0.11 33 | 6.490484065 1.54651 0.0127592 700000 -0.11 34 | 6.567398131 1.55094 0.0129345 700000 -0.11 35 | -7.350843116 0.139163 0.0145855 1000000 -0.11 36 | -6.474166056 0.235359 0.0132372 1000000 -0.11 37 | -5.694850687 0.30972 0.0123247 1000000 -0.11 38 | -4.755872326 0.423441 0.0108905 1000000 -0.11 39 | -4.032964032 0.510912 0.00976025 1000000 -0.11 40 | -3.606388584 0.558977 0.00893295 1000000 -0.11 41 | -3.256572754 0.598393 0.00867382 1000000 -0.11 42 | -2.9066593 0.63782 0.00845845 1000000 -0.11 43 | -2.478646107 0.686047 0.00837515 1000000 -0.11 44 | -2.283920695 0.707977 0.00837707 1000000 -0.11 45 | -1.552703308 0.786984 0.00864656 1000000 -0.11 46 | -0.821671022 0.865971 0.00882853 1000000 -0.11 47 | 0.234465028 0.980085 0.00918863 1000000 -0.11 48 | 1.211716607 1.103 0.00968079 1000000 -0.11 49 | 1.589703321 1.14689 0.00981592 1000000 -0.11 50 | 2.10940019 1.20392 0.00986468 1000000 -0.11 51 | 2.828573903 1.28284 0.00974029 1000000 -0.11 52 | 3.396397762 1.34422 0.00965814 1000000 -0.11 53 | 3.893905304 1.39687 0.00970651 1000000 -0.11 54 | 4.321527025 1.43637 0.00984126 1000000 -0.11 55 | 4.710044877 1.4715 0.0100194 1000000 -0.11 56 | 5.115355127 1.51103 0.0102854 1000000 -0.11 57 | 5.334535536 1.53302 0.0105499 1000000 -0.11 58 | 5.597372616 1.55939 0.0108148 1000000 -0.11 59 | 5.685383667 1.56822 0.0110782 1000000 -0.11 60 | -8.041167262 0.0212097 0.0132033 1000000 -0.11 61 | -7.53546227 0.0781493 0.0124633 1000000 -0.11 62 | -7.001694133 0.139484 0.0117235 1000000 -0.11 63 | -6.536885026 0.196484 0.011202 1000000 -0.11 64 | -6.107923302 0.249088 0.0106803 1000000 -0.11 65 | -5.526168417 0.314855 0.0100718 1000000 -0.11 66 | -5.009921449 0.371879 0.00963781 1000000 -0.11 67 | -4.742977971 0.398192 0.00942067 1000000 -0.11 68 | -3.999113721 0.472691 0.00859414 1000000 -0.11 69 | -3.608826815 0.516539 0.00820309 1000000 -0.11 70 | -3.29688568 0.551585 0.00776785 1000000 -0.11 71 | -2.791180593 0.608632 0.00742124 1000000 -0.11 72 | -2.191076739 0.678903 0.0072065 1000000 -0.11 73 | -1.44021036 0.766828 0.00725502 1000000 -0.11 74 | -0.614056655 0.863569 0.00739145 1000000 -0.11 75 | 0.495954762 0.977893 0.00752885 1000000 -0.11 76 | 1.401912563 1.07025 0.00770876 1000000 -0.11 77 | 2.166507159 1.14943 0.00793166 1000000 -0.11 78 | 2.914385607 1.23299 0.00806738 1000000 -0.11 79 | 3.62441173 1.31214 0.00820285 1000000 -0.11 80 | 4.25584702 1.3825 0.00829413 1000000 -0.11 81 | 4.959105771 1.44412 0.0086035 1000000 -0.11 82 | 5.27492812 1.47054 0.00877981 1000000 -0.11 83 | 5.613974893 1.50573 0.00886917 1000000 -0.11 84 | 5.824924376 1.53218 0.00913291 1000000 -0.11 85 | 5.900106673 1.53666 0.00943916 1000000 -0.11 86 | -7.343330933 0.100239 0.0117186 2000000 -0.11 87 | -7.030070873 0.134687 0.0112387 2000000 -0.11 88 | -6.68684531 0.173555 0.0108026 2000000 -0.11 89 | -6.419995117 0.203774 0.0104537 2000000 -0.11 90 | -6.2307654 0.225203 0.0100608 2000000 -0.11 91 | -6.00361953 0.251051 0.00971178 2000000 -0.11 92 | -5.739427712 0.281366 0.00945031 2000000 -0.11 93 | -5.399032917 0.320425 0.00918908 2000000 -0.11 94 | -4.943505741 0.372695 0.00901565 2000000 -0.11 95 | -4.602283031 0.411849 0.00884185 2000000 -0.11 96 | -4.29957141 0.446584 0.00862422 2000000 -0.11 97 | -3.960431559 0.485499 0.00823184 2000000 -0.11 98 | -3.681249423 0.520091 0.00788306 2000000 -0.11 99 | -3.37147182 0.559054 0.0075344 2000000 -0.11 100 | -3.041384184 0.598017 0.00718574 2000000 -0.11 101 | -2.768913556 0.628333 0.00692427 2000000 -0.11 102 | -2.416578367 0.667535 0.00679419 2000000 -0.11 103 | -2.023663786 0.711252 0.00679539 2000000 -0.11 104 | -1.709759934 0.746178 0.00675263 2000000 -0.11 105 | -1.31424237 0.789895 0.00675382 2000000 -0.11 106 | -0.876641281 0.838079 0.00684257 2000000 -0.11 107 | -0.36049105 0.894912 0.00684412 2000000 -0.11 108 | 0.199377489 0.960535 0.00688963 2000000 -0.11 109 | 0.815593726 1.03495 0.0069791 2000000 -0.11 110 | 1.348475044 1.09634 0.00715564 2000000 -0.11 111 | 1.839799479 1.149 0.00733194 2000000 -0.11 112 | 2.249018805 1.19286 0.00746429 2000000 -0.11 113 | 2.861728178 1.25853 0.00755351 2000000 -0.11 114 | 3.30994743 1.30657 0.00751111 2000000 -0.11 115 | 3.800338852 1.35913 0.00759998 2000000 -0.11 116 | 4.369693821 1.41168 0.00768884 2000000 -0.11 117 | 4.753131584 1.4468 0.00782095 2000000 -0.11 118 | 5.087337347 1.47764 0.00804037 2000000 -0.11 119 | 5.332098903 1.49964 0.00817212 2000000 -0.11 120 | 5.521244484 1.513 0.00839107 2000000 -0.11 121 | 5.647671882 1.52193 0.00856617 2000000 -0.11 122 | -------------------------------------------------------------------------------- /Source/alloc.h: -------------------------------------------------------------------------------- 1 | //*************************************************************************** 2 | #ifndef ALLOC_H 3 | #define ALLOC_H 4 | //*************************************************************************** 5 | //#include 6 | //#include 7 | //*************************************************************************** 8 | static double my_memory_allocated = 0.0; 9 | static double my_memory_deleted = 0.0; 10 | #define GLOBAL_VAR_FOR_ALLOCATION my_memory_allocated 11 | #define GLOBAL_VAR_FOR_DELETION my_memory_deleted 12 | /* 13 | extern double GLOBAL_VAR_FOR_ALLOCATION; 14 | extern double GLOBAL_VAR_FOR_DELETION; 15 | */ 16 | //*************************************************************************** 17 | #define IS_ZERO(x) (fabs(x) < 1.0e-8) 18 | void myprintf(char *fmt, ...); 19 | //*************************************************************************** 20 | inline double TotalMemoryAllocated() // in bytes 21 | { 22 | return GLOBAL_VAR_FOR_ALLOCATION; 23 | } 24 | //*************************************************************************** 25 | inline double TotalMemoryDeleted() // in bytes 26 | { 27 | return GLOBAL_VAR_FOR_DELETION; 28 | } 29 | //*************************************************************************** 30 | inline double TotalMemoryConsumed() // in bytes 31 | { 32 | return (GLOBAL_VAR_FOR_ALLOCATION-GLOBAL_VAR_FOR_DELETION); 33 | } 34 | //*************************************************************************** 35 | template 36 | inline void MY_MALLOC(Etype **ptr, int n = 1) 37 | { 38 | Etype *a = NULL; 39 | a = new Etype[n]; 40 | GLOBAL_VAR_FOR_ALLOCATION += 1.0*n*sizeof(Etype); 41 | 42 | if (a == NULL) 43 | { 44 | printf("MY_MALLOC: Insufficient memory, could not allocate %lu bytes!\n",sizeof(Etype)*n); 45 | exit(-1); 46 | } 47 | 48 | *ptr = a; 49 | } 50 | //*************************************************************************** 51 | template 52 | inline void ALLOC1D(Etype **ptr, int m = 1) 53 | { 54 | Etype *a = NULL; 55 | 56 | #ifdef ANIDEBUG 57 | printf("Allocating %d x %d = %lu bytes\n",m,sizeof(Etype),m*sizeof(Etype)); 58 | #endif 59 | 60 | a = new Etype[m]; 61 | GLOBAL_VAR_FOR_ALLOCATION += 1.0*m*sizeof(Etype); 62 | if (a == NULL) 63 | { 64 | printf("ALLOC1D: Insufficient memory, could not allocate %lu bytes!\n",sizeof(Etype)*m); 65 | // cout << "ALLOC1D: Insufficient memory, could not allocate " << sizeof(Etype)*m << " bytes!" << endl; 66 | exit(-1); 67 | } 68 | 69 | *ptr = a; 70 | 71 | #ifdef ANIDEBUG 72 | printf("done\n"); 73 | //cout << "done!" << endl << flush; 74 | #endif 75 | } 76 | //*************************************************************************** 77 | template 78 | inline void ALLOC2D(Etype ***ptr, int m, int n) 79 | { 80 | Etype **a = NULL; 81 | a = new Etype*[m]; 82 | GLOBAL_VAR_FOR_ALLOCATION += 1.0*m*sizeof(Etype*); 83 | 84 | if (a == NULL) 85 | { 86 | printf("ALLOC2D: Insufficient memory, could not allocate %lu bytes!\n",sizeof(Etype*)*m); 87 | // cout << "ALLOC2D: Insufficient memory, could not allocate " << sizeof(Etype*)*m << " bytes!" << endl; 88 | exit(-1); 89 | } 90 | 91 | for (int i = 0; i < m; i++) 92 | ALLOC1D(&a[i], n); 93 | 94 | *ptr = a; 95 | } 96 | //*************************************************************************** 97 | template 98 | inline void ALLOC3D(Etype ****ptr, int m, int n, int o) 99 | { 100 | Etype ***a = NULL; 101 | a = new Etype**[m]; 102 | GLOBAL_VAR_FOR_ALLOCATION += 1.0*m*sizeof(Etype**); 103 | 104 | if (a == NULL) 105 | { 106 | printf("ALLOC3*D: Insufficient memory, could not allocate %lu bytes!\n",sizeof(Etype**)*m); 107 | // cout << "ALLOC3D: Insufficient memory, could not allocate " << sizeof(Etype**)*m << " bytes!" << endl; 108 | exit(-1); 109 | } 110 | 111 | for (int i = 0; i < m; i++) 112 | ALLOC2D(&a[i], n, o); 113 | 114 | *ptr = a; 115 | } 116 | //*************************************************************************** 117 | template 118 | inline void ALLOC4D(Etype *****ptr, int m, int n, int o, int p) 119 | { 120 | Etype ****a = NULL; 121 | a = new Etype***[m]; 122 | GLOBAL_VAR_FOR_ALLOCATION += 1.0*m*sizeof(Etype***); 123 | 124 | if (a == NULL) 125 | { 126 | printf("ALLOC4D: Insufficient memory, could not allocate %lu bytes!\n",sizeof(Etype***)*m); 127 | // cout << "ALLOC4D: Insufficient memory, could not allocate " << sizeof(Etype***)*m << " bytes!" << endl; 128 | exit(-1); 129 | } 130 | 131 | for (int i = 0; i < m; i++) 132 | ALLOC3D(&a[i], n, o, p); 133 | 134 | *ptr = a; 135 | } 136 | //*************************************************************************** 137 | template 138 | inline void FREE1D(Etype **ptr, int m = 1) 139 | { 140 | 141 | Etype *a = *ptr; 142 | 143 | if (a == NULL) return; 144 | 145 | delete [] a; 146 | 147 | GLOBAL_VAR_FOR_DELETION += 1.0*m*sizeof(Etype); 148 | 149 | *ptr = NULL; 150 | } 151 | //*************************************************************************** 152 | template 153 | inline void FREE2D(Etype ***ptr, int m, int n) 154 | { 155 | Etype **a = *ptr; 156 | 157 | if (a == NULL) return; 158 | 159 | for (int i = 0; i < m; i++) 160 | FREE1D(&a[i], n); 161 | 162 | delete [] a; 163 | GLOBAL_VAR_FOR_DELETION += 1.0*m*sizeof(Etype*); 164 | *ptr = NULL; 165 | } 166 | //*************************************************************************** 167 | template 168 | inline void FREE3D(Etype ****ptr, int m, int n, int o) 169 | { 170 | Etype ***a = *ptr; 171 | 172 | if (a == NULL) return; 173 | 174 | for (int i = 0; i < m; i++) 175 | FREE2D(&a[i], n, o); 176 | 177 | delete [] a; 178 | GLOBAL_VAR_FOR_DELETION += 1.0*m*sizeof(Etype**); 179 | *ptr = NULL; 180 | } 181 | //*************************************************************************** 182 | template 183 | inline void FREE4D(Etype *****ptr, int m, int n, int o, int p) 184 | { 185 | Etype ****a = *ptr; 186 | 187 | if (a == NULL) return; 188 | 189 | for (int i = 0; i < m; i++) 190 | FREE3D(&a[i], n, o, p); 191 | 192 | delete [] a; 193 | GLOBAL_VAR_FOR_DELETION += 1.0*m*sizeof(Etype***); 194 | *ptr = NULL; 195 | } 196 | //*************************************************************************** 197 | #endif // ALLOC_H 198 | //*************************************************************************** 199 | -------------------------------------------------------------------------------- /output/wakeframes_gif.m: -------------------------------------------------------------------------------- 1 | %=========================================================================% 2 | %simple tool that creates a wake animation gif* 3 | % 4 | %reads: timestep files 5 | %uses: Main_FindDVEs.exe 6 | %creates: wakeframes.gif 7 | %all files must be located in the output folder 8 | %axis, view, size, position and framerate are set at the end of the file 9 | %%========================================================================% 10 | clear 11 | 12 | %generate the wakeplot for the last timestep first!! 13 | 14 | 15 | laststep = input('Which timestep to plot up to?\n'); 16 | 17 | sym = input('Do you want symmetry?(y/n)\n','s'); 18 | %run wakeplot and get axis settings (to get full axis) 19 | figure(1); 20 | run wakeplot_color.m 21 | 22 | xlimit = xlim; 23 | ylimit = ylim; 24 | ylimit(2) = ylimit(2) + ((ylimit(2)-ylimit(1))/10); 25 | zlimit = zlim; 26 | zlimit(2) = zlimit(2) + abs((zlimit(2)-zlimit(1))/5); 27 | if strcmp(sym,'y')==1 28 | ylimit(1) = -ylimit(2); 29 | end 30 | clf(1); 31 | 32 | %create and set up figure 33 | filename = 'wakeframes.gif'; 34 | 35 | 36 | h = figure(1); 37 | % set(gca,'Color',[0 0 0]) 38 | set(gca,'CameraViewAngleMode','manual') 39 | % set(gcf,'renderer','zbuffer') 40 | %opengl('software') 41 | 42 | for step = 1:laststep 43 | 44 | %Check to see if timestep file exists 45 | check = strcat('timestep',num2str(step),'.txt'); 46 | if exist(check,'file') ==0 47 | error('Timestep file not found. All timestep files up to the request need to be availble.') 48 | end 49 | 50 | %create input file for DVE generator 51 | fid = fopen( 'temp.txt', 'wt' ); 52 | fprintf (fid,'%d',step); 53 | 54 | %run Main_FindDVEs to get coordinates of all DVEs for this timestep 55 | system('Main_FindDVEs.exe < temp.txt'); 56 | 57 | %open DVEs.dat 58 | fp = fopen('DVEs.dat','r'); 59 | 60 | if fp == -1 61 | error('Cannot open the output of Main_FindDVEs.exe') 62 | end 63 | %look for timestep 64 | loc=0; 65 | while strcmp(loc,'timestep') ==0 66 | loc =fscanf(fp,'%s',1); 67 | end 68 | timestep = fscanf(fp,'%d',1); 69 | 70 | %look for number of wings 71 | loc=0; 72 | while strcmp(loc,'=') ==0 73 | loc =fscanf(fp,'%s',1); 74 | end 75 | numwings = fscanf(fp,'%d',1); 76 | 77 | %look for n 78 | loc=0; 79 | while strcmp(loc,'=') ==0 80 | loc =fscanf(fp,'%s',1); 81 | end 82 | n = fscanf(fp,'%d',1); 83 | 84 | %look for m 85 | loc=0; 86 | while strcmp(loc,'=') ==0 87 | loc =fscanf(fp,'%s',1); 88 | end 89 | m = fscanf(fp,'%d',1); 90 | 91 | numelements = n*m; 92 | 93 | %look for wake 94 | loc=0; 95 | while strcmp(loc,'%WAKE') ==0 96 | loc =fscanf(fp,'%s',1); 97 | end 98 | 99 | data= zeros(numwings*timestep*n,13); 100 | 101 | %find ZZZZ 102 | loc=0; 103 | while strcmp(loc,'ZZZZ') ==0 104 | loc =fscanf(fp,'%s',1); 105 | end 106 | 107 | %read wake data 108 | for x = 1:(numwings*timestep*n) 109 | %read wing 110 | data(x,1) = fscanf(fp,'%d' ,1); 111 | %skip , 112 | fseek(fp,1,0); 113 | %read x coords of each corner 114 | data(x,2:5) = fscanf(fp,'%lf %lf %lf %lf' ,4); 115 | %skip , 116 | fseek(fp,1,0); 117 | %read y coords of each corner 118 | data(x,6:9) = fscanf(fp,'%lf %lf %lf %lf' ,4); 119 | %skip , 120 | fseek(fp,1,0); 121 | %read z coords of each corner 122 | data(x,10:13) = fscanf(fp,'%lf %lf %lf %lf' ,4); 123 | end 124 | data = flipud(data); 125 | 126 | %find WING 127 | loc=0; 128 | while strcmp(loc,'%WING') ==0 129 | loc =fscanf(fp,'%s',1); 130 | end 131 | 132 | %find ZZZZ 133 | loc=0; 134 | while strcmp(loc,'ZZZZ') ==0 135 | loc =fscanf(fp,'%s',1); 136 | end 137 | wing = zeros(numelements*numwings,12); 138 | 139 | %read wing data 140 | for x = 1:(numelements*numwings) 141 | %read x coords of each corner 142 | wing(x,1:4) = fscanf(fp,'%lf %lf %lf %lf' ,4); 143 | %skip , 144 | fseek(fp,1,0); 145 | %read y coords of each corner 146 | wing(x,5:8) = fscanf(fp,'%lf %lf %lf %lf' ,4); 147 | %skip , 148 | fseek(fp,1,0); 149 | %read z coords of each corner 150 | wing(x,9:12) = fscanf(fp,'%lf %lf %lf %lf' ,4); 151 | end 152 | 153 | fclose('all'); 154 | delete('./temp.txt'); 155 | delete('./DVEs.dat'); 156 | 157 | %colors 158 | cmap = jet(numwings); 159 | % cmap = jet(laststep); 160 | cmap = flipud(cmap); 161 | 162 | %plot wing 163 | clf 164 | hold on 165 | for x = 1:(numelements*numwings) 166 | fill3(wing(x,1:4),wing(x,5:8),wing(x,9:12),'-k','FaceAlpha',0.6,'EdgeColor','k'); 167 | if strcmp(sym,'y')==1 168 | fill3(wing(x,1:4),-wing(x,5:8),wing(x,9:12),'-k','FaceAlpha',0.6,'EdgeColor','k'); 169 | end 170 | end 171 | 172 | hold off 173 | hold on 174 | %plot wakes 175 | count=1; 176 | for instep = 1:timestep 177 | for x = count:(count+(numwings*n))-1 178 | fill3(data(x,2:5),data(x,6:9),data(x,10:13),cmap(data(x,1),:),'FaceAlpha',0.5,'EdgeColor','k') 179 | if strcmp(sym,'y')==1 180 | fill3(data(x,2:5),-data(x,6:9),data(x,10:13),cmap(data(x,1),:),'FaceAlpha',0.5,'EdgeColor','k') 181 | end 182 | end 183 | count = count+(numwings*n); 184 | end 185 | hold off 186 | %modify axis 187 | axis('equal') 188 | 189 | %AXIS([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 190 | axis([xlimit ylimit zlimit]); 191 | % axis([-300 1600 0 1600 -1900 400]); 192 | 193 | %VIEW(AZ,EL) 194 | view([-23 16]) 195 | 196 | 197 | %set frame position and size 198 | set(h,'Position',[300 100 1200 600]) 199 | set(h,'renderer','painters'); 200 | %ZOOM(factor) 201 | % zoom(1) 202 | 203 | %record frame for movie 204 | % mov(step) = getframe(gcf); 205 | drawnow 206 | 207 | frame = getframe; 208 | im = frame2im(frame); 209 | 210 | [imind,cm] = rgb2ind(im,256); 211 | 212 | if step == 1; 213 | imwrite(imind,cm,filename,'gif', 'Loopcount',inf','DelayTime',0.25); 214 | else 215 | imwrite(imind,cm,filename,'gif','WriteMode','append','DelayTime',0.25); 216 | end 217 | 218 | %set up figure for next iteration 219 | 220 | 221 | end 222 | 223 | fclose all 224 | clc 225 | clear 226 | 227 | -------------------------------------------------------------------------------- /output/wakeplot_new.m: -------------------------------------------------------------------------------- 1 | %=========================================================================% 2 | %simple tool that creates a wakeplot in matlab. 3 | % 4 | %reads: timestep files 5 | %uses: Main_FindDVEs.exe 6 | %creates: a figure 7 | %all files must be located in the output folder 8 | %axis, view, size, position and framerate are set at the end of the file 9 | %%========================================================================% 10 | function [] = wakeplot_new(step,sym) 11 | if nargin == 0 12 | 13 | 14 | clear 15 | clc 16 | step = input('Which timestep to plot?\n'); 17 | 18 | sym = input('Do you want symmetry?(y/n)\n','s'); 19 | %run wakeplot and get axis settings (to get full axis) 20 | end 21 | 22 | h = figure(2); 23 | hold on 24 | % clf(1); %this clf might cause an error if we are making a gif!!!!!! 25 | % set(gca,'Color',[0 0 0]) 26 | % set(gca,'CameraViewAngleMode','manual') 27 | % set(gcf,'renderer','zbuffer') 28 | %opengl('software') 29 | 30 | 31 | 32 | %Check to see if timestep file exists 33 | check = strcat('timestep',num2str(step),'.txt'); 34 | if exist(check,'file') ==0 35 | error('Timestep file not found.') 36 | end 37 | 38 | %create input file for DVE generator 39 | fid = fopen( 'temp.txt', 'wt' ); 40 | fprintf (fid,'%d',step); 41 | 42 | %run Main_FindDVEs to get coordinates of all DVEs for this timestep 43 | [out,cmdout] =system('Main_FindDVEs0.exe < temp.txt'); 44 | 45 | %open DVEs.dat 46 | fp = fopen('DVEs.dat','r'); 47 | 48 | if fp == -1 49 | error('Cannot open the output of Main_FindDVEs.exe') 50 | end 51 | %look for timestep 52 | loc=0; 53 | while strcmp(loc,'timestep') ==0 54 | loc =fscanf(fp,'%s',1); 55 | end 56 | timestep = fscanf(fp,'%d',1); 57 | 58 | %look for number of wings 59 | loc=0; 60 | while strcmp(loc,'=') ==0 61 | loc =fscanf(fp,'%s',1); 62 | end 63 | numwings = fscanf(fp,'%d',1); 64 | 65 | %look for n 66 | loc=0; 67 | while strcmp(loc,'=') ==0 68 | loc =fscanf(fp,'%s',1); 69 | end 70 | n = fscanf(fp,'%d',1); 71 | 72 | %look for m 73 | loc=0; 74 | while strcmp(loc,'=') ==0 75 | loc =fscanf(fp,'%s',1); 76 | end 77 | m = fscanf(fp,'%d',1); 78 | 79 | numelements = n*m; 80 | 81 | %look for wake 82 | loc=0; 83 | while strcmp(loc,'%WAKE') ==0 84 | loc =fscanf(fp,'%s',1); 85 | end 86 | 87 | data= zeros(numwings*timestep*n,13); 88 | 89 | %find ZZZZ 90 | loc=0; 91 | while strcmp(loc,'ZZZZ') ==0 92 | loc =fscanf(fp,'%s',1); 93 | end 94 | 95 | %read wake data 96 | for x = 1:(numwings*(timestep+1)*n) 97 | %read wing 98 | data(x,1) = fscanf(fp,'%d' ,1); 99 | %skip , 100 | fseek(fp,1,0); 101 | %read x coords of each corner 102 | data(x,2:5) = fscanf(fp,'%lf %lf %lf %lf' ,4); 103 | %skip , 104 | fseek(fp,1,0); 105 | %read y coords of each corner 106 | data(x,6:9) = fscanf(fp,'%lf %lf %lf %lf' ,4); 107 | %skip , 108 | fseek(fp,1,0); 109 | %read z coords of each corner 110 | data(x,10:13) = fscanf(fp,'%lf %lf %lf %lf' ,4); 111 | end 112 | data = flipud(data); 113 | 114 | %find WING 115 | loc=0; 116 | while strcmp(loc,'%WING') ==0 117 | loc =fscanf(fp,'%s',1); 118 | end 119 | 120 | %find ZZZZ 121 | loc=0; 122 | while strcmp(loc,'ZZZZ') ==0 123 | loc =fscanf(fp,'%s',1); 124 | end 125 | wing = zeros(numelements*numwings,12); 126 | 127 | %read wing data 128 | for x = 1:(numelements*numwings) 129 | %read x coords of each corner 130 | wing(x,1:4) = fscanf(fp,'%lf %lf %lf %lf' ,4); 131 | %skip , 132 | fseek(fp,1,0); 133 | %read y coords of each corner 134 | wing(x,5:8) = fscanf(fp,'%lf %lf %lf %lf' ,4); 135 | %skip , 136 | fseek(fp,1,0); 137 | %read z coords of each corner 138 | wing(x,9:12) = fscanf(fp,'%lf %lf %lf %lf' ,4); 139 | end 140 | 141 | % fclose('all'); 142 | delete('./temp.txt'); 143 | delete('./DVEs.dat'); 144 | 145 | %colors 146 | % cmap = jet(numwings); 147 | cmap = parula(100); 148 | % cmap = flipud(cmap); 149 | colormap(cmap); 150 | %plot wing 151 | 152 | hold on 153 | 154 | %plot wing 155 | % x = [1:(numelements*numwings)]; 156 | patch(wing(:,1:4)',wing(:,5:8)',wing(:,9:12)',[0.4 0.4 0.4],'FaceAlpha',0.8,'EdgeColor','k'); 157 | if strcmp(sym,'y')==1 158 | patch(wing(:,1:4)',-wing(:,5:8)',wing(:,9:12)',[0.4 0.4 0.4],'FaceAlpha',0.8,'EdgeColor','k'); 159 | end 160 | hold off 161 | 162 | 163 | hold on 164 | %plot wakes 165 | count=1; 166 | 167 | % surf(reshape(data(:,2),n,timestep),reshape(data(:,6),n,timestep),reshape(data(:,10),n,timestep)); 168 | %color by wake number 169 | % id=(data(:,1)==3 ); 170 | patch(data(:,2:5)',data(:,6:9)',data(:,10:13)',(data(:,1))','FaceAlpha',0.5,'EdgeColor','k','EdgeAlpha',0.7) 171 | if strcmp(sym,'y')==1 172 | patch(data(:,2:5)',-data(:,6:9)',data(:,10:13)',(data(:,1))','FaceAlpha',0.5,'EdgeColor','k','EdgeAlpha',0.7) 173 | end 174 | 175 | %color by parameter (in progress) 176 | % patch(data(:,2:5)',data(:,6:9)',data(:,10:13)',data(:,6:9)','FaceAlpha',0.5,'EdgeColor','k') 177 | % if strcmp(sym,'y')==1 178 | % patch(data(:,2:5)',-data(:,6:9)',data(:,10:13)',data(:,6:9)','FaceAlpha',0.5,'EdgeColor','k') 179 | % end 180 | 181 | 182 | hold off 183 | %modify axis 184 | axis equal 185 | axis tight 186 | %AXIS([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 187 | % axis([xlimit ylimit zlimit]); 188 | % axis([-300 1600 0 1600 -1900 400]); 189 | 190 | %VIEW(AZ,EL) 191 | 192 | view([-23 16]); 193 | 194 | %set frame position and size 195 | 196 | set(h,'renderer','painters'); 197 | %ZOOM(factor) 198 | % zoom(1) 199 | 200 | %record frame for movie 201 | % mov(step) = getframe(gcf); 202 | 203 | 204 | % j=figure(2) 205 | % clf(2) 206 | % hold on 207 | % for x = 1:(numelements*numwings) 208 | % fill3(wing(x,1:4),wing(x,5:8),wing(x,9:12),'-k','FaceAlpha',0.6,'EdgeColor','k'); 209 | % if strcmp(sym,'y')==1 210 | % fill3(wing(x,1:4),-wing(x,5:8),wing(x,9:12),'-k','FaceAlpha',0.6,'EdgeColor','k'); 211 | % end 212 | % end 213 | % 214 | % 215 | % for instep = 1:timestep 216 | % for x = count:(count+(numwings*n))-1 217 | % fill3(data(x,2:5),data(x,6:9),data(x,10:13),cmap(data(x,1),:),'FaceAlpha',0.5,'EdgeColor','k') 218 | % if strcmp(sym,'y')==1 219 | % fill3(data(x,2:5),-data(x,6:9),data(x,10:13),cmap(data(x,1),:),'FaceAlpha',0.5,'EdgeColor','k') 220 | % end 221 | % end 222 | % count = count+(numwings*n); 223 | % end 224 | % 225 | % hold off 226 | % %modify axis 227 | % axis('equal') 228 | % 229 | % %AXIS([XMIN XMAX YMIN YMAX ZMIN ZMAX]) 230 | % % axis([xlimit ylimit zlimit]); 231 | % % axis([-300 1600 0 1600 -1900 400]); 232 | % 233 | % %VIEW(AZ,EL) 234 | % 235 | % view([-23 16]); 236 | % 237 | % %set frame position and size 238 | % 239 | % set(j,'renderer','painters'); 240 | % %ZOOM(factor) 241 | % % zoom(1) 242 | % 243 | % %record frame for movie 244 | % % mov(step) = getframe(gcf); 245 | % 246 | ax = gca; 247 | z = zoom; 248 | setAxes3DPanAndZoomStyle(z,ax,'camera') 249 | 250 | fclose all 251 | 252 | -------------------------------------------------------------------------------- /Source/typedef.h: -------------------------------------------------------------------------------- 1 | // sign convention according to Horstmann' thesis 2 | 3 | // definition of type general // 4 | struct GENERAL 5 | { 6 | double Uinf; //free stream velocity 7 | double alpha, beta; //angle of attack, sideslip angle 8 | double S, b,AR; //reference area, span, aspect ratio 9 | double U[3]; //free stream velocity vector 10 | double density; //density of fluid 11 | double nu; //kinematic viscosity 12 | double RefPt[3]; //global reference point for moments 13 | //added 1-0-13-2006 G.B. also used for CG 14 | 15 | double W; //aircraft weight; added G.B. 8-8-07 16 | double cmac; //mean aeodynamic chord; added G.B. 8-8-07 17 | double CMoWing; //zero-lift moment coefficient of wing 18 | 19 | int maxtime; //maximal number of time steps 20 | double deltime; //time step width 21 | double deltae; //square of deltae that determins convergence criteria 22 | //of do-while loop in main program. 23 | //set 0 if only time stepping is desired 24 | 25 | //Flags 26 | bool flagVISCOUS; // Turn on/off viscous corrections (O = OFF, 1 = ON) 27 | int sym; //symmetrical geometry flag (=1 sym. 0= assym.) 28 | int linear; //linear theory flag (=1 applied, 0= not applied) 29 | int steady; //steady (=1)/unsteady (default) aerodynamics flag 30 | int relax; //relaxed wake in time stepping scheme (=1 applied, 0=not) 31 | int trim; //longitudinal trim flag (=1 for trimming, =0 no trim; =1 m=1!) 32 | 33 | int nowing; //number of separated wings 34 | int wing1[5],wing2[5];//span index of edges 1 (left) and 2 (right) of wing 35 | int panel1[5], panel2[5];//indices of panels at left and right edge of wing 36 | //G.B. 11-5-06 37 | int noairfoils; //no. of airfoils used G.B. 8-9-07 38 | 39 | int m; //number lifting lines/elementary wings in chord direction 40 | int nopanel; //number of panels 41 | int noelement; //number of elementary wings 42 | int nospanelement; //number of elements in span direction, noelement/m 43 | int Dsize; //3*info.noelement, dimension of R and D 44 | 45 | int noVT,noFus; //number of V-tail and fuselage sections 46 | }; 47 | 48 | // definition of type panel// 49 | struct PANEL 50 | { 51 | double x1[3]; //panel side 1 leading edge coordinates 52 | double c1, eps1; //panel side 1 chord and incident angle 53 | double u1[3]; //free stream velocity variation at panel side 1 54 | int BC1; //boundary condition at panel side 1 55 | int airfoil1; //airfoil at panel side 1 added GB 2-14-20 56 | 57 | double x2[3]; //panel side 2 leading edge coordinates 58 | double c2, eps2; //panel side 2 chord and incident angle 59 | double u2[3]; //free stream velocity variation at panel side 2 60 | int BC2; //boundary condition at panel side 2 61 | int airfoil2; //airfoil at panel side 2 added GB 2-14-20 62 | 63 | int left, right; //left and right panel neighbors. 0 -> free end 64 | int n; //number of spanwise elementary wings 65 | int airfoil; //airfoil file number G.B. 8-9-07 66 | 67 | int TE1,TE2; //indices of left and right DVE @ TE of the panel 68 | //added 8/12/05 G.B. 69 | 70 | // Panel Boundary Conditions: 71 | // First Digit: 0 - undefined circulation strength 72 | // 1 - zero circulation (free end) 73 | // 2 - circul. strength equal to neighboring el. wing 74 | // Second Digit: 0 - undefined circulation slope 75 | // 1 - zero slope in circulation 76 | // 2 - circul. slope equal to neighboring el. wing 77 | // Third Digit: 0 - undefined circulation curvature 78 | // 1 - zero circulation curvature 79 | // 2 - circul. curvature equal to neighboring el. wing 80 | // 81 | // BC = 100 - gamma=0 82 | // BC = 110 - gamma=0 AND gamma'=0 (free tip) 83 | // BC = 220 - gamma[i] = gamma[j] AND gamma[i]' = gamma[j]' 84 | // BC = 022 - gamma[i]' = gamma[j]' AND gamma[i]" = gamma[j]" 85 | // BC = 010 - gamma' = 0 (center-line case with symmetrical conditions) 86 | }; 87 | 88 | // definition of type bound vortex // 89 | struct BOUND_VORTEX 90 | { 91 | double xo[3]; //midspan location of bound vortex in global ref.frame 92 | double xA[3]; //control point location in global ref. frame 93 | double normal[3]; //surface normal at control point in global ref. frame 94 | 95 | double eta; //half span of elementary bound vortex 96 | double chord; //mid span chord of elementary wing 97 | double phi, nu; //sweep, dihedral of elementary bound vortex 98 | 99 | double u[3]; //local free stream vel. variation in global ref. frame 100 | //at mid span of elementary bound vortex 101 | double uind[3]; //induced velocity at this point //added 7-20-05 G.B. 102 | 103 | double A,B,C; //coefficients of vort. distribution across elementary 104 | //bound vortex: Gamma =A+B*y+C*y^2 with y=-eta .. eta 105 | 106 | //elementary bound vortex: 107 | double N_free[2]; // - lift and side forces/density due to free stream 108 | double N_ind[2]; // - lift and side forces/density due to induced flow 109 | 110 | double CDind; //elementary bound vortex induced drag coefficient 111 | }; 112 | 113 | // definition of type Distributed-Vorticity element // 114 | struct DVE 115 | { 116 | double A,B,C; //coefficients of circulation distribution 117 | //across DVE 118 | //l.e.vortex: Gamma = A+B*y+C*y^2 119 | //vortex sheet: gamma = B +2*C*y 120 | //t.e.vortex: Gamma =-A-B*y-C*y^2 121 | //with y=-eta .. eta 122 | 123 | double K; //total circulation of DVE K = A +1/3*eta^2*C 124 | 125 | double xo[3]; //DVE referece point in global ref.frame 126 | //It is located midspan and midchord 127 | 128 | double eta; //half span of elementary bound vortex 129 | double xsi; //half chord of mid span of DVE 130 | double S; //area of element G.B. 8-10-07 131 | double nu,epsilon; //incident (pitch) and roll angle of DVE 132 | double psi; //yaw angle of DVE 133 | double phiLE,phiTE; //leading and trailing edge sweep 134 | double phi0; //sweep of mid-chordline 135 | 136 | double normal[3]; //DVE surface normal 137 | double u[3]; //ind. velocity in ref. pt. in global coordinate 138 | //NOTE! surface DVEs u stores the local free stream vector!! 139 | double U[3]; //normalized local free stream vel. in ref. pt. 140 | double xleft[3]; //coordinates of mid-chord of left edge 141 | double singfct; //rate at which additional singularity at the edge 142 | //of the vortex sheet decays 143 | //## singfct added 2/8/05 G.B. 144 | double Force[3],Moment[3];//aerodynamic forces and moments of DVE in global 145 | //reference frame. 146 | //Moments with respect to global reference point 147 | //added 10-13-2006 (it's a Friday!) G.B. 148 | double x1[3],x2[3]; //points at left and right end of leading edge bound vortex 149 | //needed for displacing surface DVE's 150 | double u1[3],u2[3]; //freestream velocities in x1 and x2 added 10-29-06 G.B. 151 | double xTE[3],TEvc[3]; //center point at and vector along trailing edge of previous 152 | //timestep 153 | int airfoil[2]; //airfoil file number G.B. 8-9-07; two airfoiils of panel edges 1 and 2 GB 2-14-20 154 | double ratio; //interpolation ratio from left (=0) to right side (=1) GB 2-14-20 155 | }; 156 | 157 | // definition of type wing// 158 | struct Wing 159 | { 160 | int dve1,dve2; //first and last DVE index of wing 161 | int panel1,panel2; //first and last panel index of wing 162 | double CL,CDi,e; //lift, induced drag, span efficiency of wing 163 | }; 164 | -------------------------------------------------------------------------------- /Source/gauss.cpp: -------------------------------------------------------------------------------- 1 | void GaussSolve(double **,double *, const int,double *); 2 | void LU_Decomposition(double **, int, int *); 3 | void LU_Solver(double **,const int,const int *,double *); 4 | 5 | //===================================================================// 6 | //START GaussSolve 7 | //===================================================================// 8 | /* 9 | Solve a system of n equations in n unknowns using Gaussian Elimination 10 | Solve an equation in matrix form Ax = b 11 | The 2D array a is the matrix A with an additional column b. 12 | This is often written (A:b) 13 | 14 | A0,0 A0,1 A0,2 .... A0,n-1 b0 15 | A1,0 A1,1 A1,2 .... A1,n-1 b1 16 | A2,0 A2,1 A2,2 .... A2,n-1 b2 17 | : : : : : 18 | : : : : : 19 | An-1,0 An-1,1 An-1,2 .... An-1,n-1 bn-1 20 | 21 | The result is returned in x, otherwise the function returns FALSE 22 | if the system of equations is singular. 23 | */ 24 | void GaussSolve(double **A, double *R, const int n,double *x) 25 | { 26 | int i,j,k,maxrow; 27 | double tmp, **a; 28 | 29 | //allocates memory for a 30 | ALLOC2D(&a,(n),(n+1)); 31 | 32 | //assigns a=A|R 33 | for (i=0;i fabs(a[maxrow][i])) 47 | maxrow = j; 48 | } 49 | 50 | /* Swap the maxrow and ith row */ 51 | for (k=i;k=i;k--) 72 | { 73 | a[j][k] -= a[i][k] * a[j][i] / a[i][i]; 74 | } 75 | } 76 | }//end loop over i, rows of a 77 | 78 | //#for(i=0;i=0;j--) 87 | { 88 | tmp = 0; 89 | for (k=j+1;k L2,0 L2,1 U2,2 ... U2,n-1 112 | // : : : : : : : : 113 | // : : : : : : : : 114 | // an-2,0 an-2,1 an-2,2... an-2,n-1 Ln-2,0 Ln-2,1 Ln-2,2... Un-2,n-1 115 | // an-1,0 an-1,1 an-1,2... an-1,n-1 Ln-1,0 Ln-1,1 Ln-1,2... Un-1,n-1 116 | 117 | // The result is returned in A. If the system of equations is singular, the 118 | // program exits. 119 | // 120 | // The original method supplied with the book had messed up indices that 121 | // started at value 1 (as it is done for fortran). I tried to fix that 122 | // as much as possible and it seems to work now. G.B. 11/8/03 123 | // 124 | //input 125 | // a matrix nxn 126 | // indx array that holds information of pivoting a 127 | // n size of matrix 128 | // 129 | // 130 | /* (C) Copr. 1986-92 Numerical Recipes Software 0K.s@%. */ 131 | 132 | int i,imax,j,k; 133 | double big,dum,sum,temp; 134 | double *vv; 135 | 136 | 137 | /*/########################################## 138 | FILE *fp; 139 | fp = fopen("D_matrix.txt", "a"); 140 | fprintf(fp, "\n\n"); 141 | fprintf(fp, "the new D\n"); 142 | for(i=0; i big) big=temp; 161 | if (big == 0.0) printf("\nSingular matrix in routine ludcmp"); 162 | vv[i]=1.0/big; 163 | } 164 | for (j=1;j<=n;j++) 165 | { 166 | for (i=0;i= big) { 179 | big=dum; 180 | imax=i; 181 | } 182 | } 183 | if (j != imax) 184 | { 185 | for (k=1;k<=n;k++) 186 | { 187 | dum=a[imax-1][k-1]; 188 | a[imax-1][k-1]=a[j-1][k-1]; 189 | a[j-1][k-1]=dum; 190 | } 191 | vv[imax-1]=vv[j-1]; 192 | } 193 | indx[j-1]=imax; 194 | if (a[j-1][j-1] == 0.0) a[j-1][j-1]=0.00001; 195 | if (j != n) { 196 | dum=1.0/(a[j-1][j-1]); 197 | for (i=j+1;i<=n;i++) a[i-1][j-1] *= dum; 198 | } 199 | } 200 | 201 | FREE1D(&vv,n); //free memory 202 | 203 | /*########################################## 204 | fp = fopen("D_matrix.txt", "a"); 205 | fprintf(fp, "\n\n"); 206 | fprintf(fp, "the decomposed D\n"); 207 | for(i=0; i=0;i--) 269 | { 270 | sum=b[i]; 271 | for (j=i+1;j.txt where 30 | //holds the numerical value of the current angle of attack 31 | 32 | int i,j,k,l,m,n=0; //loop counter 33 | double epsilonHT; //HT incident correction [rad] 34 | double CM_resid; //residual moment 35 | double eps1; //the HT incidence angle of one iteration previous 36 | double CM_old; //saving pitching moment of previous iteration step 37 | double CLht,CLhti; //total and induced lift of HT 38 | double *cl,*cy; //section lift and side force coefficients 39 | double *S; //area of a spanwise strip (sum of areas of DVEs of one span location) 40 | double tempS; 41 | double **N_force; //surface DVE's normal forces/density 42 | //[0]: free stream lift, [1]: induced lift, 43 | //[2]: free stream side, [3]: induced side force/density 44 | //[4]: free str. normal, [5]: ind. normal frc/density 45 | double *D_force; //drag forces/density along span 46 | double *cd; //section ind. drag coefficient 47 | 48 | FILE *spaninfo; //output file for spanwise information 49 | char filename[133]; //file path and name for spanwise information 50 | 51 | //allocating memory 52 | ALLOC1D(&cl,info.noelement); //section lift coefficient 53 | ALLOC1D(&cy,info.nospanelement); //section side force coefficient 54 | ALLOC1D(&S,info.nospanelement); //section area 55 | ALLOC1D(&cd,info.nospanelement); //section ind. drag coefficient 56 | ALLOC2D(&N_force,info.noelement,6); //surface DVE normal forces 57 | ALLOC1D(&D_force,info.nospanelement);//Drag force per span element 58 | 59 | //initial HT incident correction 60 | epsilonHT = 0;//panelPtr[i].eps1; //[rad] 61 | eps1 = 0; //the HT incidence angle of one iteration previous 62 | 63 | //===========================================// 64 | //pitching moment computation - Step 0 65 | //===========================================// 66 | 67 | //computed the residual moment coefficient of wing and tail 68 | CM_resid = PitchingMoment\ 69 | (info,panelPtr,surfacePtr,info.cmac,epsilonHT,\ 70 | HTpanel,info.RefPt,CLht,CLhti,\ 71 | N_force,D_force,CL,CDi);//Subroutine in PitchMoment.cpp 72 | 73 | //adding zero lift of wing 74 | CM_resid += info.CMoWing; 75 | 76 | //printf("\neps %.1lf CMresid %.4lf CMold %.4lf",epsilonHT*RtD,CM_resid,CM_old); 77 | if(info.trim==1) //longitudinal trim routine 78 | { 79 | if(CM_resid > 0) epsilonHT = 0.035; //deflect HT trailing edge 2deg down 80 | else epsilonHT =-0.035; //deflect HT trailing edge 2deg up 81 | 82 | //========================================// 83 | // pitching moment iteration loop 84 | //========================================// 85 | i=0; //initializing loop counter 86 | do 87 | { 88 | //========================================// 89 | // pitching moment computation - Step i 90 | //========================================// 91 | //saving pitching moment of previous iteration step 92 | CM_old = CM_resid; 93 | //computed the residual moment coefficient of wing and tail 94 | CM_resid = PitchingMoment\ 95 | (info,panelPtr,surfacePtr,info.cmac,epsilonHT,\ 96 | HTpanel,info.RefPt,CLht,CLhti,\ 97 | N_force,D_force,CL,CDi);//Subroutine in PitchMoment.cpp 98 | 99 | //adding zero lift of wing 100 | CM_resid += info.CMoWing; 101 | 102 | //computing new HT incidence angle 103 | tempS = epsilonHT - CM_resid*(epsilonHT-eps1)/(CM_resid-CM_old); 104 | eps1 = epsilonHT; epsilonHT = tempS; //reassigning HT angles 105 | 106 | i++; //incrementing loop counter 107 | 108 | }while((i<20) && (CM_resid*CM_resid>.000025)); 109 | //========================================// 110 | // pitching moment iteration loop END 111 | //========================================*/// 112 | } //end of longitudinal trim routine 113 | 114 | //===================================================================// 115 | // Compute cn and cd (spanwise values) 116 | //===================================================================// 117 | 118 | i=0; //intitaliing span index counter 119 | m=0; //index of leading edge DVE 120 | for(k=0;k 5 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 6 | Everyone is permitted to copy and distribute verbatim copies 7 | of this license document, but changing it is not allowed. 8 | 9 | Preamble 10 | 11 | The licenses for most software are designed to take away your 12 | freedom to share and change it. By contrast, the GNU General Public 13 | License is intended to guarantee your freedom to share and change free 14 | software--to make sure the software is free for all its users. This 15 | General Public License applies to most of the Free Software 16 | Foundation's software and to any other program whose authors commit to 17 | using it. (Some other Free Software Foundation software is covered by 18 | the GNU Lesser General Public License instead.) You can apply it to 19 | your programs, too. 20 | 21 | When we speak of free software, we are referring to freedom, not 22 | price. Our General Public Licenses are designed to make sure that you 23 | have the freedom to distribute copies of free software (and charge for 24 | this service if you wish), that you receive source code or can get it 25 | if you want it, that you can change the software or use pieces of it 26 | in new free programs; and that you know you can do these things. 27 | 28 | To protect your rights, we need to make restrictions that forbid 29 | anyone to deny you these rights or to ask you to surrender the rights. 30 | These restrictions translate to certain responsibilities for you if you 31 | distribute copies of the software, or if you modify it. 32 | 33 | For example, if you distribute copies of such a program, whether 34 | gratis or for a fee, you must give the recipients all the rights that 35 | you have. You must make sure that they, too, receive or can get the 36 | source code. And you must show them these terms so they know their 37 | rights. 38 | 39 | We protect your rights with two steps: (1) copyright the software, and 40 | (2) offer you this license which gives you legal permission to copy, 41 | distribute and/or modify the software. 42 | 43 | Also, for each author's protection and ours, we want to make certain 44 | that everyone understands that there is no warranty for this free 45 | software. If the software is modified by someone else and passed on, we 46 | want its recipients to know that what they have is not the original, so 47 | that any problems introduced by others will not reflect on the original 48 | authors' reputations. 49 | 50 | Finally, any free program is threatened constantly by software 51 | patents. We wish to avoid the danger that redistributors of a free 52 | program will individually obtain patent licenses, in effect making the 53 | program proprietary. To prevent this, we have made it clear that any 54 | patent must be licensed for everyone's free use or not licensed at all. 55 | 56 | The precise terms and conditions for copying, distribution and 57 | modification follow. 58 | 59 | GNU GENERAL PUBLIC LICENSE 60 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 61 | 62 | 0. This License applies to any program or other work which contains 63 | a notice placed by the copyright holder saying it may be distributed 64 | under the terms of this General Public License. The "Program", below, 65 | refers to any such program or work, and a "work based on the Program" 66 | means either the Program or any derivative work under copyright law: 67 | that is to say, a work containing the Program or a portion of it, 68 | either verbatim or with modifications and/or translated into another 69 | language. (Hereinafter, translation is included without limitation in 70 | the term "modification".) Each licensee is addressed as "you". 71 | 72 | Activities other than copying, distribution and modification are not 73 | covered by this License; they are outside its scope. The act of 74 | running the Program is not restricted, and the output from the Program 75 | is covered only if its contents constitute a work based on the 76 | Program (independent of having been made by running the Program). 77 | Whether that is true depends on what the Program does. 78 | 79 | 1. You may copy and distribute verbatim copies of the Program's 80 | source code as you receive it, in any medium, provided that you 81 | conspicuously and appropriately publish on each copy an appropriate 82 | copyright notice and disclaimer of warranty; keep intact all the 83 | notices that refer to this License and to the absence of any warranty; 84 | and give any other recipients of the Program a copy of this License 85 | along with the Program. 86 | 87 | You may charge a fee for the physical act of transferring a copy, and 88 | you may at your option offer warranty protection in exchange for a fee. 89 | 90 | 2. You may modify your copy or copies of the Program or any portion 91 | of it, thus forming a work based on the Program, and copy and 92 | distribute such modifications or work under the terms of Section 1 93 | above, provided that you also meet all of these conditions: 94 | 95 | a) You must cause the modified files to carry prominent notices 96 | stating that you changed the files and the date of any change. 97 | 98 | b) You must cause any work that you distribute or publish, that in 99 | whole or in part contains or is derived from the Program or any 100 | part thereof, to be licensed as a whole at no charge to all third 101 | parties under the terms of this License. 102 | 103 | c) If the modified program normally reads commands interactively 104 | when run, you must cause it, when started running for such 105 | interactive use in the most ordinary way, to print or display an 106 | announcement including an appropriate copyright notice and a 107 | notice that there is no warranty (or else, saying that you provide 108 | a warranty) and that users may redistribute the program under 109 | these conditions, and telling the user how to view a copy of this 110 | License. (Exception: if the Program itself is interactive but 111 | does not normally print such an announcement, your work based on 112 | the Program is not required to print an announcement.) 113 | 114 | These requirements apply to the modified work as a whole. If 115 | identifiable sections of that work are not derived from the Program, 116 | and can be reasonably considered independent and separate works in 117 | themselves, then this License, and its terms, do not apply to those 118 | sections when you distribute them as separate works. But when you 119 | distribute the same sections as part of a whole which is a work based 120 | on the Program, the distribution of the whole must be on the terms of 121 | this License, whose permissions for other licensees extend to the 122 | entire whole, and thus to each and every part regardless of who wrote it. 123 | 124 | Thus, it is not the intent of this section to claim rights or contest 125 | your rights to work written entirely by you; rather, the intent is to 126 | exercise the right to control the distribution of derivative or 127 | collective works based on the Program. 128 | 129 | In addition, mere aggregation of another work not based on the Program 130 | with the Program (or with a work based on the Program) on a volume of 131 | a storage or distribution medium does not bring the other work under 132 | the scope of this License. 133 | 134 | 3. You may copy and distribute the Program (or a work based on it, 135 | under Section 2) in object code or executable form under the terms of 136 | Sections 1 and 2 above provided that you also do one of the following: 137 | 138 | a) Accompany it with the complete corresponding machine-readable 139 | source code, which must be distributed under the terms of Sections 140 | 1 and 2 above on a medium customarily used for software interchange; or, 141 | 142 | b) Accompany it with a written offer, valid for at least three 143 | years, to give any third party, for a charge no more than your 144 | cost of physically performing source distribution, a complete 145 | machine-readable copy of the corresponding source code, to be 146 | distributed under the terms of Sections 1 and 2 above on a medium 147 | customarily used for software interchange; or, 148 | 149 | c) Accompany it with the information you received as to the offer 150 | to distribute corresponding source code. (This alternative is 151 | allowed only for noncommercial distribution and only if you 152 | received the program in object code or executable form with such 153 | an offer, in accord with Subsection b above.) 154 | 155 | The source code for a work means the preferred form of the work for 156 | making modifications to it. For an executable work, complete source 157 | code means all the source code for all modules it contains, plus any 158 | associated interface definition files, plus the scripts used to 159 | control compilation and installation of the executable. However, as a 160 | special exception, the source code distributed need not include 161 | anything that is normally distributed (in either source or binary 162 | form) with the major components (compiler, kernel, and so on) of the 163 | operating system on which the executable runs, unless that component 164 | itself accompanies the executable. 165 | 166 | If distribution of executable or object code is made by offering 167 | access to copy from a designated place, then offering equivalent 168 | access to copy the source code from the same place counts as 169 | distribution of the source code, even though third parties are not 170 | compelled to copy the source along with the object code. 171 | 172 | 4. You may not copy, modify, sublicense, or distribute the Program 173 | except as expressly provided under this License. Any attempt 174 | otherwise to copy, modify, sublicense or distribute the Program is 175 | void, and will automatically terminate your rights under this License. 176 | However, parties who have received copies, or rights, from you under 177 | this License will not have their licenses terminated so long as such 178 | parties remain in full compliance. 179 | 180 | 5. You are not required to accept this License, since you have not 181 | signed it. However, nothing else grants you permission to modify or 182 | distribute the Program or its derivative works. These actions are 183 | prohibited by law if you do not accept this License. Therefore, by 184 | modifying or distributing the Program (or any work based on the 185 | Program), you indicate your acceptance of this License to do so, and 186 | all its terms and conditions for copying, distributing or modifying 187 | the Program or works based on it. 188 | 189 | 6. Each time you redistribute the Program (or any work based on the 190 | Program), the recipient automatically receives a license from the 191 | original licensor to copy, distribute or modify the Program subject to 192 | these terms and conditions. You may not impose any further 193 | restrictions on the recipients' exercise of the rights granted herein. 194 | You are not responsible for enforcing compliance by third parties to 195 | this License. 196 | 197 | 7. If, as a consequence of a court judgment or allegation of patent 198 | infringement or for any other reason (not limited to patent issues), 199 | conditions are imposed on you (whether by court order, agreement or 200 | otherwise) that contradict the conditions of this License, they do not 201 | excuse you from the conditions of this License. If you cannot 202 | distribute so as to satisfy simultaneously your obligations under this 203 | License and any other pertinent obligations, then as a consequence you 204 | may not distribute the Program at all. For example, if a patent 205 | license would not permit royalty-free redistribution of the Program by 206 | all those who receive copies directly or indirectly through you, then 207 | the only way you could satisfy both it and this License would be to 208 | refrain entirely from distribution of the Program. 209 | 210 | If any portion of this section is held invalid or unenforceable under 211 | any particular circumstance, the balance of the section is intended to 212 | apply and the section as a whole is intended to apply in other 213 | circumstances. 214 | 215 | It is not the purpose of this section to induce you to infringe any 216 | patents or other property right claims or to contest validity of any 217 | such claims; this section has the sole purpose of protecting the 218 | integrity of the free software distribution system, which is 219 | implemented by public license practices. Many people have made 220 | generous contributions to the wide range of software distributed 221 | through that system in reliance on consistent application of that 222 | system; it is up to the author/donor to decide if he or she is willing 223 | to distribute software through any other system and a licensee cannot 224 | impose that choice. 225 | 226 | This section is intended to make thoroughly clear what is believed to 227 | be a consequence of the rest of this License. 228 | 229 | 8. If the distribution and/or use of the Program is restricted in 230 | certain countries either by patents or by copyrighted interfaces, the 231 | original copyright holder who places the Program under this License 232 | may add an explicit geographical distribution limitation excluding 233 | those countries, so that distribution is permitted only in or among 234 | countries not thus excluded. In such case, this License incorporates 235 | the limitation as if written in the body of this License. 236 | 237 | 9. The Free Software Foundation may publish revised and/or new versions 238 | of the General Public License from time to time. Such new versions will 239 | be similar in spirit to the present version, but may differ in detail to 240 | address new problems or concerns. 241 | 242 | Each version is given a distinguishing version number. If the Program 243 | specifies a version number of this License which applies to it and "any 244 | later version", you have the option of following the terms and conditions 245 | either of that version or of any later version published by the Free 246 | Software Foundation. If the Program does not specify a version number of 247 | this License, you may choose any version ever published by the Free Software 248 | Foundation. 249 | 250 | 10. If you wish to incorporate parts of the Program into other free 251 | programs whose distribution conditions are different, write to the author 252 | to ask for permission. For software which is copyrighted by the Free 253 | Software Foundation, write to the Free Software Foundation; we sometimes 254 | make exceptions for this. Our decision will be guided by the two goals 255 | of preserving the free status of all derivatives of our free software and 256 | of promoting the sharing and reuse of software generally. 257 | 258 | NO WARRANTY 259 | 260 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY 261 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN 262 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES 263 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED 264 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 265 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS 266 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE 267 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, 268 | REPAIR OR CORRECTION. 269 | 270 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING 271 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR 272 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, 273 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING 274 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED 275 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY 276 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER 277 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE 278 | POSSIBILITY OF SUCH DAMAGES. 279 | 280 | END OF TERMS AND CONDITIONS 281 | 282 | How to Apply These Terms to Your New Programs 283 | 284 | If you develop a new program, and you want it to be of the greatest 285 | possible use to the public, the best way to achieve this is to make it 286 | free software which everyone can redistribute and change under these terms. 287 | 288 | To do so, attach the following notices to the program. It is safest 289 | to attach them to the start of each source file to most effectively 290 | convey the exclusion of warranty; and each file should have at least 291 | the "copyright" line and a pointer to where the full notice is found. 292 | 293 | {description} 294 | Copyright (C) {year} {fullname} 295 | 296 | This program is free software; you can redistribute it and/or modify 297 | it under the terms of the GNU General Public License as published by 298 | the Free Software Foundation; either version 2 of the License, or 299 | (at your option) any later version. 300 | 301 | This program is distributed in the hope that it will be useful, 302 | but WITHOUT ANY WARRANTY; without even the implied warranty of 303 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 304 | GNU General Public License for more details. 305 | 306 | You should have received a copy of the GNU General Public License along 307 | with this program; if not, write to the Free Software Foundation, Inc., 308 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 309 | 310 | Also add information on how to contact you by electronic and paper mail. 311 | 312 | If the program is interactive, make it output a short notice like this 313 | when it starts in an interactive mode: 314 | 315 | Gnomovision version 69, Copyright (C) year name of author 316 | Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. 317 | This is free software, and you are welcome to redistribute it 318 | under certain conditions; type `show c' for details. 319 | 320 | The hypothetical commands `show w' and `show c' should show the appropriate 321 | parts of the General Public License. Of course, the commands you use may 322 | be called something other than `show w' and `show c'; they could even be 323 | mouse-clicks or menu items--whatever suits your program. 324 | 325 | You should also get your employer (if you work as a programmer) or your 326 | school, if any, to sign a "copyright disclaimer" for the program, if 327 | necessary. Here is a sample; alter the names: 328 | 329 | Yoyodyne, Inc., hereby disclaims all copyright interest in the program 330 | `Gnomovision' (which makes passes at compilers) written by James Hacker. 331 | 332 | {signature of Ty Coon}, 1 April 1989 333 | Ty Coon, President of Vice 334 | 335 | This General Public License does not permit incorporating your program into 336 | proprietary programs. If your program is a subroutine library, you may 337 | consider it more useful to permit linking proprietary applications with the 338 | library. If this is what you want to do, use the GNU Lesser General 339 | Public License instead of this License. 340 | -------------------------------------------------------------------------------- /airfoils/airfoil4.dat: -------------------------------------------------------------------------------- 1 | FX 71-L-150 No Flap Number of Rows=541 2 | -10 -1.0895 0.02042 5.00E+05 0.0053 3 | -9.75 -1.0678 0.0199 5.00E+05 0.0056 4 | -9.5 -1.0445 0.01951 5.00E+05 0.0059 5 | -9.25 -1.0237 0.01874 5.00E+05 0.0062 6 | -9 -0.9993 0.01832 5.00E+05 0.0064 7 | -8.75 -0.9769 0.01767 5.00E+05 0.0066 8 | -8.5 -0.9524 0.01726 5.00E+05 0.0068 9 | -8.25 -0.9291 0.01668 5.00E+05 0.007 10 | -8 -0.9045 0.0162 5.00E+05 0.0071 11 | -7.75 -0.8796 0.01565 5.00E+05 0.0072 12 | -7.5 -0.8539 0.01521 5.00E+05 0.0072 13 | -7.25 -0.8288 0.01467 5.00E+05 0.0073 14 | -7 -0.8034 0.01417 5.00E+05 0.0073 15 | -6.75 -0.7782 0.01364 5.00E+05 0.0073 16 | -6.5 -0.753 0.01299 5.00E+05 0.0072 17 | -6.25 -0.7273 0.01232 5.00E+05 0.0071 18 | -6 -0.7015 0.01165 5.00E+05 0.0069 19 | -5.75 -0.6752 0.01104 5.00E+05 0.0067 20 | -5.5 -0.6486 0.01049 5.00E+05 0.0064 21 | -5.25 -0.6216 0.01005 5.00E+05 0.0062 22 | -5 -0.5934 0.00973 5.00E+05 0.0059 23 | -4.75 -0.5644 0.00946 5.00E+05 0.0055 24 | -4.5 -0.5352 0.0093 5.00E+05 0.0052 25 | -4.25 -0.5059 0.00919 5.00E+05 0.005 26 | -4 -0.4765 0.00912 5.00E+05 0.0047 27 | -3.75 -0.4471 0.00911 5.00E+05 0.0045 28 | -3.5 -0.4173 0.00909 5.00E+05 0.0042 29 | -3.25 -0.3875 0.00902 5.00E+05 0.0039 30 | -3 -0.3574 0.00904 5.00E+05 0.0036 31 | -2.75 -0.3279 0.00897 5.00E+05 0.0034 32 | -2.5 -0.2981 0.00897 5.00E+05 0.0032 33 | -2.25 -0.2682 0.00901 5.00E+05 0.0029 34 | -2 -0.2385 0.00901 5.00E+05 0.0026 35 | -1.75 -0.2082 0.00901 5.00E+05 0.0023 36 | -1.5 -0.1779 0.00901 5.00E+05 0.0019 37 | -1.25 -0.1481 0.00896 5.00E+05 0.0016 38 | -1 -0.1183 0.00896 5.00E+05 0.0014 39 | -0.75 -0.0885 0.00902 5.00E+05 0.0012 40 | -0.5 -0.0581 0.00905 5.00E+05 0.0007 41 | -0.25 -0.0279 0.009 5.00E+05 0.0004 42 | 0 0.002 0.00898 5.00E+05 0.0001 43 | 0.25 0.032 0.00897 5.00E+05 -0.0002 44 | 0.5 0.0619 0.00898 5.00E+05 -0.0004 45 | 0.75 0.0922 0.00901 5.00E+05 -0.0008 46 | 1 0.1223 0.00896 5.00E+05 -0.0012 47 | 1.25 0.1522 0.00891 5.00E+05 -0.0014 48 | 1.5 0.1819 0.00891 5.00E+05 -0.0016 49 | 1.75 0.212 0.00894 5.00E+05 -0.002 50 | 2 0.2422 0.00894 5.00E+05 -0.0023 51 | 2.25 0.2724 0.00896 5.00E+05 -0.0027 52 | 2.5 0.3019 0.00895 5.00E+05 -0.0029 53 | 2.75 0.3319 0.00893 5.00E+05 -0.0032 54 | 3 0.3614 0.00896 5.00E+05 -0.0034 55 | 3.25 0.3914 0.00899 5.00E+05 -0.0037 56 | 3.5 0.4214 0.00905 5.00E+05 -0.004 57 | 3.75 0.4513 0.0091 5.00E+05 -0.0043 58 | 4 0.4807 0.0091 5.00E+05 -0.0046 59 | 4.25 0.5102 0.00914 5.00E+05 -0.0048 60 | 4.5 0.5396 0.00922 5.00E+05 -0.0051 61 | 4.75 0.569 0.00935 5.00E+05 -0.0054 62 | 5 0.598 0.00961 5.00E+05 -0.0057 63 | 5.25 0.6261 0.00989 5.00E+05 -0.006 64 | 5.5 0.6532 0.01033 5.00E+05 -0.0062 65 | 5.75 0.6801 0.01084 5.00E+05 -0.0065 66 | 6 0.7069 0.01138 5.00E+05 -0.0067 67 | 6.25 0.7335 0.01194 5.00E+05 -0.007 68 | 6.5 0.76 0.01251 5.00E+05 -0.0072 69 | 6.75 0.7859 0.01295 5.00E+05 -0.0073 70 | 7 0.8114 0.01347 5.00E+05 -0.0074 71 | 7.25 0.8373 0.01395 5.00E+05 -0.0074 72 | 7.5 0.8625 0.01451 5.00E+05 -0.0075 73 | 7.75 0.8874 0.01511 5.00E+05 -0.0075 74 | 8 0.9118 0.01569 5.00E+05 -0.0074 75 | 8.25 0.9352 0.01632 5.00E+05 -0.0071 76 | 8.5 0.9588 0.01691 5.00E+05 -0.0069 77 | 8.75 0.9823 0.01752 5.00E+05 -0.0067 78 | 9 1.0042 0.01828 5.00E+05 -0.0065 79 | 9.25 1.0271 0.01885 5.00E+05 -0.0062 80 | 9.5 1.046 0.01973 5.00E+05 -0.0056 81 | 9.75 1.0668 0.02039 5.00E+05 -0.0052 82 | 10 1.0869 0.0211 5.00E+05 -0.0048 83 | -10 -1.1142 0.0182 7.00E+07 0.0079 84 | -9.75 -1.091 0.01768 7.00E+07 0.0081 85 | -9.5 -1.0663 0.01729 7.00E+07 0.0083 86 | -9.25 -1.0427 0.01675 7.00E+07 0.0085 87 | -9 -1.0178 0.01634 7.00E+07 0.0086 88 | -8.75 -0.9924 0.01598 7.00E+07 0.0087 89 | -8.5 -0.9678 0.01553 7.00E+07 0.0088 90 | -8.25 -0.9414 0.01528 7.00E+07 0.0088 91 | -8 -0.916 0.01478 7.00E+07 0.0088 92 | -7.75 -0.8895 0.01442 7.00E+07 0.0088 93 | -7.5 -0.8635 0.01398 7.00E+07 0.0087 94 | -7.25 -0.8371 0.01357 7.00E+07 0.0087 95 | -7 -0.8106 0.01318 7.00E+07 0.0087 96 | -6.75 -0.7843 0.01278 7.00E+07 0.0086 97 | -6.5 -0.7579 0.01228 7.00E+07 0.0085 98 | -6.25 -0.7314 0.0117 7.00E+07 0.0083 99 | -6 -0.7047 0.01112 7.00E+07 0.0081 100 | -5.75 -0.6778 0.01057 7.00E+07 0.0078 101 | -5.5 -0.6505 0.01004 7.00E+07 0.0076 102 | -5.25 -0.6232 0.00952 7.00E+07 0.0073 103 | -5 -0.5954 0.00906 7.00E+07 0.007 104 | -4.75 -0.567 0.00867 7.00E+07 0.0066 105 | -4.5 -0.5378 0.00838 7.00E+07 0.0062 106 | -4.25 -0.5084 0.00817 7.00E+07 0.0058 107 | -4 -0.4788 0.00801 7.00E+07 0.0055 108 | -3.75 -0.4491 0.00789 7.00E+07 0.0052 109 | -3.5 -0.4195 0.00781 7.00E+07 0.0049 110 | -3.25 -0.3897 0.00777 7.00E+07 0.0046 111 | -3 -0.3595 0.00772 7.00E+07 0.0042 112 | -2.75 -0.3296 0.00765 7.00E+07 0.0039 113 | -2.5 -0.2994 0.00762 7.00E+07 0.0036 114 | -2.25 -0.2693 0.0076 7.00E+07 0.0032 115 | -2 -0.2395 0.00756 7.00E+07 0.0029 116 | -1.75 -0.2095 0.00761 7.00E+07 0.0026 117 | -1.5 -0.179 0.00757 7.00E+07 0.0022 118 | -1.25 -0.1489 0.0075 7.00E+07 0.0019 119 | -1 -0.1188 0.00749 7.00E+07 0.0015 120 | -0.75 -0.0885 0.0075 7.00E+07 0.0012 121 | -0.5 -0.0584 0.00752 7.00E+07 0.0008 122 | -0.25 -0.0284 0.00751 7.00E+07 0.0005 123 | 0 0.0019 0.0075 7.00E+07 0.0001 124 | 0.25 0.0322 0.00749 7.00E+07 -0.0002 125 | 0.5 0.0625 0.0075 7.00E+07 -0.0006 126 | 0.75 0.0925 0.00752 7.00E+07 -0.0009 127 | 1 0.1227 0.00748 7.00E+07 -0.0013 128 | 1.25 0.1529 0.00748 7.00E+07 -0.0016 129 | 1.5 0.183 0.00751 7.00E+07 -0.0019 130 | 1.75 0.2131 0.00757 7.00E+07 -0.0023 131 | 2 0.2436 0.00758 7.00E+07 -0.0027 132 | 2.25 0.2734 0.00755 7.00E+07 -0.003 133 | 2.5 0.3033 0.0076 7.00E+07 -0.0033 134 | 2.75 0.3335 0.00761 7.00E+07 -0.0036 135 | 3 0.3634 0.00768 7.00E+07 -0.004 136 | 3.25 0.3936 0.00773 7.00E+07 -0.0043 137 | 3.5 0.4237 0.00778 7.00E+07 -0.0047 138 | 3.75 0.4534 0.00783 7.00E+07 -0.005 139 | 4 0.483 0.00794 7.00E+07 -0.0053 140 | 4.25 0.5126 0.00809 7.00E+07 -0.0056 141 | 4.5 0.5422 0.00826 7.00E+07 -0.006 142 | 4.75 0.5713 0.00856 7.00E+07 -0.0064 143 | 5 0.5998 0.00898 7.00E+07 -0.0068 144 | 5.25 0.6276 0.0094 7.00E+07 -0.0071 145 | 5.5 0.6553 0.00988 7.00E+07 -0.0074 146 | 6 0.7102 0.01083 7.00E+07 -0.008 147 | 6.25 0.7375 0.01133 7.00E+07 -0.0082 148 | 6.75 0.7913 0.01221 7.00E+07 -0.0086 149 | 7 0.8177 0.01263 7.00E+07 -0.0087 150 | 7.25 0.8441 0.01307 7.00E+07 -0.0088 151 | 7.5 0.87 0.01356 7.00E+07 -0.0088 152 | 7.75 0.8958 0.01406 7.00E+07 -0.0089 153 | 8 0.9212 0.01461 7.00E+07 -0.0089 154 | 8.25 0.9463 0.0151 7.00E+07 -0.0088 155 | 8.5 0.9708 0.01561 7.00E+07 -0.0087 156 | 8.75 0.9953 0.01611 7.00E+07 -0.0085 157 | 9 1.0193 0.01667 7.00E+07 -0.0083 158 | 9.25 1.0435 0.01717 7.00E+07 -0.0082 159 | 9.5 1.0657 0.01788 7.00E+07 -0.0079 160 | 9.75 1.0894 0.01834 7.00E+07 -0.0077 161 | 10 1.1115 0.01891 7.00E+07 -0.0074 162 | -10 -1.132 0.01632 1.00E+06 0.0098 163 | -9.75 -1.1071 0.01591 1.00E+06 0.0099 164 | -9.5 -1.0813 0.01559 1.00E+06 0.01 165 | -9.25 -1.0565 0.01513 1.00E+06 0.0101 166 | -9 -1.0306 0.01478 1.00E+06 0.0101 167 | -8.75 -1.0043 0.01448 1.00E+06 0.0101 168 | -8.5 -0.9785 0.01409 1.00E+06 0.0102 169 | -8.25 -0.9518 0.01384 1.00E+06 0.0101 170 | -8 -0.9253 0.01348 1.00E+06 0.0101 171 | -7.75 -0.898 0.01317 1.00E+06 0.01 172 | -7.5 -0.871 0.01281 1.00E+06 0.0099 173 | -7 -0.8163 0.01215 1.00E+06 0.0097 174 | -6.75 -0.7889 0.0118 1.00E+06 0.0095 175 | -6.5 -0.7617 0.01141 1.00E+06 0.0094 176 | -6.25 -0.7346 0.011 1.00E+06 0.0092 177 | -6 -0.7073 0.01052 1.00E+06 0.009 178 | -5.75 -0.6798 0.01003 1.00E+06 0.0087 179 | -5.5 -0.6521 0.00954 1.00E+06 0.0084 180 | -5.25 -0.6241 0.00907 1.00E+06 0.0081 181 | -4.75 -0.5676 0.00814 1.00E+06 0.0073 182 | -4.5 -0.539 0.00778 1.00E+06 0.007 183 | -4.25 -0.5098 0.00745 1.00E+06 0.0065 184 | -4 -0.4802 0.00722 1.00E+06 0.0061 185 | -3.75 -0.4504 0.00703 1.00E+06 0.0057 186 | -3.5 -0.4206 0.0069 1.00E+06 0.0054 187 | -3.25 -0.3907 0.0068 1.00E+06 0.005 188 | -3 -0.3608 0.00673 1.00E+06 0.0046 189 | -2.75 -0.3307 0.00669 1.00E+06 0.0042 190 | -2.5 -0.3005 0.00663 1.00E+06 0.0039 191 | -2.25 -0.2702 0.00658 1.00E+06 0.0035 192 | -2 -0.2401 0.00652 1.00E+06 0.0031 193 | -1.75 -0.2098 0.00651 1.00E+06 0.0028 194 | -1.5 -0.1797 0.00651 1.00E+06 0.0024 195 | -1.25 -0.1495 0.00646 1.00E+06 0.002 196 | -1 -0.1191 0.00644 1.00E+06 0.0016 197 | -0.75 -0.0887 0.00644 1.00E+06 0.0013 198 | -0.5 -0.0585 0.00641 1.00E+06 0.0009 199 | -0.25 -0.0284 0.00641 1.00E+06 0.0005 200 | 0 0.0019 0.00641 1.00E+06 0.0001 201 | 0.25 0.0323 0.00642 1.00E+06 -0.0002 202 | 0.5 0.0626 0.00641 1.00E+06 -0.0006 203 | 0.75 0.0927 0.00643 1.00E+06 -0.001 204 | 1 0.123 0.00644 1.00E+06 -0.0014 205 | 1.25 0.1533 0.00645 1.00E+06 -0.0017 206 | 1.5 0.1836 0.00649 1.00E+06 -0.0021 207 | 1.75 0.2138 0.00656 1.00E+06 -0.0025 208 | 2 0.244 0.00652 1.00E+06 -0.0029 209 | 2.25 0.2742 0.00655 1.00E+06 -0.0032 210 | 2.5 0.3043 0.00661 1.00E+06 -0.0036 211 | 2.75 0.3346 0.00664 1.00E+06 -0.004 212 | 3 0.3647 0.00673 1.00E+06 -0.0044 213 | 3.25 0.3948 0.00675 1.00E+06 -0.0047 214 | 3.5 0.4247 0.00683 1.00E+06 -0.0051 215 | 3.75 0.4546 0.00695 1.00E+06 -0.0055 216 | 4 0.4844 0.0071 1.00E+06 -0.0059 217 | 4.25 0.514 0.00731 1.00E+06 -0.0063 218 | 4.5 0.5432 0.00766 1.00E+06 -0.0067 219 | 4.75 0.5719 0.00806 1.00E+06 -0.0071 220 | 5 0.6003 0.00848 1.00E+06 -0.0075 221 | 5.25 0.6287 0.00891 1.00E+06 -0.0079 222 | 5.5 0.6569 0.00934 1.00E+06 -0.0082 223 | 5.75 0.6849 0.00977 1.00E+06 -0.0085 224 | 6 0.7127 0.01023 1.00E+06 -0.0088 225 | 6.25 0.7405 0.01063 1.00E+06 -0.0091 226 | 6.5 0.7679 0.011 1.00E+06 -0.0093 227 | 6.75 0.7953 0.01137 1.00E+06 -0.0095 228 | 7 0.8225 0.01177 1.00E+06 -0.0096 229 | 7.25 0.8496 0.01217 1.00E+06 -0.0098 230 | 7.5 0.8762 0.01262 1.00E+06 -0.0099 231 | 7.75 0.9027 0.01308 1.00E+06 -0.0099 232 | 8 0.9288 0.01357 1.00E+06 -0.01 233 | 8.25 0.9548 0.01396 1.00E+06 -0.01 234 | 8.5 0.9807 0.01434 1.00E+06 -0.0099 235 | 8.75 1.006 0.0148 1.00E+06 -0.0099 236 | 9 1.0318 0.01518 1.00E+06 -0.0098 237 | 9.25 1.057 0.01561 1.00E+06 -0.0097 238 | 9.5 1.081 0.01617 1.00E+06 -0.0096 239 | 9.75 1.1059 0.01659 1.00E+06 -0.0094 240 | 10 1.1299 0.01705 1.00E+06 -0.0093 241 | -8 -0.9327 0.01216 1.50E+06 0.0111 242 | -7.75 -0.9053 0.01191 1.50E+06 0.011 243 | -7.5 -0.8775 0.01164 1.50E+06 0.0108 244 | -7.25 -0.8496 0.01136 1.50E+06 0.0107 245 | -7 -0.8217 0.01107 1.50E+06 0.0105 246 | -6.75 -0.7935 0.01083 1.50E+06 0.0103 247 | -6.5 -0.7654 0.01054 1.50E+06 0.0101 248 | -6.25 -0.7373 0.01022 1.50E+06 0.0099 249 | -6 -0.7094 0.00985 1.50E+06 0.0097 250 | -5.75 -0.6815 0.00946 1.50E+06 0.0094 251 | -5.5 -0.6535 0.00904 1.50E+06 0.0091 252 | -5.25 -0.6253 0.0086 1.50E+06 0.0088 253 | -5 -0.5969 0.00819 1.50E+06 0.0084 254 | -4.75 -0.5682 0.0078 1.50E+06 0.008 255 | -4.5 -0.5393 0.0074 1.50E+06 0.0076 256 | -4.25 -0.5102 0.00706 1.50E+06 0.0071 257 | -4 -0.4809 0.00675 1.50E+06 0.0067 258 | -3.75 -0.4513 0.00648 1.50E+06 0.0062 259 | -3.5 -0.4214 0.00629 1.50E+06 0.0058 260 | -3.25 -0.3914 0.00613 1.50E+06 0.0054 261 | -3 -0.3614 0.006 1.50E+06 0.0049 262 | -2.75 -0.3313 0.0059 1.50E+06 0.0045 263 | -2.5 -0.3011 0.00583 1.50E+06 0.0041 264 | -2.25 -0.2709 0.00577 1.50E+06 0.0037 265 | -2 -0.2406 0.0057 1.50E+06 0.0033 266 | -1.75 -0.2103 0.00568 1.50E+06 0.0029 267 | -1.5 -0.18 0.00567 1.50E+06 0.0025 268 | -1.25 -0.1497 0.00565 1.50E+06 0.0021 269 | -1 -0.1194 0.00562 1.50E+06 0.0017 270 | -0.75 -0.089 0.00563 1.50E+06 0.0014 271 | -0.5 -0.0587 0.0056 1.50E+06 0.0009 272 | -0.25 -0.0284 0.0056 1.50E+06 0.0005 273 | 0 0.0019 0.00561 1.50E+06 0.0001 274 | 0.25 0.0323 0.00561 1.50E+06 -0.0002 275 | 0.5 0.0626 0.0056 1.50E+06 -0.0006 276 | 0.75 0.093 0.00561 1.50E+06 -0.0011 277 | 1 0.1233 0.00563 1.50E+06 -0.0015 278 | 1.25 0.1536 0.00564 1.50E+06 -0.0018 279 | 1.5 0.1839 0.00568 1.50E+06 -0.0022 280 | 1.75 0.2142 0.00571 1.50E+06 -0.0027 281 | 2 0.2445 0.00571 1.50E+06 -0.003 282 | 2.25 0.2748 0.00577 1.50E+06 -0.0034 283 | 2.5 0.3051 0.00582 1.50E+06 -0.0038 284 | 2.75 0.3353 0.00589 1.50E+06 -0.0042 285 | 3 0.3655 0.00594 1.50E+06 -0.0046 286 | 3.25 0.3956 0.00605 1.50E+06 -0.0051 287 | 3.5 0.4255 0.00619 1.50E+06 -0.0055 288 | 3.75 0.4554 0.00637 1.50E+06 -0.0059 289 | 4 0.4851 0.0066 1.50E+06 -0.0064 290 | 4.25 0.5144 0.007 1.50E+06 -0.0069 291 | 4.5 0.5433 0.00739 1.50E+06 -0.0073 292 | 4.75 0.5724 0.00772 1.50E+06 -0.0078 293 | 5 0.6012 0.00807 1.50E+06 -0.0082 294 | 5.5 0.6584 0.0088 1.50E+06 -0.0089 295 | 5.75 0.6867 0.00919 1.50E+06 -0.0092 296 | 6 0.7151 0.00949 1.50E+06 -0.0095 297 | 6.25 0.7432 0.00983 1.50E+06 -0.0097 298 | 6.5 0.7712 0.01018 1.50E+06 -0.01 299 | 6.75 0.7993 0.01049 1.50E+06 -0.0102 300 | 7 0.827 0.01085 1.50E+06 -0.0104 301 | 7.25 0.8544 0.01123 1.50E+06 -0.0106 302 | 7.5 0.8816 0.01164 1.50E+06 -0.0107 303 | 7.75 0.9086 0.01201 1.50E+06 -0.0108 304 | 8 0.9356 0.01235 1.50E+06 -0.0109 305 | -10 -1.1536 0.01366 2.00E+06 0.0121 306 | -9.75 -1.1271 0.01336 2.00E+06 0.0121 307 | -9.5 -1.1009 0.01301 2.00E+06 0.0122 308 | -9.25 -1.0741 0.01272 2.00E+06 0.0121 309 | -9 -1.0469 0.01246 2.00E+06 0.012 310 | -8.75 -1.0199 0.01218 2.00E+06 0.012 311 | -8.5 -0.9925 0.01192 2.00E+06 0.0119 312 | -8.25 -0.9649 0.01164 2.00E+06 0.0118 313 | -8 -0.9373 0.01137 2.00E+06 0.0116 314 | -7.5 -0.8814 0.01087 2.00E+06 0.0113 315 | -7.25 -0.8531 0.01065 2.00E+06 0.0111 316 | -7 -0.825 0.01039 2.00E+06 0.0109 317 | -6.75 -0.7966 0.01018 2.00E+06 0.0107 318 | -6.5 -0.7681 0.00996 2.00E+06 0.0105 319 | -6.25 -0.7397 0.0097 2.00E+06 0.0103 320 | -6 -0.7112 0.00942 2.00E+06 0.01 321 | -5.75 -0.6828 0.0091 2.00E+06 0.0098 322 | -5.5 -0.6543 0.00877 2.00E+06 0.0095 323 | -5.25 -0.626 0.00839 2.00E+06 0.0091 324 | -5 -0.5973 0.00804 2.00E+06 0.0088 325 | -4.75 -0.5686 0.00765 2.00E+06 0.0084 326 | -4.5 -0.5396 0.00729 2.00E+06 0.008 327 | -4.25 -0.5105 0.00692 2.00E+06 0.0075 328 | -4 -0.4812 0.00658 2.00E+06 0.007 329 | -3.75 -0.4516 0.00628 2.00E+06 0.0066 330 | -3.5 -0.4218 0.00605 2.00E+06 0.0061 331 | -3.25 -0.3918 0.0059 2.00E+06 0.0056 332 | -3 -0.3618 0.0057 2.00E+06 0.0052 333 | -2.75 -0.3317 0.00554 2.00E+06 0.0047 334 | -2.5 -0.3015 0.00546 2.00E+06 0.0043 335 | -2.25 -0.2712 0.00538 2.00E+06 0.0039 336 | -2 -0.2409 0.0053 2.00E+06 0.0034 337 | -1.75 -0.2106 0.00527 2.00E+06 0.003 338 | -1.5 -0.1803 0.00522 2.00E+06 0.0026 339 | -1.25 -0.1499 0.00521 2.00E+06 0.0022 340 | -1 -0.1195 0.00522 2.00E+06 0.0018 341 | -0.75 -0.0892 0.00519 2.00E+06 0.0014 342 | -0.5 -0.0588 0.00517 2.00E+06 0.001 343 | -0.25 -0.0284 0.00517 2.00E+06 0.0006 344 | 0 0.0019 0.0052 2.00E+06 0.0002 345 | 0.25 0.0324 0.0052 2.00E+06 -0.0003 346 | 0.5 0.0627 0.00518 2.00E+06 -0.0007 347 | 0.75 0.0931 0.00518 2.00E+06 -0.0011 348 | 1 0.1234 0.00522 2.00E+06 -0.0015 349 | 1.25 0.1538 0.00524 2.00E+06 -0.0019 350 | 1.5 0.1842 0.00523 2.00E+06 -0.0023 351 | 1.75 0.2145 0.00527 2.00E+06 -0.0027 352 | 2 0.2448 0.00531 2.00E+06 -0.0031 353 | 2.5 0.3055 0.00542 2.00E+06 -0.004 354 | 2.75 0.3357 0.00549 2.00E+06 -0.0044 355 | 3 0.3659 0.00559 2.00E+06 -0.0048 356 | 3.25 0.3959 0.00579 2.00E+06 -0.0053 357 | 3.5 0.4259 0.00596 2.00E+06 -0.0058 358 | 3.75 0.4557 0.00619 2.00E+06 -0.0062 359 | 4 0.4853 0.00649 2.00E+06 -0.0067 360 | 4.25 0.5146 0.00688 2.00E+06 -0.0073 361 | 4.5 0.5438 0.00721 2.00E+06 -0.0077 362 | 4.75 0.5729 0.00753 2.00E+06 -0.0081 363 | 5 0.602 0.00785 2.00E+06 -0.0085 364 | 5.25 0.6308 0.00817 2.00E+06 -0.0089 365 | 5.5 0.6596 0.00847 2.00E+06 -0.0092 366 | 5.75 0.6882 0.00876 2.00E+06 -0.0096 367 | 6 0.7167 0.00908 2.00E+06 -0.0099 368 | 6.25 0.7452 0.00937 2.00E+06 -0.0101 369 | 6.5 0.7735 0.00966 2.00E+06 -0.0104 370 | 7 0.8296 0.01028 2.00E+06 -0.0108 371 | 7.25 0.8572 0.01064 2.00E+06 -0.011 372 | 7.5 0.8848 0.01097 2.00E+06 -0.0112 373 | 7.75 0.9125 0.01129 2.00E+06 -0.0113 374 | 8 0.9399 0.01161 2.00E+06 -0.0114 375 | 8.25 0.9672 0.01193 2.00E+06 -0.0115 376 | 8.5 0.9946 0.01224 2.00E+06 -0.0116 377 | 8.75 1.0216 0.01254 2.00E+06 -0.0117 378 | 9 1.0481 0.0129 2.00E+06 -0.0117 379 | 9.25 1.075 0.01318 2.00E+06 -0.0118 380 | 9.5 1.1017 0.01349 2.00E+06 -0.0118 381 | 9.75 1.1277 0.01385 2.00E+06 -0.0118 382 | 10 1.1529 0.0143 2.00E+06 -0.0117 383 | -10 -1.1616 0.01251 3.00E+06 0.013 384 | -9.75 -1.1349 0.01223 3.00E+06 0.0129 385 | -9.5 -1.108 0.01193 3.00E+06 0.0129 386 | -9.25 -1.0807 0.01168 3.00E+06 0.0128 387 | -9 -1.0534 0.0114 3.00E+06 0.0127 388 | -8.75 -1.0259 0.01113 3.00E+06 0.0126 389 | -8.5 -0.998 0.01091 3.00E+06 0.0125 390 | -8.25 -0.9703 0.01065 3.00E+06 0.0123 391 | -8 -0.9422 0.01044 3.00E+06 0.0122 392 | -7.75 -0.9139 0.01023 3.00E+06 0.012 393 | -7.5 -0.8857 0.01001 3.00E+06 0.0118 394 | -7 -0.8287 0.00959 3.00E+06 0.0114 395 | -6.75 -0.8001 0.0094 3.00E+06 0.0111 396 | -6.5 -0.7714 0.00919 3.00E+06 0.0109 397 | -6.25 -0.7426 0.00899 3.00E+06 0.0107 398 | -6 -0.7136 0.00881 3.00E+06 0.0104 399 | -5.75 -0.6847 0.00859 3.00E+06 0.0101 400 | -5.5 -0.6559 0.00836 3.00E+06 0.0098 401 | -5.25 -0.6269 0.00811 3.00E+06 0.0095 402 | -5 -0.598 0.0078 3.00E+06 0.0092 403 | -4.75 -0.569 0.00751 3.00E+06 0.0088 404 | -4.5 -0.5401 0.00713 3.00E+06 0.0084 405 | -4.25 -0.5108 0.00684 3.00E+06 0.0079 406 | -4 -0.4814 0.00649 3.00E+06 0.0075 407 | -3.75 -0.4518 0.00622 3.00E+06 0.007 408 | -3.5 -0.4221 0.00592 3.00E+06 0.0065 409 | -3.25 -0.3922 0.0057 3.00E+06 0.006 410 | -3 -0.3622 0.00548 3.00E+06 0.0055 411 | -2.75 -0.332 0.00533 3.00E+06 0.005 412 | -2.5 -0.3018 0.00519 3.00E+06 0.0045 413 | -2.25 -0.2715 0.00506 3.00E+06 0.0041 414 | -2 -0.2412 0.00495 3.00E+06 0.0036 415 | -1.75 -0.2109 0.00487 3.00E+06 0.0031 416 | -1.5 -0.1805 0.00481 3.00E+06 0.0027 417 | -1.25 -0.1501 0.00478 3.00E+06 0.0023 418 | -1 -0.1197 0.00475 3.00E+06 0.0018 419 | -0.75 -0.0893 0.00473 3.00E+06 0.0014 420 | -0.5 -0.0589 0.00476 3.00E+06 0.001 421 | -0.25 -0.0284 0.00473 3.00E+06 0.0006 422 | 0 0.002 0.00471 3.00E+06 0.0001 423 | 0.25 0.0324 0.00471 3.00E+06 -0.0003 424 | 0.5 0.0628 0.00475 3.00E+06 -0.0007 425 | 0.75 0.0932 0.00475 3.00E+06 -0.0011 426 | 1 0.1236 0.00475 3.00E+06 -0.0015 427 | 1.25 0.154 0.00479 3.00E+06 -0.002 428 | 1.5 0.1844 0.00481 3.00E+06 -0.0024 429 | 1.75 0.2148 0.00489 3.00E+06 -0.0028 430 | 2 0.2452 0.00492 3.00E+06 -0.0033 431 | 2.25 0.2755 0.00498 3.00E+06 -0.0037 432 | 2.5 0.3058 0.00509 3.00E+06 -0.0042 433 | 2.75 0.336 0.00523 3.00E+06 -0.0047 434 | 3 0.3662 0.00537 3.00E+06 -0.0051 435 | 3.25 0.3963 0.0056 3.00E+06 -0.0057 436 | 3.5 0.4262 0.00582 3.00E+06 -0.0062 437 | 3.75 0.4559 0.00614 3.00E+06 -0.0067 438 | 4 0.4854 0.00648 3.00E+06 -0.0072 439 | 4.25 0.515 0.00674 3.00E+06 -0.0076 440 | 4.5 0.5444 0.007 3.00E+06 -0.0081 441 | 4.75 0.5738 0.00725 3.00E+06 -0.0085 442 | 5 0.603 0.00751 3.00E+06 -0.0089 443 | 5.25 0.6321 0.00777 3.00E+06 -0.0092 444 | 5.5 0.6609 0.00807 3.00E+06 -0.0096 445 | 5.75 0.6897 0.00835 3.00E+06 -0.0099 446 | 6 0.7186 0.00857 3.00E+06 -0.0102 447 | 6.25 0.7475 0.0088 3.00E+06 -0.0105 448 | 6.5 0.7761 0.00905 3.00E+06 -0.0107 449 | 6.75 0.8043 0.00936 3.00E+06 -0.011 450 | 7 0.8323 0.00968 3.00E+06 -0.0112 451 | 7.25 0.8605 0.00994 3.00E+06 -0.0114 452 | 7.75 0.9167 0.01046 3.00E+06 -0.0118 453 | 8 0.9447 0.0107 3.00E+06 -0.0119 454 | 8.25 0.9725 0.01095 3.00E+06 -0.0121 455 | 8.5 1.0001 0.01123 3.00E+06 -0.0122 456 | 8.75 1.0279 0.01147 3.00E+06 -0.0123 457 | 9 1.0553 0.01174 3.00E+06 -0.0124 458 | 9.25 1.0823 0.01204 3.00E+06 -0.0125 459 | 9.5 1.1092 0.01235 3.00E+06 -0.0125 460 | 9.75 1.1363 0.0126 3.00E+06 -0.0126 461 | 10 1.163 0.01289 3.00E+06 -0.0126 462 | 10 1.1686 0.01216 4.00E+06 -0.0132 463 | 9.75 1.1418 0.01184 4.00E+06 -0.0132 464 | 9.5 1.1147 0.01157 4.00E+06 -0.0131 465 | 9.25 1.0873 0.01132 4.00E+06 -0.013 466 | 9 1.0596 0.0111 4.00E+06 -0.0129 467 | 8.75 1.032 0.01084 4.00E+06 -0.0128 468 | 8.5 1.0042 0.01059 4.00E+06 -0.0126 469 | 8.25 0.9762 0.01037 4.00E+06 -0.0125 470 | 8 0.9481 0.01015 4.00E+06 -0.0123 471 | 7.75 0.92 0.00991 4.00E+06 -0.0121 472 | 7.5 0.8916 0.00969 4.00E+06 -0.0119 473 | 7.25 0.8633 0.00946 4.00E+06 -0.0117 474 | 7 0.8348 0.00923 4.00E+06 -0.0115 475 | 6.75 0.8062 0.00902 4.00E+06 -0.0112 476 | 6.5 0.7778 0.00872 4.00E+06 -0.011 477 | 6.25 0.7493 0.00844 4.00E+06 -0.0107 478 | 6 0.7205 0.0082 4.00E+06 -0.0105 479 | 5.75 0.6915 0.00797 4.00E+06 -0.0102 480 | 5.5 0.6623 0.00777 4.00E+06 -0.0098 481 | 5.25 0.6331 0.00756 4.00E+06 -0.0095 482 | 5 0.604 0.00728 4.00E+06 -0.0091 483 | 4.75 0.5747 0.00706 4.00E+06 -0.0087 484 | 4.5 0.5452 0.00685 4.00E+06 -0.0084 485 | 4.25 0.5157 0.00661 4.00E+06 -0.0079 486 | 4 0.4861 0.00636 4.00E+06 -0.0075 487 | 3.75 0.4563 0.00617 4.00E+06 -0.007 488 | 3.5 0.4266 0.00585 4.00E+06 -0.0065 489 | 3.25 0.3966 0.00559 4.00E+06 -0.006 490 | 3 0.3666 0.00537 4.00E+06 -0.0055 491 | 2.75 0.3364 0.00514 4.00E+06 -0.0049 492 | 2.5 0.3061 0.00502 4.00E+06 -0.0044 493 | 2.25 0.2758 0.00487 4.00E+06 -0.0039 494 | 2 0.2455 0.00475 4.00E+06 -0.0034 495 | 1.75 0.2151 0.00468 4.00E+06 -0.003 496 | 1.5 0.1846 0.00463 4.00E+06 -0.0025 497 | 1.25 0.1542 0.00459 4.00E+06 -0.002 498 | 1 0.1238 0.00453 4.00E+06 -0.0016 499 | 0.75 0.0933 0.00451 4.00E+06 -0.0012 500 | 0.5 0.0629 0.00448 4.00E+06 -0.0007 501 | 0.25 0.0324 0.00448 4.00E+06 -0.0003 502 | 0 0.002 0.00449 4.00E+06 0.0001 503 | -0.25 -0.0285 0.00446 4.00E+06 0.0006 504 | -0.5 -0.0589 0.00448 4.00E+06 0.001 505 | -0.75 -0.0894 0.0045 4.00E+06 0.0014 506 | -1 -0.1198 0.00452 4.00E+06 0.0019 507 | -1.25 -0.1503 0.00457 4.00E+06 0.0023 508 | -1.5 -0.1807 0.00461 4.00E+06 0.0028 509 | -1.75 -0.2111 0.00468 4.00E+06 0.0032 510 | -2 -0.2415 0.0048 4.00E+06 0.0037 511 | -2.25 -0.2718 0.00498 4.00E+06 0.0042 512 | -2.5 -0.3022 0.00509 4.00E+06 0.0047 513 | -2.75 -0.3324 0.00525 4.00E+06 0.0053 514 | -3 -0.3625 0.00546 4.00E+06 0.0058 515 | -3.25 -0.3926 0.00568 4.00E+06 0.0063 516 | -3.5 -0.4225 0.00594 4.00E+06 0.0068 517 | -3.75 -0.4523 0.00618 4.00E+06 0.0073 518 | -4 -0.4819 0.00648 4.00E+06 0.0078 519 | -4.25 -0.5113 0.00678 4.00E+06 0.0082 520 | -4.5 -0.5406 0.00707 4.00E+06 0.0087 521 | -4.75 -0.5698 0.00735 4.00E+06 0.009 522 | -5 -0.5991 0.00757 4.00E+06 0.0094 523 | -5.25 -0.6283 0.00781 4.00E+06 0.0098 524 | -5.5 -0.6574 0.00801 4.00E+06 0.0101 525 | -5.75 -0.6866 0.00821 4.00E+06 0.0104 526 | -6 -0.7156 0.0084 4.00E+06 0.0106 527 | -6.25 -0.7447 0.00857 4.00E+06 0.0109 528 | -6.5 -0.7737 0.00875 4.00E+06 0.0112 529 | -6.75 -0.8026 0.00892 4.00E+06 0.0115 530 | -7 -0.8314 0.00911 4.00E+06 0.0117 531 | -7.25 -0.8601 0.00929 4.00E+06 0.012 532 | -7.5 -0.8886 0.00949 4.00E+06 0.0122 533 | -7.75 -0.9172 0.00967 4.00E+06 0.0124 534 | -8 -0.9454 0.0099 4.00E+06 0.0126 535 | -8.25 -0.9737 0.0101 4.00E+06 0.0127 536 | -8.5 -1.0018 0.01032 4.00E+06 0.0129 537 | -8.75 -1.0297 0.01056 4.00E+06 0.0131 538 | -9 -1.0576 0.01077 4.00E+06 0.0132 539 | -9.25 -1.0851 0.01103 4.00E+06 0.0133 540 | -9.5 -1.1126 0.01129 4.00E+06 0.0134 541 | -9.75 -1.1398 0.01155 4.00E+06 0.0135 542 | -10 -1.1665 0.01187 4.00E+06 0.0135 --------------------------------------------------------------------------------