### SUAVE: Basic Installation using Git and Python Source: https://github.com/suavecode/suave/blob/develop/README.md This snippet provides the command-line steps to perform a basic installation of the SUAVE project. It involves cloning the repository from GitHub and then running the Python setup script to install the necessary components. ```bash git clone https://github.com/suavecode/SUAVE.git cd SUAVE/trunk python setup.py install ``` -------------------------------- ### Create and Checkout Local Tracking Branch Source: https://github.com/suavecode/suave/blob/develop/doc/git_branching.txt Creates a new local branch and immediately switches to it, setting it up to track a specified remote branch. This command is used to bring a remote branch (like one created on GitHub) into your local environment for development. ```Bash git checkout -b branch_name remotes/origin/branch_name ``` -------------------------------- ### SUAVE: BibTeX Citation for Software Repository Source: https://github.com/suavecode/suave/blob/develop/README.md This BibTeX entry allows users to properly cite the SUAVE software repository in academic or research papers. It includes details such as the authors, project title, URL, version, and publication year. ```bibtex @software{SUAVEGit, author = { Wendorff, A. and Variyar, A. and Ilario, C. and Botero, E. and Capristan, F. and Smart, J. and Alonso, J. and Kulik, L. and Clarke, M. and Colonno, M. and Kruger, M. and Vegh, J. M. and Goncalves, P. and Erhard, R. and Fenrich, R. and Orra, T. and St. Francis, T. and MacDonald, T. and Momose, T. and Economon, T. and Lukaczyk, T. and Maier, W. }, title = {SUAVE: An Aerospace Vehicle Environment for Designing Future Aircraft}, url = {https://github.com/suavecode/SUAVE}, version = {2.1}, year = {2020}, } ``` -------------------------------- ### List All Git Branches (Local and Remote) Source: https://github.com/suavecode/suave/blob/develop/doc/git_branching.txt Displays a comprehensive list of all branches in your repository, including both local branches and remote-tracking branches. This helps in understanding the full branching structure available. ```Bash git branch -a ``` -------------------------------- ### Vortex Lattice Method Total Aerodynamic Forces and Configuration Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/body_axis_derivatives_case_0003_0006.txt Displays the overall aerodynamic force and moment coefficients (CXtot, CYtot, CZtot, Cltot, Cmtot, Cntot, CLtot, CDtot) for a specific aircraft configuration and run case, along with reference dimensions and control surface settings. ```Plain Text --------------------------------------------------------------- Vortex Lattice Output -- Total Forces Configuration: cruise # Surfaces = 7 # Strips = 170 # Vortices =1700 Sref = 124.86 Cref = 4.4875 Bref = 34.320 Xref = 15.310 Yref = 0.0000 Zref =-0.48024 Standard axis orientation, X fwd, Z down Run case: case_0003_0006 Alpha = 10.00000 pb/2V = 0.00000 p'b/2V = 0.00000 Beta = 0.00000 qc/2V = 0.00000 Mach = 0.250 rb/2V = 0.00000 r'b/2V = 0.00000 CXtot = 0.14605 Cltot = -0.00000 Cl'tot = -0.00000 CYtot = -0.00000 Cmtot = -1.36512 CZtot = -1.14938 Cntot = -0.00000 Cn'tot = -0.00000 CLtot = 1.15728 CDtot = 0.05576 CDvis = 0.00000 CDind = 0.05576 CLff = 1.16201 CDff = 0.05308 | Trefftz CYff = 0.00000 e = 0.8583 | Plane slat = 0.00000 flap = 0.00000 aileron = 0.00000 elevator = 0.00000 --------------------------------------------------------------- ``` -------------------------------- ### VLM Simulation Total Aerodynamic Forces and Moments Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/body_axis_derivatives_case_0004_0006.txt This section provides the overall configuration parameters, flight conditions, and integrated total force and moment coefficients (CXtot, CYtot, CZtot, Cltot, Cmtot, Cntot, CLtot, CDtot) from the Vortex Lattice Method simulation. It also includes Trefftz plane results and control surface settings. ```APIDOC Vortex Lattice Output -- Total Forces Configuration: cruise # Surfaces = 7 # Strips = 170 # Vortices =1700 Sref = 124.86 Cref = 4.4875 Bref = 34.320 Xref = 15.310 Yref = 0.0000 Zref =-0.48024 Standard axis orientation, X fwd, Z down Run case: case_0004_0006 Alpha = 10.00000 pb/2V = 0.00000 p'b/2V = 0.00000 Beta = 0.00000 qc/2V = 0.00000 Mach = 0.450 rb/2V = 0.00000 r'b/2V = 0.00000 CXtot = 0.15113 Cltot = -0.00000 Cl'tot = -0.00000 CYtot = -0.00000 Cmtot = -1.43241 CZtot = -1.20654 Cntot = -0.00000 Cn'tot = -0.00000 CLtot = 1.21446 CDtot = 0.06068 CDvis = 0.00000 CDind = 0.06068 CLff = 1.22021 CDff = 0.05771 | Trefftz CYff = -0.00000 e = 0.8706 | Plane slat = 0.00000 flap = 0.00000 aileron = 0.00000 elevator = 0.00000 ``` -------------------------------- ### Vortex Lattice Method Total Forces and Moments Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/stability_axis_derivatives_case_0005_0002.txt This section provides the overall aerodynamic force and moment coefficients (CXtot, CYtot, CZtot, Cltot, Cmtot, Cntot, CLtot, CDtot) for a given aircraft configuration and flight condition (Mach, Alpha, Beta). It also includes reference dimensions and control surface deflections. ```Simulation Output Configuration: cruise # Surfaces = 7 # Strips = 170 # Vortices =1700 Sref = 124.86 Cref = 4.4875 Bref = 34.320 Xref = 15.310 Yref = 0.0000 Zref =-0.48024 Standard axis orientation, X fwd, Z down Run case: case_0005_0002 Alpha = 0.00000 pb/2V = 0.00000 p'b/2V = 0.00000 Beta = 0.00000 qc/2V = 0.00000 Mach = 0.650 rb/2V = 0.00000 r'b/2V = 0.00000 CXtot = -0.00272 Cltot = -0.00000 Cl'tot = -0.00000 CYtot = -0.00000 Cmtot = -0.03389 CZtot = -0.18634 Cntot = -0.00000 Cn'tot = -0.00000 CLtot = 0.18634 CDtot = 0.00272 CDvis = 0.00000 CDind = 0.00272 CLff = 0.18617 CDff = 0.00195 | Trefftz CYff = 0.00000 e = 0.6000 | Plane slat = 0.00000 flap = 0.00000 aileron = 0.00000 elevator = 0.00000 ``` -------------------------------- ### Vortex Lattice Method Total Forces and Coefficients Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/stability_axis_derivatives_case_0006_0004.txt This section provides the overall aerodynamic forces and moments, including total coefficients (CXtot, CYtot, CZtot, CLtot, CDtot, Cmtot, Cntot), for a specific cruise configuration. It also lists reference dimensions, flight conditions (Alpha, Beta, Mach), and control surface deflections. ```Simulation Output Vortex Lattice Output -- Total Forces Configuration: cruise # Surfaces = 7 # Strips = 170 # Vortices =1700 Sref = 124.86 Cref = 4.4875 Bref = 34.320 Xref = 15.310 Yref = 0.0000 Zref =-0.48024 Standard axis orientation, X fwd, Z down Run case: case_0006_0004 Alpha = 5.00000 pb/2V = 0.00000 p'b/2V = 0.00000 Beta = 0.00000 qc/2V = 0.00000 Mach = 0.850 rb/2V = 0.00000 r'b/2V = 0.00000 CXtot = 0.04528 Cltot = -0.00000 Cl'tot = -0.00000 CYtot = -0.00000 Cmtot = -0.96010 CZtot = -0.91659 Cntot = -0.00000 Cn'tot = -0.00000 CLtot = 0.91705 CDtot = 0.03478 CDvis = 0.00000 CDind = 0.03478 CLff = 0.91631 CDff = 0.03054 | Trefftz CYff = -0.00000 e = 0.9278 | Plane slat = 0.00000 flap = 0.00000 aileron = 0.00000 elevator = 0.00000 ``` -------------------------------- ### SUAVE Segment Evaluation Detailed Flow Source: https://github.com/suavecode/suave/blob/develop/doc/segments/segment_solver_outline.txt Provides a step-by-step breakdown of the `evaluate_segment()` function. This includes unpacking data, initializing differentials and conditions, solving residuals using a root-finding method, and post-processing the segment results. ```APIDOC SUAVE.Methods.Performance.evaluate_segment(): # unpack unknowns, residuals, conditions, numerics # works on a segment, see SUAVE.Analyses.Mission.Segments.Segment() # initialize arrays in unknowns, residuals, conditions segment.initialize_differentials() # arrays are defaulted to one-row 2D-arrays # this step expands them out to the segment's number of time points # initialize segment conditions segment.initalize_conditions() # this is likely the first function defined for a new segment # does all the pre-processing needed to run the segment # iterate and converge the segment residuals x_sol = root( segment_residuals() ) # post process segments segment.post_process() # does all the post-processing after a segment is run # this function fills in all the conditions that weren't needed # during the segment solve ``` -------------------------------- ### Aerodynamic Strip Forces for Main Wing (Surface 2 YDUP) Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/strip_forces_case_0003_0003.txt This table provides the header for the detailed aerodynamic and geometric data for individual spanwise strips of the second main wing surface (YDUP). It would include parameters similar to Surface 1's strip data. ```APIDOC Strip Forces referred to Strip Area, Chord j Yle Chord Area c cl ai cl_norm cl cd cdv cm_c/4 cm_LE C.P.x/c ``` -------------------------------- ### Switch Between Git Branches Source: https://github.com/suavecode/suave/blob/develop/doc/git_branching.txt Switches the current working branch to the specified branch. This allows developers to easily navigate between different lines of development or features. ```Bash git checkout master ``` ```Bash git checkout branch_name ``` -------------------------------- ### Aerodynamic Surface Forces for Main Wing (Surface 1) Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/strip_forces_case_0003_0003.txt This section provides a summary of the overall aerodynamic force coefficients and geometric properties for the first main wing surface. Forces are referenced to Sref, Cref, Bref, and also to Ssurf, Cave about the hinge axis. ```APIDOC Surface # 1 main_wing # Chordwise = 10 # Spanwise = 30 First strip = 1 Surface area = 63.968842 Ave. chord = 3.715026 CLsurf = 0.17866 Clsurf = -0.03268 CYsurf = -0.01185 Cmsurf = -0.14483 CDsurf = 0.00320 Cnsurf = 0.00019 CDisurf = 0.00320 CDvsurf = 0.00000 Forces referred to Ssurf, Cave about hinge axis thru LE CLsurf = 0.34949 CDsurf = 0.00624 Deflect = ``` -------------------------------- ### Vortex Lattice Simulation Total Forces and Moments Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/body_axis_derivatives_case_0001_0006.txt This section presents the overall aerodynamic force and moment coefficients calculated by the Vortex Lattice Method for a specific flight configuration. It includes reference values, flight conditions (Alpha, Mach), and total force/moment coefficients (CXtot, CLtot, CDtot), along with control surface deflections. ```Plain Text Vortex Lattice Output -- Total Forces Configuration: cruise # Surfaces = 7 # Strips = 170 # Vortices =1700 Sref = 124.86 Cref = 4.4875 Bref = 34.320 Xref = 15.310 Yref = 0.0000 Zref =-0.48024 Standard axis orientation, X fwd, Z down Run case: case_0001_0006 Alpha = 10.00000 pb/2V = 0.00000 p'b/2V = 0.00000 Beta = 0.00000 qc/2V = 0.00000 Mach = 0.050 rb/2V = 0.00000 r'b/2V = 0.00000 CXtot = 0.14419 Cltot = -0.00000 Cl'tot = -0.00000 CYtot = 0.00000 Cmtot = -1.33931 CZtot = -1.12725 Cntot = -0.00000 Cn'tot = 0.00000 CLtot = 1.13516 CDtot = 0.05374 CDvis = 0.00000 CDind = 0.05374 CLff = 1.13988 CDff = 0.05137 | Trefftz CYff = -0.00000 e = 0.8534 | Plane slat = 0.00000 flap = 0.00000 aileron = 0.00000 elevator = 0.00000 --------------------------------------------------------------- ``` -------------------------------- ### Define Spectroscopy Context Conversions Source: https://github.com/suavecode/suave/blob/develop/trunk/SUAVE/Plugins/pint/default_en.txt This snippet defines conversion rules within the 'spectroscopy' context. It includes conversions between length and frequency based on the speed of light and refractive index, and between frequency and energy using Planck's constant. The 'n' parameter represents the index of refraction of the medium. ```Suave Context Definition @context(n=1) spectroscopy = sp # n index of refraction of the medium. [length] <-> [frequency]: speed_of_light / n / value [frequency] -> [energy]: planck_constant * value [energy] -> [frequency]: value / planck_constant @end ``` -------------------------------- ### Main Wing Surface 1 Aerodynamic Coefficients and Strip Data Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/strip_forces_case_0002_0004.txt This section details the overall aerodynamic coefficients (CLsurf, CDsurf, CYsurf, Cmsurf, Cnsurf, CDisurf, CDvsurf) for Surface #1 (main_wing), along with a comprehensive table of strip-wise aerodynamic and geometric data. The strip data includes spanwise location (Yle), chord, area, various lift and drag coefficients (cl_norm, cl, cd), moment coefficients (cm_c/4, cm_LE), and center of pressure (C.P.x/c). ```Report Surface # 1 main_wing # Chordwise = 10 # Spanwise = 30 First strip = 1 Surface area = 63.968842 Ave. chord = 3.715026 CLsurf = 0.29823 Clsurf = -0.05727 CYsurf = -0.01766 Cmsurf = -0.24944 CDsurf = 0.00794 Cnsurf = -0.00311 CDisurf = 0.00794 CDvsurf = 0.00000 Forces referred to Ssurf, Cave about hinge axis thru LE CLsurf = 0.58310 CDsurf = 0.01550 Deflect = Strip Forces referred to Strip Area, Chord j Yle Chord Area c cl ai cl_norm cl cd cdv cm_c/4 cm_LE C.P.x/c 1 0.0114 7.7520 0.3539 3.9290 0.1377 0.6128 0.4744 0.3923 0.0000 -0.0271 -0.1260 0.307 2 0.1025 7.6885 1.0491 3.6629 0.1373 0.6088 0.4713 0.0795 0.0000 -0.0271 -0.1198 0.307 3 0.2837 7.5620 1.7073 3.6386 0.1361 0.6171 0.4778 0.0598 0.0000 -0.0252 -0.1193 0.303 4 0.5530 7.3741 2.3052 3.6195 0.1335 0.6306 0.4882 0.0516 0.0000 -0.0223 -0.1190 0.296 5 0.9075 7.1267 2.8223 3.5889 0.1284 0.6476 0.5014 0.0471 0.0000 -0.0193 -0.1191 0.288 6 1.3432 6.8226 3.2414 3.5364 0.1186 0.6675 0.5167 0.0410 0.0000 -0.0165 -0.1199 0.282 7 1.8554 6.4651 3.5491 3.4556 0.1009 0.6894 0.5337 0.0320 0.0000 -0.0144 -0.1215 0.277 8 2.4386 6.0582 3.7368 3.3433 0.0827 0.7124 0.5515 0.0282 0.0000 -0.0131 -0.1240 0.274 9 3.0862 5.6062 3.8005 3.2003 0.0705 0.7378 0.5712 0.0211 0.0000 -0.0126 -0.1274 0.272 10 3.7613 5.1351 3.4440 3.0148 0.0591 0.7595 0.5879 0.0161 0.0000 -0.0133 -0.1314 0.273 11 4.4532 4.6522 3.3149 2.8519 0.0464 0.7940 0.6146 0.0085 0.0000 -0.0127 -0.1362 0.271 12 5.1831 4.1429 3.0930 2.6457 0.0277 0.8281 0.6411 0.0000 0.0000 -0.0127 -0.1415 0.270 13 6.0123 3.7903 3.4706 2.4488 0.0155 0.7951 0.6488 -0.0037 0.0000 -0.0102 -0.1544 0.266 14 6.9353 3.6075 3.3775 2.2944 0.0151 0.7826 0.6386 -0.0025 0.0000 -0.0108 -0.1527 0.267 15 7.8737 3.4215 3.2389 2.1567 0.0130 0.7757 0.6329 -0.0023 0.0000 -0.0115 -0.1521 0.268 16 8.8172 3.2345 3.0619 2.0281 0.0115 0.7716 0.6296 -0.0025 0.0000 -0.0125 -0.1521 0.270 17 9.7556 3.0486 2.8543 1.9044 0.0111 0.7687 0.6273 -0.0028 0.0000 -0.0135 -0.1526 0.272 18 10.6786 2.8657 2.6239 1.7853 0.0115 0.7667 0.6256 -0.0031 0.0000 -0.0148 -0.1533 0.274 19 11.5760 2.6879 2.3787 1.6701 0.0124 0.7647 0.6240 -0.0035 0.0000 -0.0160 -0.1540 0.276 20 12.4328 2.5181 2.1010 1.5602 0.0144 0.7626 0.6223 -0.0036 0.0000 -0.0165 -0.1540 0.277 21 13.2400 2.3582 1.8520 1.4543 0.0176 0.7590 0.6193 -0.0033 0.0000 -0.0162 -0.1531 0.276 22 13.9941 2.2087 1.6074 1.3487 0.0221 0.7515 0.6132 -0.0031 0.0000 -0.0154 -0.1510 0.275 23 14.6868 2.0715 1.3716 1.2398 0.0280 0.7365 0.6010 -0.0027 0.0000 -0.0139 -0.1470 0.273 24 15.3105 1.9479 1.1479 1.1225 0.0356 0.7091 0.5787 -0.0021 0.0000 -0.0115 -0.1399 0.270 25 15.8583 1.8393 0.9381 0.9901 0.0442 0.6623 0.5404 -0.0009 0.0000 -0.0089 -0.1290 0.266 26 16.3244 1.7470 0.7427 0.8363 0.0530 0.5886 0.4803 0.0028 0.0000 -0.0096 -0.1162 0.270 27 16.6722 1.4928 0.4131 0.6675 0.0614 1.5133 0.4499 -0.0115 0.0000 -0.0103 -0.0595 0.273 28 16.9098 1.1466 0.2292 0.4945 0.0726 1.4645 0.4354 -0.0277 0.0000 0.0074 -0.0495 0.233 29 17.0696 0.9138 0.1104 0.3054 0.0815 1.1404 0.3390 -0.0397 0.0000 0.0246 -0.0297 0.177 30 1 ``` -------------------------------- ### SUAVE.Methods.Performance.evaluate_segment.segment_residuals Method Overview Source: https://github.com/suavecode/suave/blob/develop/doc/segments/segment_solver_outline.txt Documents the internal process of the `segment_residuals` method, which iteratively converges residuals to zero. It details the unpacking of variables, updating of differentials and conditions, and the final solving of residuals to form a root-finding problem. ```APIDOC SUAVE.Methods.Performance.evaluate_segment.segment_residuals(): # this function is called iteratively to converges residuals to zero # unpack unknowns, residuals, conditions, numerics # update differentials segment.update_differentials() # likely needed if the final time of the segment is changing # update conditions segment.update_conditions() # another important function for new segments # applies unknowns to the conditions # does the work to update conditions as a result # solve residuals segment.solve_residuals() # pulls conditions and processes them to solve for residuals # after this method, residuals composed into a final residual vector -- # R = [ [ d(unknowns.states)/dt - residuals.states ] ; # [ residuals.controls ] ; # [ residuals.finals ] ] = [0] , # where the segment solver will find a root of R = [0] ``` -------------------------------- ### Vortex Lattice Method Total Forces and Configuration Source: https://github.com/suavecode/suave/blob/develop/regression/scripts/AVL/avl_files/stability_axis_derivatives_case_0004_0006.txt This section details the overall configuration parameters and the total aerodynamic forces and moments calculated by the Vortex Lattice Method (VLM) simulation for a specific flight condition. It includes reference dimensions, flight state, and resulting force/moment coefficients. ```Aerodynamic Simulation Output Vortex Lattice Output -- Total Forces Configuration: cruise # Surfaces = 7 # Strips = 170 # Vortices =1700 Sref = 124.86 Cref = 4.4875 Bref = 34.320 Xref = 15.310 Yref = 0.0000 Zref =-0.48024 Standard axis orientation, X fwd, Z down Run case: case_0004_0006 Alpha = 10.00000 pb/2V = 0.00000 p'b/2V = 0.00000 Beta = 0.00000 qc/2V = 0.00000 Mach = 0.450 rb/2V = 0.00000 r'b/2V = 0.00000 CXtot = 0.15113 Cltot = -0.00000 Cl'tot = -0.00000 CYtot = -0.00000 Cmtot = -1.43241 CZtot = -1.20654 Cntot = -0.00000 Cn'tot = -0.00000 CLtot = 1.21446 CDtot = 0.06068 CDvis = 0.00000 CDind = 0.06068 CLff = 1.22021 CDff = 0.05771 | Trefftz CYff = -0.00000 e = 0.8706 | Plane slat = 0.00000 flap = 0.00000 aileron = 0.00000 elevator = 0.00000 ``` -------------------------------- ### List Local Git Branches Source: https://github.com/suavecode/suave/blob/develop/doc/git_branching.txt Shows a list of all local branches in your repository. The currently active branch is typically highlighted, indicating which branch you are currently working on. ```Bash git branch ``` -------------------------------- ### SUAVE: BibTeX Citation for AIAA/ISSMO Conference Paper Source: https://github.com/suavecode/suave/blob/develop/README.md This BibTeX entry provides the citation details for the primary academic publication that describes the general capabilities of SUAVE. It is a paper presented at the 18th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference, including authors, title, booktitle, DOI, and URL. ```bibtex @inbook{SUAVE2017, author = {Timothy MacDonald and Matthew Clarke and Emilio M. Botero and Julius M. Vegh and Juan J. Alonso}, title = {SUAVE: An Open-Source Environment Enabling Multi-Fidelity Vehicle Optimization}, booktitle = {18th AIAA/ISSMO Multidisciplinary Analysis and Optimization Conference}, chapter = {}, pages = {}, doi = {10.2514/6.2017-4437}, URL = {https://arc.aiaa.org/doi/abs/10.2514/6.2017-4437}, eprint = {https://arc.aiaa.org/doi/pdf/10.2514/6.2017-4437} } ```