----------------------- TASOPT 1.00 08 Nov 08 * Prototype code ----------------------- TASOPT 1.04 12 May 09 * Added strut-braced wing option ----------------------- TASOPT 1.06 18 May 09 * Added stringer material to fuselage to take bending loads from HT lift * Added balanced field length calculation, in addition to normal takeoff ----------------------- TASOPT 1.10 10 Jul 09 * Restructured code to store data in pointered arrays ----------------------- TASOPT 1.11 10 Jul 09 * Now includes impulsive tail loads with inertial relief to fuselage loads * Added side stringer material to fuselage to take VT loads * Added sizing of tailcone from VT torsion loads ----------------------- TASOPT 1.12 20 Jul 09 * Massive upgrade to turbofan model, with off-design calculation capability * Switched to real mission profile, with climb and descent segments ----------------------- TASOPT 1.13 20 Jul 09 * Improved turbofan cooling model * Added capability to optimize takeoff and cruise Tt4 (enabled by addition of cooling model) ----------------------- TASOPT 1.14 4 Aug 09 * Added noise calculation routine. * Added cutback segment in initial climb. Gives Sideline and Flyover noise ----------------------- TASOPT 1.15 3 Sep 09 * Added structural and weight model for floor beams. Correspondingly reduced payload-proportional weight fraction. * Added quad-bubble feature for center fairing ----------------------- TASOPT 1.16 10 Sep 09 * All new fuselage-drag model based on axisymmetric IBL solution - Added accounting of BLI on fuel burn ----------------------- TASOPT 1.20 12 Sep 09 * Major restructuring of the code: - Replaced hard-wired setup with real input file - Can now select which variables are to be optimized No longer have the previous "all or nothing" optimization - Reorganized text-file output - Save and restore feature for i,j parameter fields Should greatly speed up re-optimization after small parameter tweak ----------------------- TASOPT 1.22 17 Sep 09 * Replaced f_gear with f_totadd This now represents the total-weight-proportional added weight, which includes the landing gear as a major piece. * Added separate allowable stresses and densities for the shell and stringers. Before they we assumed to be the same, which is probably not appropriate for the allowable stress numbers. * Fuselage weight routine "fusew" now allows different moduli for the shell and stringers, although this is currently hardwired to 1.0 * Expanded the theory writeup and synched it better with the code * Changed the BLI power accounting. The airframe is still credited with the elimination of the wake dissipation as before. However, credit for the ingested defect goes to the engine as more available thrust power, rather than to the airframe as less drag power. This makes BLI have a less "drastic" effect on the CD and TSFC numbers. The overall PFEI is of course unaffected. ----------------------- TASOPT 1.23 13 Oct 09 * Added OPR to list of optimization variables * Fixed multiplier and divisor handling for input of lines with multiple numbers * Added yoh and zoh variables to .tas file. These give the spanwise locations of the HT supports, as in a Pi-tail * Added Lfwcen logical flag to .tas file. If T, then fuel can be carried in wing box in fuselage. If F, then no fuel is in wing box in fuselage. ----------------------- TASOPT 1.24 18 Oct 09 * Now using airfoil database for entire flaps-up flight, not just cruise * Added Tmetal to list of sequenced parameters. Input file xxx.tas has the corresponding Tmetal line added to the i and j parameter specification blocks. ----------------------- TASOPT 1.30 9 Jan 10 LOTS of new stuff, hence the jump to the 1.3x version numbers... * Multiple missions are now specified. Aircraft is sized for first mission (presumably the longest one, or one with most payload), but can then be operated for other range or payload values. Optimization is performed on a weighted average of the fuel burn over all the specified missions. The intent is to model optimization of fleet fuel burn. * The fuselage added-weight fraction f_fadd has been broken down into three separate contributions which are specified separately: f_string stringers f_frame frames f_fadd rest (windows, doors, etc) This was done for a more realistic treatment of the added bending weight, since the stringers are now assumed to carry some of this bending load. * New fuselage material parameters: sigskin (replaces sigshell) rhoskin (replaces rhoshell) rEshell (new, used in higher-fidelity added-bending model, typically = 1.0) * The inertial moment-relief factors 0.4 and 0.7 are now specified in the .tas file rather than being hardwired. The variable names are rMh and rMv. * The strut drag sees an effective-freestream velocity ratio rVstrut = V_strut/V_inf which is specified in the .tas file. Previously this was assumed to be 1.0 * Nacelle wetted area ratio is renamed to rSnace = S_nace / A_fan * Nacelle drag model is improved, and accounts for nacelle surface velocities. Nacelle is assumed to be immersed in an effective freestream ratio rVnace = V_nace/V_inf * The .tas input file has been re-ordered a bit, to better organize all the changed inputs. * For simplicity, all of the secondary weight fractions have been redefined to be referenced to the basic weight rather than the total weight. So for example, Previously: W_wing = (W_cap + W_web) / (1 - f_wadd) Now : W_wing = (W_cap + W_web) * (1 + f_wadd) Previously: W_fuel = W_burn / (1 - f_reserve) Now : W_fuel = W_burn * (1 + f_reserve) So the f_wadd and f_reserve values need to be tweaked a bit to give the same results. Only the topmost level fractions like f_totadd are referenced to the total weight. Figure 1 in the main theory writeup shows all the weight breakdowns and fractions. ----------------------- TASOPT 1.31 10 Jan 10 * The engine weight is broken down as W_eng = W_ebare + W_nace + W_eadd W_eadd = W_ebare*f_eadd (models accessories, fuel system, pylon) Bare engine weight and nacelle weight is from weight models. The nacelle length is derived from the rSnace wetted-area parameter which is also used for the nacelle drag calculation. * The following additional changes to the .tas file have been made: iterfmax added, off-design mission iteration limit altTO now specified for each mission T0TO now specified for each mission, moved up to mission-spec block M0TO removed (unused remnant from previous versions) gammaDE added (prescribed descent angle) Tt4CB removed (unnecessary, with cutback climb angle being prescribed) Tt4de1 removed (unnecessary, with descent climb angle being prescribed) Tt4de2 removed ( " ) All these are removed from "Takeoff and initial climb parameters" (redundant with airfoil parameters farther down in the file): cdfw wing cdf cdft tail cdf cdfs strut cdf cdpw wing cdp cdpt tail cdp cdps strut cdp Cfwet nacelle Cfwet ----------------------- TASOPT 1.32 14 Jan 10 * Made a bunch of minor tweaks to the iteration sequences to speed up and improve the optimization behavior. For example, the flight path angle gamV is fully converged by sub-iteration at each climb trajectory point, rather than being lagged by one overall mission-weight iteration. This prevents small "noise" in the objective function which sometimes gave fits to the simplex optimization descent method when it got close to the optimum. * Added Nate Fitzgerald's new engine weight models. * iengwgt parameter added, to select which engine weight model to use * fnace parameter has been eliminated from the .tas file. It's not needed with the new engine+nacelle weight models. * Cfwet parameter has been eliminated from the .tas file. It's not needed anywhere anymore due to all the drag model improvements. ----------------------- TASOPT 1.33 20 Jan 10 * Redefined the engine inlet station numbers to more clearly account for BLI. The fan and core can have different inlet p_t. * Added fan duct loss pressure ratio pifn to engine model. Previously, fan duct losses were assumed to be included in epolf. * Added core duct loss pressure ratio pitn to engine model. Previously, core duct losses were assumed to be included in epolt. * Included modeling of fan jet scrub losses on the core cowl. This appears as an airframe drag CDfand. ----------------------- TASOPT 1.34 30 Jan 10 * Broke off pieces from Wpadd, which are now specified separately: windows , specified by weight/length W'window insulation , specified by weight/area W''insul floor planking , specified by weight/area W''floor seats , specified by fstead = Wseat/Wpay * Floor load is now Wpay + Wseat; before it was just Wpay * Combined Weng into Wtail * Removed Wfix from the distributed fuselage load, since this will typically be concentrated in the nose. ----------------------- TASOPT 2.00 20 Feb 10 * Major formulation moditifications -- hence the jump to v 2.x * Wing and tail box now has curved caps. The previous flat-cap model was somewhat optimistic in fuel volume and bending inertia estimation. The effect on calibration is that this reduces the wing added-weight fraction needed to match a given wing weight, since the wing box will now be heavier. * Included the negative buoyancy force on the pressurized cabin. This is treated as an apparent added weight Wbuoy which varies with altitude. * Load distribution p(y) now represents aero loads only, and is now independent of chord distribution c(y), although both are still piecewise linear. Wing weight load contribution to wind shear and bending is handled separately. * Aero load distribution p(y) is modified from piecewise linear by fLo and fLt parameters: - Loss of fuse carryover lift, via fLo < 0 - Surface tip load relief , via fLt < 0 * Spanwise-varying wing section cl(y) is now treated, as required by the non-proportional p(y) and c(y) distributions. * Weight and aerodynamic pitching moments are now computed. This allows locating the wing and sizing the horizontal tail to meet pitch trim or stability requirements. * Eliminated total-proportional fraction, and replaced it with separate weight fractions for: main landing gear nose landing gear APU hydraulic,pneumatic,electrical systems Each of these also has an x location with it, to enable the weight moment calculations. * Horizontal tail load is accounted for in wing structural sizing. * Induced drag is now calculated using a point-vortex Trefftz Plane analysis, including the effects the horizontal tail. Fuselage is accounted for via wake contraction. ----------------------- TASOPT 2.01 25 Feb 10 * Added iBLIc flag, which indicates whether the core takes in clean flow (iBLIc=0), or the BL fluid (iBLIc=1) * The fan efficiency is now a linear function of FPR. Previously it was constant. ----------------------- TASOPT 2.02 1 Mar 10 * Added the rcls,rclt parameters, which modulate the p(y) loading shape. These are also added to the available design variable list. * Wing profile CD is now calculated by numerical spanwise integration of the local sweep-corrected cdf,cdp. Previously this was done analytically, which is no longer possible with the new rcl parameters since the local cl is now no longer assumed constant. * Created the array pari(.) which now holds all the integer parameters. Previously these where passed separately rather than via the single array. ----------------------- TASOPT 2.03 5 Mar 10 * Descent angle gamma_d can now be linear in range rather than constant ----------------------- TASOPT 2.04 10 Mar 10 * Wing airfoil cm is now linearly-varying across span, specified at the three panel-end sections with cmo,cms,cmt. ----------------------- TASOPT 2.05 15 Mar 10 * Added output file xxx_g.plt which contains x,y data for making a simple top-view outline of the airplane, including the engines and the CG range and NP locations. * Added option to output an xxx.asw file, for running ASWING ----------------------- TASOPT 2.06 27 Apr 10 * Added Aswing-output enable/disable flag to .tas file format * Descent angle is now assumed to be linearly varying rather than just constant. Both the initial and the final descent angles are now specified. ----------------------- TASOPT 2.08 27 Jun 10 * N-bubble fuselage model ----------------------- TASOPT 2.10 2 Feb 11 * Added optional span constraint * Added the constrained-span value to the sequenced-parameter list * Added .out file output every N number of optimization steps. An optimization run can now be killed early, since the last-written .out file will be usable as a partially-optimized solution. ----------------------- TASOPT 2.11 13 Jun 11 * Added nacelle-lift contribution to dCM/dCL in the xNP calculation ----------------------- TASOPT 2.12 14 Jun 11 * Added influence of local overspeed along the span due to the fuselage. The overspeed fractions fduo,fdus,fdut are specified for now. Can be calculated from the axisymmetric fuselage flow source model. * Fixed minor bug in the effect of tail sweep on the xNP calculation. The effect is now modeled properly. ----------------------- TASOPT 2.13 2 Oct 11 * Added top-of-climb gradient constraint option ----------------------- TASOPT 2.13 10 Feb 12 (update) * Made all the sample .tas input files up to date ----------------------- TASOPT 2.14 13 Aug 16 * Fixed some reported problems related to compiler optimization of the tail weight calculation routine. Different levels of optimization gave slightly different tail weights. ----------------------- TASOPT 2.15 14 Sep 16 * Added CL to the list of "i" or "j" parameters which can be sequenced * Added turbofan power and mass offtakes. The power offtake is from the low spool shaft (adds power required from LPT). The mass is assumed to be extracted at the 2.5 station (LPC discharge). This makes the LPC pressure ratio significant, so it's now input explicitly, and the HPC ratio is computed: In v2.14: OPR,pihc specified -> pilc = OPR/pihc In v2.15: OPR,pilc specified -> pihc = OPR/pilc * Added losses to low and high spools, to model windage and bearing friction. * Added burner efficiency * BLI accounting is now a bit more rigorous, with distinction between K_inl which defines the inlet pt2 (via a new entropy mass-averaging), and Phi_inl which enters into the overall power balance for the effective thrust power * The dissipation from the fan jet scrubbing on the exposed core cowl (CDfand) has been removed from the airframe dissipation accounting. To follow convention this should really be accounted for as a debit on the engine's propulsive power (or the equivalent thrust loss), by the inclusion of a jet/nozzle total pressure ratio pt8/pt7, which currently is assumed to be unity. But this new ratio can be simply included in the fan nozzle total-pressure ratio pifn = pt7/pt2.1, which is already an input. Ideally, this accounting change will make the airframe look a bit better and the engine look a bit worse, with no net effect on the fuel burn. * Added output of all this new stuff to the .out file * Documentation of all this new stuff has been added to gasfun.pdf, engine.pdf, bli.pdf, tasopt.pdf * New inputs in .tas file (in engine section): pilc LPC pressure ratio (replaces HPC pressure ratio pihc) etab burner efficiency: fraction of unburned fuel is 1-etab epsl low spool power loss fraction epsh high spool power loss fraction moff_PAX 2.5 mass flow offtake per PAX moff_mMTO 2.5 mass flow offtake per kg of max mass Poff_PAX low spool power offtake per PAX Poff_mMTO low spool power offtake per kg of max mass Tt9 offtake air discharge Tt pt9 offtake air discharge pt * Made the sizing loop use an existing solution (if available) for the initial guess. This noticeably speeds up the optimization execution. ------------------------- TASOPT 2.16 7 Nov 16 * Identified the major CPU time sinks in the code and streamlined them: - Replaced the gas-property evaluation spline-routine calls with in-line code. - Precomputed the airfoil table tri-cubic spline coefficients. - Implemented logic to use existing engine states as initial estimates. These changes more than doubled the speed of the code. Interesting factoid: More than 90% of the CPU time is spent in the engine off-design routine (TFOPER) and the variable-property gas routines it calls. * Eliminated some remaining tiny inconsistencies between the sizing case (mission point 1) and off-design case (mission point > 1) calculations. Now, if the sizing case is run as an off-design case with the same inputs, the resulting mission profiles are the same to within numerical roundoff. * Improved the engine sizing iteration update to greatly reduce the likelyhood of a negative core plume velocity due to iteration transient undershoots. * Implemented a fixed discretization for the Trefftz-Plane CDi calculation, to eliminate the possibility of steps appearing in the objective function due to rediscretization. Although tiny and infrequent, such a step could cause the optimization descent algorithm to get stuck. * Changed the air constituent fractions from molar to mass fractions, which is the consistent definition in the formulation in gasfun.pdf. Also added 0.2% water fraction, which is an average over the atmosphere. There is no significant effect of these formulation changes on the results. For example, the fuel burn changed by only about 0.01%. * Implemented the ability to compute a general engine performance matrix after the sizing and/or optimization calculations. The parameters for this matrix are specified in the new optional input file xxx.tase , which is described in the updated tasopt_userguide.txt document. The engine operating points for the matrix are written in a new separate output file xxx.oute , but only if a valid xxx.tase file exists. * Eliminated the four static operating points labeled T1,T2,T3,T4 from the xxx.out file, since these are now merely a special case of the new engine operating matrix case calculation.