------------------- JVL 1.05, 3 Jul 07 Protoype code ------------------- JVL 1.06, 7 Feb 18 Updated eigenmode plotting to match latest AVL version ------------------- JVL 2.00, 26 Jun 20 Major code revision: Added NOALBE,NOLOAD,NOWAKE keywords to allow modeling tunnel walls and other non-shedding surfaces, like in AVL 3.36 Jet control properties (JETCONTROL keyword) are now defined at sections rather than surfaces. Hence, a jet can now extend over only a part of a SURFACE, like a control surface defined by CONTROL. The following keywords can now be placed before the first SECTION of a SURFACE, which makes their data the defaults for all SECTIONs. This eliminates the need to copy this same data for all SECTIONs, thus simplifying the case setup and shrinking the input file. NACA AIRFOIL AFILE CLAF CDCL JETPARAM But note that moving these outside individual SECTIONs will make the file unreadable by AVL, even if the JETPARAM and JETCONTROL stuff is commented out. Jet control variables are now the jet velocity excess DVjet. This can be superimposed, so that spanwise-antisymmetric differential blowing can be superimposed on symmetric blowing to model powered yaw and/or roll control. Added constraints on the jet control variables, like total Delta J, propulsor mass flow, thrust, power. Can also drive differential blowing to a specified yaw or roll moment or yaw or roll rates. Reformulated solution procedure into a full Newton method. This also gives the correct stability, control, and design derivatives regardless of the "severity" of the trim state. Expanded the theory document. Created jvl_doc.txt user guide. ------------------- JVL 2.02, 14 Sep 20 Bug fix: The jet on a reflected surface was not being assigned an asymmetric jet control gain. OK now. ------------------- JVL 2.10, 18 Feb 21 Improved jet modeling treatment: - Jet sheet now also runs from actuator disk to LE, in addition to the existing sheet trailing from TE - Jet force is now computed via the added load of the jet flowing along the curved surface. The propulsor thrust is also added at the disk center. This replaces the previous method of overall jet force calculation via the jet momentum flux leaving the TE. The new treatment more accurately computes the moments produced by the jet. Body force and moment calculation has been improved by the inclusion of loads due to streamline curvature at the body, which for example might be created by an adjacent wing. Expanded the theory document describing the above new features. Also added a section on the flight-dynamic equation linearization procedures and eigenmode calculation performed in MODE. ------------------- JVL 2.11, 2 Mar 21 Extended the eigenmode formulation to include force and moment dependence on dU/dt and dOmega/dt. But only a subset of these can be used in the code implementation, specifically those defined by added alpha-dot derivatives. Also included other added derivatives. The available ones now are: CL_a CL_u CL_alphadot CD_a CD_u CD_alphadot CM_a CM_u CM_alphadot Added the ability to specify onboard angular momentum in the M menu, which will produce coupling between the longitudinal and lateral dynamics. Expanded the flight dynamics section in the theory document to cover all this. ------------------- JVL 2.12, 21 Mar 21 Recast the JVL formulation to make the distinction between Vinf and Vref. Vinf is the freestream, and Vref is used for normalization of all quantities. For the usual steady or quasi-steady analysis in OPER, the two are the same. However, Vinf is allowed to depart from Vref in the definition of body-axis stability derivatives with respect to u,v,w. For eigenmode analyses, Vref is the trim speed |V0| = sqrt(u0^2 + v0^2 + w0^2), while Vinf is the perturbed speed |V| = sqrt(u^2 + v^2 + w^2) which can change in the definition of e.g. Cxu, Cmu, etc. This was already done in earlier versions, but the distinction between Vref and Vinf was not explicit and not documented. Also, the distinction will cause some jet-related loads to have a somewhat different response to aircraft speed changes, also related to the new parameter ajet (see below). DVjet now has a scale factor of Vinf^ajet, which allows modeling of speed-dependent blowing intensity and thrust via the specified exponent ajet. Isolated the computation of the body-axis derivatives in subroutine gcoeffs. This could be modified to accept stability derivatives from an outside source to override the JVL's derivatives that it normally returns. This can then be used to combine JVL and external-source derivatives in MODE's eigenmode analysis. Further refined the body model to include the effects on a body from other bodies, although this will not be signficant in most cases. Added FB,FL menu items in OPER to output body total forces and body-element strengths and loadings. Updated the flight dynamics section in the theory document to cover all this. -------------------- JVL 2.12b, 9 Apr 21 Switched most of the output text listing formats from F to G, to ensure sufficient significant figures for any quantity magnitude. -------------------- JVL 2.12c, 15 Apr 21 Fixed a few printout format problems. -------------------- JVL 2.12d, 21 Apr 21 Fixed more printout format problems. Added the ability to specify XYZmom in the RE menu in OPER. This is a moment-reference location which can be different from XYZref, to allow obtaining hinge-force and hinge-moment derivatives for a surface. XYZmom is used _only_ in the printout routines to shift all the moments, and _not_ in any of the calculations. XYZmom is also reset back to XYZref when any calculation is performed, to reduce the risk of unintended moment shifts on output. -------------------- JVL 2.14, 21 Feb 22 Fixed handling of profile drag polar data via CDCL keyword Added the ability to model combined aero/hydro surfaces, e.g. hydrofoil sailboat: - Each surface can have associated with it a local/reference density ratio, input via the optional keyword DENSITY. If absent this defauts to 1.0 The density ratio is used to scale all the forces of that surface, consisting of: inviscid forces (vorticity) viscous forces (profile cd) jet force (momentum excess * curvature) - The waterplane as seen by the aero surfaces is modeled with IZSYM=1, z_water=ZSYM, same as the usual ground effect. However, vortices on opposite sides of the z=ZSYM plane to not "see" eath other. Specifically, vorticity in the air does not contribute of water velocities, and vice versa. - The sign of an image across the z=ZSYM plane can be set individually for each SURFACE via the new ZIMAGE keyword, which requires an integer. -1, 0, +1. This overrides the global IZSYM value only for that surface, and is interpreted the same way, i.e. -1 = image, to model a constant-pressure water plane or free jet surface 0 = no image +1 = anti-image, to model a solid water plane or ground plane surface The -1 case is the correct model for a free surface at very large Froude number. So a hydrofoil SURFACE located at z < ZSYM (underwater) would have DENSITY 816.0 ZIMAGE -1 -------------------- JVL 2.15, 22 Mar 23 Fixed handling of bodies to correctly handle YDUP images (was missing one of the body parameters when duplicated), in subroutine jbdforc.f. Changed handling of vortex core radius to separate core scaling based on chord and based on strip width. The core radius scaling for a "fuselage" modeled as a vortex SURFACE was badly smearing velocities. Now two parameters for vortex core scaling are used, VRCOREC for the chord scaling factor, and VRCOREW for the core radius based on strip width. The core radius SRCORE, used for body source/doublet velocities was changed from a scaling on body radius to a local scale factor based on the length of each source segment. Affected source jvl.f, jaic.f, jexec.f Added optional read of core radius factors to input file with CORE keyword. Sample input with core parameters: CORE 0.0 2.0 2.0 VRCOREC VRCOREW SRCORE The matrix solution calls to LAPACK routines in jexec.f were changed to call high speed LAPACK/BLAS solvers through intermediate routines LUDCMP and BAKSUB. This allows external LAPACK solver libraries to be used with their native calls for single or double precision. The matrix intermediaries are in matrix-lapacksp.f for single precision and matrix-lapackdp.f for double precision. The Makefile should reflect the suitable choice for the precision. Added check for body YDUP with 0.0 offset and no Y translation as this would duplicate the body onto itself. Changed large AIC arrays for aicn,vc_gam,vv_gam from COMMON to allocated (heap) storage. This is done with an f90 module (jvl_inc) which gets used (adding statement "use jvl_inc") to each subroutine that accesses those arrays. These arrays are allocated initially and/or deallocated in new routine jvlheap.f90. -------------------- JVL 2.20, 11 Apr 24 Jet forces are now computed via an equivalent sheet strength gamjet, using Kutta-Joukwsky on the bound leg. This replaces the integration of Delta p nhat produced by the jet being curved by the surface. The KJ method should theoretically give inviscid Drag = 0 for infinite AR, for any VL discretization. In contrast, integration of Delta p nhat was very sensitive to the VL discretization. The circulation of the first vortex on the upstream jet (at the propulsor) is set to the thrust load component normal to the local velocity. This circulation then appears in the Trefftz Plane, so the lift contribution of the angled propulsor contributes to the TP lift and drag (thrust loss) integrals. The correct vortex strength of the upstream jet sheet now properly represents the flow turning of an angled propulsor, and e.g. properly changes the resulting wing LE pressure spike. Of course, all this is valid only in the limit of a thin jet sheet. Validations for larger jet thicknesses (larger prop diameters) still need to be performed. Added explicit printout of the propulsor forces, which go into the total near-field forces CDtot, CLtot, CYtot. Previously these were accounted for, but not printed out. Fixed bug in printout of control derivatives in stability axes from ST command. Previously the body-axes versions were being incorrectly printed. Fixed bug in printout of strip forces from FS command. Some labels were incorrect.