*************************************************************************** AVL V2.5, dated 8-5-96 HHY This source has been updated to match the Xplot10-4.3 plot library. This version has a number of fixes over older versions, including: Bug fix on chord angles on tapered, twisted panels. Bug fix on hinge line vector to make both real and image hinge rotations in the same sense. The user can specify a CL or CM with "cl" or "cm" rather than 999. or -999 The Mach number is now a menu item (regenerates matrices for each new Mach) The getvm.f module now dumps the shear (Vz) and moment Myy for each panel. This version does not include any drag polar interpolation or the INDRAG drag calculation. See avl-polartrp for these... *************************************************************************** AVL 2.70, dated 2-24-97 HHY Massive rewrite of AVL: Completely new geometry plotting with many display options. Fixes to hidden line routines. Eliminated old lame loading plots Updated Trefftz plane plots Auto-image generation in main Option menu that generates an image half for cases with IYsym=1. Matrix solution completely revised to take full advantage of symmetry for 4x increase in speed for symmetric cases where the image side is generated with the auto-image option. Section viscous drag can now be included and summed into forces. A CD(CL) polar can be defined for each section based on 6 pairs of CL,CD points in the polar. Angular rates can be specified in either Stabilty axes or Body axes. Forces can be resolved in NASA Stability axes or Geometric Stability axes. Options are added to select the axes used for rates and forces. Comments starting with ! are recognized in the input deck to make datasets more self documenting. The ambiguity of what SREF refers to is resolved by making SREF refer to both sides of a symmetric configuration (IYsym=1) rather than half the total area as used in previous AVL versions. NOTE THAT YOU WILL HAVE TO DOUBLE THE SREF FOR OLDER DATASETS with IYSYM=1. *************************************************************************** AVL 2.76, dated 5-4-98 HHY Fixes and changes motivated by Ming Chang @ LMSW Added CMLE for strip to get hinge moments changes to output routines for printed data FS strip,FT total,FE element updated selection menu for surfaces fixed CDvisc linearization with dCDv/dCL term from CDCL routine *************************************************************************** AVL 2.77, dated 5-22-98 HHY Several problems were noted with winglets and the displayed surface forces in local reference coordinates. This prompted a bunch of changes and updates: Rehash of forces calculation in AERO started going to calculating body axes forces and then transforming to local systems using direction dot products (less confusing) added locally referenced surface CL,CD,CMLE new treatment for calculating local CL,CD for strips & surfaces Changed surface CMLE calculation fixed (properly) strip CN,CA to properly reflect X chordline (may want to add incidence to the axial direction eventually) strip CD(CL) fixed to use proper local CL rather than CL component in global system (affected winglets and dihedraled surfaces) New output routine to separate surface by surface forces listing from the total forces output. Added print flags for controling output print from these new options. Added option of displaying current hinge settings using ? input on command line when entering hinge data. Biggish changes to aplotccl.f to plot Trefftz data vs either Y or Z added user-specified plot limits fixed bug for -Y scale on plotting (axis was improperly shifted) Changed colors a bit in aplotvl.f to accentuate loadings better in plots. Note that there appears to be compiler bug using g77-0.5.21 on hidden.f, you might want to use f2c to compile this routine to avoid this bug (which appears as random line segments appearing in foreground surfaces from background lines. None of the other compilers appear to have this problem... *************************************************************************** AVL 2.78, dated 7-5-98 MD Fixed a bug in the stability-derivative calculation. Hinge angles can now be changed either directly as before, or indirectly by perturbing the control variables... delta_a delta_t delta_e delta_a delta_r delta_f which influence the hinge angles via the new "CONTROL" keyword declaration for a surface. See the avl.doc manual for details. Eliminated the SLOPE keyword capability, which has never been used as far as I can tell. Added control-deflection derivatives to the stability-derivative output, so that quantities like Cmde = d(Cm)/d(delta_e) are displayed. It is no longer necessary to generate these by manually perturbing each control surface and finite-differencing the forces. Added design variables, which currently represent virtual twists added to one or more sections. Sensitivities of CL, CD, etc to these design variables can be displayed. The intent is to give some guidance to span load optimization. Added hot-key rotation capability to the Geometry plot menu. *************************************************************************** AVL 2.81 7 June 03 MD Major revisions for new 2.8x series... Changed CONTROL definitions to be associated with sections. These modify the camberline via control variables defined entirely by the used. The built-in control variables delta_a, delta_e, etc., have been eliminated. The user specifies the name of each control variable. General trimming capability has been added, including the ability to drive control variables to achieve trim. Constraints are selected from a general sub-menu. Hinge stuff has been removed, since it's somewhat redundant with the new control stuff -- putting the control hingeline at 0% chord will rotate the whole surface just like the previous hinge feature. Design parameters are now input one per DESIGN declaration, and the user can specify the design parameter name. --------------------------------- AVL 2.82 (minor tweaks on 2.81) 13 Jun 03 MD Re-organized some of the menus. Fixed a few typos in the menus, the user manual, and the session.txt file. *************************************************************************** AVL 3.00 22 Sep 03 MD Very major revision for 3.0x series... Added finite core radius option to mostly eliminate hassles with alignment of trailing vortices with downstream surface paneling. Forces are computed not only on the bound vortex legs, but also on the parts of trailing legs which lie on the physical surface. This mainly affects the rolling moment due to sideslip. Added body modeling via source+doublet lines. These affect the vortex lattice circulations via their volume velocity fields. They also see direct forces and moments via slender-body theory. It's not yet clear how useful this modeling capability will be. Errors in the input file will now produce much better diagnostic messages than before. The offending line and line number are displayed. Added general operating state calculation interface. Variables consisting of alpha, beta, rotation rates, and control deflections can be either imposed explicitly, or computed implicitly via imposed force or moment coefficients. Trim states can thus be easily computed. Multiple operating run cases can be defined and saved to a file for later recall. This allows easy re-running of cases after a geometry modification, say. Geometry plot has been improved, with x,y,z space axes added. ------------------------------------------ AVL 3.01 10 Jan 04 MD Added a flight dynamics mode calculation and display module. This requires mass and inertia data, which is read from a file, or input manually. Using the mass file also provides other necessary dimensional data, such as the air density and the gravitational acceleration, and allows declaration of working units which can differ from those used to define the geometry and masses. ------------------------------------------ AVL 3.11 6 May 04 MD OPER now allows easy setup of trim states in level or banked horizontal flight (C1 sub-menu), or in planar looping flight (C2 sub-menu). Added multiple-case parameter input capability to the C1,C2 sub-menus in OPER, and the M sub-menu in MODE. Multiple cases are targeted by typing the parameter command twice (see manual). Additional parameters can be varied in root-locus sweeps, in particular the reference (CG) location, and the mass and inertias. Added camera pan/no-pan option to the eigenmode viewer in MODE. ------------------------------------------ AVL 3.13 21 May 04 MD Added the optional CLAF surface-section parameter, which allows changing the effective section dcl/da to something other than 2 pi to better represent thick airfoils. ------------------------------------------ AVL 3.15 8 Oct 04 HY, MD Changed subroutine name GETLOG to GETLGV to avoid intrinsic-function name conflict on some compilers. Changed subroutine name SECOND to TSECOND to avoid intrinsic-function name conflict on some compilers. Added commented-out code which calls SECNDS function rather than the current call to the CLOCKX subroutine (at bottom of aplotmd.f). The SECNDS function is used on some Fortran implementations. Fixed a minor bug in the a.i.c. Jacobian calculation (no perceivable effect on solution). Fixed some filename parsing problems at top level. ------------------------------------------ AVL 3.16 10 Mar 05 MD Fixed minor problem with handling of nonzero specified yaw moment (hardly used) Moved force evaluation points on bound vortices from the midpoints to the uniform/cosine/sine/ interpolation points. This makes the near-field and Trefftz-Plane drags nearly identical. The force evaluation points are now plotted along with the control points in the Geometry plot submenu in OPER. ------------------------------------------ AVL 3.18 22 Aug 05 MD Fixed a program-flow logic bug: When a new .avl file was LOADed, its velocity-influence coefficients used for force calculations were not being properly recalculated. Fixed bug in the design-variable implementation. Assigned values weren't being properly incorporated into the calculation. Added a CY (sideforce) constraint to the list of available constraints. This might be used to constraint beta in a knife-edge flight situation. Added note to avl_doc.txt on vortex spacing refinement and accuracy. Item 4) in "Vortex Lattice Spacing Distributions" section. ------------------------------------------ AVL 3.19 7 Sep 05 MD Fixed a minor bug in the Trefftz forces for y-symmetric cases. The Y-force CYTOT wasn't zeroed out like it should be. ------------------------------------------ AVL 3.20 24 Oct 05 MD Fixed error in printout of r'b/2V value. Its transformation to stability axes wasn't correct. There was no effect on the other displayed quantities. ------------------------------------------ AVL 3.21 25 Oct 05 MD Fixed error in printout of Cl,Cn moments for large alpha values. The transformation to stability axes wasn't correct. ------------------------------------------ AVL 3.22 12 Nov 05 MD Stability matrix outputs have been clarified. There is now a clear distinction between stability-axis and body-axis forces and moments. Previously, the ST command gave a mixed-axis stability derivate matrix. Made alpha,beta application order consistent with the standard sense (alpha, then beta). Added cl_norm output to strip force listing. This is the cl_norm that's plotted on the Trefftz-Plane plot. Added CINI command to allow clearing of run cases if necessary ------------------------------------------ AVL 3.23 30 Nov 05 MD Added non-existent airfoil file check to the input file parser. If a section airfoil file (after AFIL keyword) is not found, a default zero-camber airfoil will be used. ------------------------------------------ AVL 3.24 20 Dec 05 MD Added Pan and Expand hot keys to Keystroke Viewer in the Geometry plot function. ------------------------------------------ AVL 3.25 18 Mar 06 MD Set default printnames for run-case parameter units. Previously these were undefined. ------------------------------------------ AVL 3.26 29 Apr 06 MD Added freestream-referenced cl to Trefftz-Plane plot (in yellow), in addition to the wing-perpendicular referenced plot. Wing-perpendicular cl plot can now be turned off by toggle, like the downwash angle plot. Fixed hinge-moment calculation for leading-edge flaps. Fixed Hardcopy and Annotate functions in the keystroke viewer. 15 Sep 06 ------------------------------------------ AVL 3.27 23 May 08 MD The small green xyz axes in the perspective plots are now "3D". This makes is easier to see the orientation of the airplane. Fixed the CL_u,CM_u input in the parameter modify submenu (M command) Changed the cl(y) line plot from yellow to orange, for better contrast on white paper hardcopy. Removed the small influence of CLAF on the zero-lift angle. This wasn't quite right for symmetric airfoils. This will influence only the trimmed control positions, not the trimmed forces or stability derivatives. All printout commands (FN,FT,ST,etc) now have the option of printing to the screen, or to a file. Fixed the mode-movie stuff in MODE for single precision. This should now work properly with g77. Added the clock-wait toggle (W hot key) in the mode-movie menu. Made separate clock subroutine files second_g77.f and second_ifc.f One of these should work with most Fortran compilers. The appropriate one is selected as variable SECOND in the Makefile. ------------------------------------------ AVL 3.28 10 Jan 09 HHY/MD Added input keyword COMPONENT as equivalent to INDEX for grouping surfaces (mostly done to avoid problems with vortex core radius screwing up velocity influences). COMPONENT is more descriptive of this function. Plotting bug fixed for body geometry when loading plotting is enabled. Line thickness and color for bodies was not properly initialized. Forces for bodies (from sources/doublets on centerlines) are now saved for post-processing and printout. Added calculation of body length, surface area and volume to amake.f. These quantities are displayed with the FB printout command. New print command FB added for body forces, similar to FN surface forces, available from OPER menu. Fixed a subtle scaling error in the profile-drag contribution to the total drag force. Each chord strip's Cd had an extra c/c_ref factor which shouldn't have been there. This factor typically averages out to unity over the wing, so the influence will be very small in most cases. Psuedo-bug fixed for filenames (in AFILE or BFILE) that have embedded blanks (a bad practice but in Windows you may not have a choice!). New scheme uses double quotes around the "pathnamefilenamestring" to delimit filename. Old filename inputs without double quotes work as before. Updates made to avl_doc.txt and README. ------------------------------------------ AVL 3.30 20 Aug 10 MD Added the following optional keyword declarations for a SURFACE: NOWAKE NOALBE NOLOAD These allow modeling of a new wide variety of situations: - Fuselage without wake shedding (moments only, no net forces). - Formation flight effects on trim. - Formation flight effects on flight dynamics. - Ground effect over uneven ground. - Wind tunnel wall interference. Wing tunnel example case: d81t.avl Equivalent no-tunnel case: d81.avl Partial-shedding fuselage example using NOWAKE: b737.avl ------------------------------------------ AVL 3.31 5 Dec 10 MD - Fixed an almost imperceptible bug in the force calculation on a BODY. The X- and Y-force derivatives on a BODY were not summed correctly. This had no effect on a configuration without a BODY object. ------------------------------------------ AVL 3.32 15 Jan 11 MD - Fixed the post-processing calculation of the strip center of pressure, labeled "C.P.x/c", in the strip-force output (FS command in OPER). It was not correct for sections with significant sweep or dihedral. ------------------------------------------ AVL 3.33 21 Feb 13 MD - Fixed printout of length unit of X_cg,Y_cg,Z_cg in .run file. This did not affect the results, or any other output. ------------------------------------------ AVL 3.34 7 Jun 13 MD - Added capability do dump a multi-page PS file, to make an animated GIF ------------------------------------------ AVL 3.35 29 Nov 13 MD - Added second-order righthand sides to the VL system, proportional to both the unit translation+rotation velocities, and to control deflections. The general superposition for the h.v. strengths is then: Gam_i = Gam_ik Uk + U_k Gam_ikl delta_l (new) Previously only the U_1 (x-velocity) control-influence vector was present: Gam_i = Gam_ik Uk + Gam_il delta_l (old, second term assumes Uk = 1,0,0,0,0,0) This improves convergence to the trim condition. It also gives the correct eigenmode solutions even for large trim control deflections, because the new derivatives w.r.t. translations and rotations are: dGam_i/dU_k = Gam_ik + Gam_ikl delta_l (new) The previous form ignored the second term with trim control deflections: dGam_i/dU_k = Gam_ik (old) ------------------------------------------ AVL 3.36 21 May 14 HHY & MD - Bug (found by Francesco Meschia) which blows up in call to PLPARS if no file has been read on startup (how do we miss these things?). Fix added check for valid file read. - Increased size of character buffers for filenames for use on Windows with long pathnames (Benjamin Muyl). Also increased #surfaces to 100 and #strips to 500 - Increased the number of significant digits in printed CD values in aoutput.f - Added alternative CLCD specification for SURFACE (was required for each SECTION). See avl.doc for syntax. ------------------------------------------ AVL 3.39 7/14/21 HHY - Changed output for strips (FS option) to provide Xle,Yle,Zle for plotting - Fixed bug in controls labeling in stability outputs, RE # of digits in labels - Updated plotlib with fix to threading for Windows (win32.c plot interface) to cure bug with display thread race conditions ------------------------------------------ AVL 3.40 2/24/22 HHY & SRA - Added pressure coefficients based on sectional thickness distribution (via constant-strength sources placed on the thickness surface). Upper and lower Cp's at panel centroids are computed by adding the thickness-based Cp's and the vortex-lattice delta Cp's. These are output with the command 'CPOM' (short for CPOML) to the file "cpoml.dat". This file also includes the nodal grid coordinates for the upper and lower surfaces; this should be an accurate representation of the OML surface. - Added option for full-precision machine-readable ASCII format for all output files. This can be invoked by the command MRF (machine-readable format), which will cause all subsequent output files to be written in this format. - Stand-alone readers, written in C, have been added for all the machine-readable format files. These are in the subdirectory mrf/. - Modifications for double precision builds, added double precision lapack interface routine, mods to Makefiles. - Switched to LAPACK as the default for LU factorization/solve for both single and double precision.