Chapter: 08. Parameters and Design Logic

Contents Previous Chapter Next Chapter

Chapter: 08. Parameters and Design Logic

08.01 Introduction

Piano has more than 260 parameters that can be used to define a plane. However, only a few of these (less than 20) always need to be supplied. A more typical detailed plane specification may involve something like 60~70 parameters.

At any given time, Piano has a 'current plane'. When you start up, this is undefined. You can define it by assigning values to parameters directly, or by loading a 'plane file'. The current plane can be modified and saved at any point to create a new file.

When the user changes the value of a parameter, Piano simply makes a note of it. A full 'redesign' loop (involving all geometry/mass/balance calculations) is then executed spontaneously as soon as you request any kind of output information.

There is no difference between a notional project design and a model of an existing aircraft. Terms such as 'point design' or 'aircraft' all simply refer to the current plane. Essentially this corresponds to a set of physical geometric and mass characteristics (Chapters 3 & 4). Its performance characteristics can be calculated at any time (Chapters 9,10,16). Various design tools involving iteration, parametric studies, or optimisation let you adjust particular parameters in order to match specific design goals (Chapter 14).

08.02 Types of Parameters

There are three kinds of parameters in Piano. They are color-coded in the various parameter-selection windows and palettes. 'Vital' parameters are red, 'Defaulted' parameters are black, and 'Calculable' parameters are green.

'Vital' parameters, such as the wing-area , have no initial value and invariably need to be specified. There are only 15 of these and they constitute the most basic level of definition. You won't be able to obtain any reports or other output until all 'vitals' are assigned.

'Defaulted' parameters, such as the mass-per-pax , have a representative default setting (for example, a passenger with luggage weighs typically 95 kg). This is used unless a different value has been input.

'Calculable' parameters, such as the apu-mass , don't have a fixed default value but can be calculated internally through appropriate methods or correlations (for example, the mass of the auxiliary power unit may depend on the number of passengers). Internal calculation is used automatically unless a value has been explicitly supplied by the user.

The following terms are also used: An 'unassigned' parameter is a vital parameter that has not yet been given a value. A 'disturbed' parameter is either a defaulted parameter whose current value differs from the default, or a calculable parameter whose value has been fixed by the user. Obviously these categories will vary depending on the status of the current aircraft.

08.03 Ways of Accessing Parameters

Each parameter has its own 'parameter dialog', through which you can examine and modify its current value. You can access a parameter's dialog in many different ways:

- By clicking on blue parameter names like mto-mass within this User's Guide.

- Through parameter palettes, explained in the next section. This is what you'll probably use most of the time. All parameters belong to at least one palette.

- If you see the name of a parameter in the main output window, you can click on that.

- The 'Group' menu gathers some of the most significant or frequently-used parameters under simple headings like 'wing'. It does not cover all parameters.

- The 'Param' menu has many features that create parameter-selection windows:

- 'All Parameters' simply displays the complete set, in alphabetic order.

- 'Params With...' lets you find parameters whose name includes a given string (for example, type 'asp' to get the aspect ratios).

- 'Unassigned Census' and 'Disturbed Census' show the respective parameters depending on current status.

- 'Repeat Recent...' lists the last ten or so parameters to have been used by you.

- 'Repeat Last' shows again the last parameter's dialog. This is very useful in the form of its keyboard equivalent, Command-Z.

- Finally, you can click on parameters inside a 'plane' file if you open it via the 'View Plane File...' item ('Plane' menu).

08.04 Parameter Palettes

The 'Palette...' feature ('Param' menu) is by far the most powerful and flexible way of accessing parameters. Piano includes many predefined palettes (see 'Load Palette...'). You can modify these or create entirely new ones to suit your needs. Use the 'Show Available' item to display a 'palette picker' of all available palettes.

To create a new palette, hold down the Option key and select a parameter (from any parameter-selection window or item described above, or from the 'Group' menu). You can add as many parameters as you want. To remove a parameter, Option-click its name on the palette. If you want to make your new palette permanently available, save it via 'Save Palette As...'.

Palettes are shown one at a time (there is one 'current palette'). You can switch between them via the mini-menu at the top of the current palette, or through the 'available palette' picker. The picker will also be displayed if you select the title of the mini-menu ('palettes').

Palettes remain visible above all other windows, and always show the current values next to the name of each parameter. A small diamond is shown in front of each parameter whose value is not at its default setting.

If your palette is obscuring other windows, use 'Hide Palette' / 'Show Palette'. This has a 'toggling' action and is particularly fast and effective through its keyboard equivalent (Command-E).

You can copy the current values of all parameters from a palette ('Copy Values') and apply them again later on, possibly to another plane ('Apply Copies'). This is very useful if you are repeating similar modifications to several planes. The keyboard equivalents are Command- Option C and Command- Option V.

You can also save a palette's current values to a file (see 'Save Values As...') and load them back in whenever you want (see 'Load Values...'). This lets you keep your own frequently-used parameter settings. As shown in various example files, you can construct standard sets of mission reserve rules, operating cost rules, fuselage geometries, or any combination of parameters that you care to define.

Values saved on file become independent of the current palette. Therefore, your current palette won't change whenever you use 'Load Values...'. If you specifically want the palette to display the values that you load, hold down the Option key when you select 'Load Values...'.

The small 'actions' menu near the palette's right-hand corner duplicates the functionality of the main menu, but also has several additional features:

- There is an option that lets you 'Run Through...' the parameters and set them sequentially. All you have to do is type-in each value and hit <Return>. You can interrupt the run by clicking the Cancel button of any parameter.

- You can show the 'Recent', 'Disturbed' or 'Unassigned' parameters.

- You can show the Vital / Defaulted / Calculable parameters, or All together.

- You can use 'Arrange Palette...' to change the order in which parameters are listed.

- You can retrieve your latest 'Edited Palette'. A palette is said to be 'edited' if you have added/subtracted parameters from it, or if it has been re-arranged.

- The 'Report Palette' item generates a printout in the main Piano text window.

- The 'Help About' item creates a window listing detailed help for each parameter.

08.05 Parameter Dialogs

Each parameter has its own dialog. Most parameters, such as wing-area , take a numeric value. This is shown in an area of 'editable text'. A scroll-bar underneath it lets you move between the minimum and maximum limits.

Current units are shown just above the value. You can switch between 'metric' and 'imperial' settings locally, by clicking on the name of the units. (This doesn't affect your global choice of units).

To the right of the value there is another area of editable text. It always displays the number 1, and serves as a simple factor (useful for studying percentage changes). The main editable text area can also act as a simple numeric calculator: For example, instead of just a number, you can type in something like 123.4 + 5.6 (or any two numbers with +, -, *, or /, separated by spaces).

'Defaulted' parameters (such as the mass-per-pax ) display a 'set to default' button. (To avoid roundoff issues, defaults are always metric. This means you may see a change in local units when you click 'set to default').

'Calculable' parameters (such as required-stab-vol-coeff ) have instead a 'tick-box' labelled 'use internal calculation', to determine whether the built-in methodology or a user-supplied value should be used. You can use the up/down <Arrow> keys as a shortcut, to tick or untick this box.

Parameters such as flap-type will only take one of several pre-defined values. The available choices are shown in a menu within the dialog. Some parameters, for example centresection-is-wet , can only be 'true' or 'false'.

A few parameters will accept more than one value in their 'editable text' area. Multiple values must be separated by spaces. For example, nacs-mounted-on-wing generally expects one or two numbers (in this case, the spanwise nacelle locations).

There is also a specialised type of parameter called a 'data curve'. Data curves accept sequences of alternating numbers ( x y x y ...) separated by spaces, to specify the shape of an entire curve y = f(x). Examples are user-adjust-cl-cd-curve or dry-engine-mass-curve . They include a 'plot data' button so you can check your input visually. You can also Control-click on the plot to get local coordinates (see Chapter#13section03 ).

If you click the 'OK' button in a parameter's dialog, Piano immediately assigns the new value. It will then execute a 'redesign' automatically, as soon as you ask for any kind of output. If you don't want to make any changes, click 'Cancel' instead of 'OK' (or use the <Escape> key as a shortcut).

The 'Help' button gives a description of the parameter and may also include a picture.

08.06 'Plane' Files

A 'plane file' records all the parameters needed to fully define a point design. You can load planes via the 'Load Plane...' item (see 'Plane' menu), and save them via 'Store Plane...'. To delete a plane, you have to drag its file to the 'Trash' in the Finder.

To preserve any changes that you make to your 'current plane' you must use 'Store Plane...' to either overwrite an existing file or create a new one. Piano will not save your work automatically. When you load a new plane, any unsaved changes will be lost. You can set a 'flag' at any time to retain the status of the current design temporarily (see Chapter#13section03 ).

The 'Revert to Plane' item lets you switch between the most recently loaded planes quickly, without needing to find them again via 'Load Plane...'.

Plane files contain all the 'vital' and 'disturbed' parameters (others will be known through their default settings). Files may include links to some information that is held elsewhere, for example engine characteristics ( linked-engine-name ), fuselage and nacelle shapes ( front-fuse-name , rear-fuse-name , nac-name ), fixed polars, etc. The state of a few dialogs ('Range Modes...', 'Takeoff Cond...') is also preserved.

Use the 'Notes...' item ('Param' menu) to write comments or reminders about your plane and to view them at any time. Notes are also saved with the plane.

Piano initially looks for planes inside the 'planes' folder (found in the main Piano folder). If you prefer, you can create some additional folders and keep your own planes there. Use 'Load Plane...' to navigate to the right location.

Before you can define a completely new plane 'from scratch' (see Chapter#15section01 ), you must clear out the 'current plane' via the 'Reset...' item (see 'Param' menu). This restores the startup conditions: Vital parameters become unassigned, and 'defaulted' or 'calculable' parameters all revert to their normal state.

Note: Planes are simply text files. You can look at them via 'View Plane File...', and can even click on parameters inside them, but you can't edit a file directly as this would bypass many safety checks. The files include comments prefixed by a semicolon (;).

08.07 The Design Procedure

The design (or redesign) procedure in Piano consists of the full sequence of geometric calculations, mass estimation, and aerodynamic calibrations, plus iterations required to balance the plane and determine tail sizes. A redesign will be executed automatically after you change one or more parameters, as soon as you request any kind of output. At runtime, redesigns appear to be nearly instantaneous. If the procedure is successful, this message is shown in Piano's output window:

  Calculating geometry/mass/balance ......done. 
The current plane is now ready for all subsequent outputs and performance calculations. If there is a problem (due to insufficient or inconsistent input, or due to limitations in the design methodologies), a suitable blocking message will be shown.

A convenient way to 'force' a redesign without asking for specific outputs is to draw a picture via '3-View' (Command-3). This is a useful check on any geometric changes.

All input parameters not changed by the user keep their current status (That means their value, or their 'use internal calculation' setting). If you change something other than an input parameter, (for example some settings in a dialog), a redesign is not normally necessary.

Geometry and mass calculations (detailed in Chapters 3 and 4) depend in part on the aircraft balancing and tail sizing procedure, which is explained later on in this chapter.

Note: Changing some secondary inputs such as cost-related parameters may not appear to merit a full redesign. Nonetheless, given the speed of the procedure, a redesign is always carried out for safety and code simplicity.

Source codes: Probably the most central function in Piano is redesign . It calls mass-and-balance after various checks.

08.08 Sizing Modes

There are some features under the 'Plane' menu that let you modify certain aspects of the normal 'redesign' procedure.

These design options or 'sizing modes' are:

08.09 - Nacelle Scaling

Nacelle dimensions are usually fixed, according to nac-width and related parameters (see Chapter#03section08 ). By enabling the 'Nacelle Scaling' feature, you can link the current size of the nacelle to the current thrust (the reference-thrust-per-engine ). If you then change the thrust, the nacelle will be scaled according to standard sizing rules (diameter proportional to square root of thrust). All dimensions will be adjusted proportionately. Note however that modern engines often cover a wide range of thrusts within a fixed size, through different ratings.

08.10 - Constant W/S and T/W

You can keep the wing loading constant through the 'Maintain W/S' feature. This will 'slave' the wing-area to the mto-mass . Similarly, you can fix the thrust/weight ratio through the 'Maintain T/W' feature. This slaves the reference-thrust-per-engine to the mto-mass . (As a simple design-sizing exercise, you can combine a constant W/S and constant T/W with the 'Range Iteration...' feature outlined in Chapter#09section07 , to change the design range whilst keeping a similar field performance).

08.11 - Frozen OEW

The operating empty weight (OEW) is normally calculated by Piano. If, however, you are modelling a known aircraft, you may want to fix the OEW at a value quoted by the manufacturer (see also Chapter#04section14 ). Use the 'Set Weight, OEW' item and check the box marked 'Freeze this OEW'. The OEW will stay fixed when the plane is stored and re-loaded.

08.12 - Frozen Tail Areas

Stabiliser and fin areas are normally calculated by Piano during the balancing procedure. When you are modelling an existing aircraft you can set the areas to their actual values, if you know them. Choose the 'Set Tail Areas' item and tick the box marked 'Freeze these tail areas'. They will stay fixed during subsequent redesigns and when the plane is stored and re-loaded. Another tick-box lets you fix the position of the wing along the fuselage ('Fix wing location'). More details are given in the following section on balancing.

Before you can use this or any other 'sizing mode', you must have a fully defined current design (no unassigned parameters). When a particular mode is enabled, its menu-item appears ticked.

Sizing modes are preserved when a plane is stored. If another plane is loaded (through 'Load Plane...' or 'Revert to Plane'), the sizing modes will revert to their defaults or resume their saved settings, if any. The defaults are:

- Nacelle scaling is disabled.
- Constant W/S is disabled.
- Constant T/W is disabled.
- Tail areas will vary freely.
- The OEW will vary freely.

When a sizing mode is active, this will also be indicated at the bottom of the palette.

08.13 Balancing and Tail Sizing Procedure

Geometry, mass, and balance calculations are all interrelated. Iterative procedures must be used to locate the wing along the fuselage, size the tail, and determine corresponding elements of the mass breakdown.

Piano uses a standard design approach based on 'tail volume coefficients' (sometimes called V-bars). By default, representative values for the stabiliser and fin volume coefficients are obtained from statistical correlations (based on fuselage and wing dimensions, or, in the case of the fin, on the location of any outboard engines to allow for engine-out effects). You can override these estimates by supplying your own values for the 'calculable' parameters required-stab-vol-coeff and required-fin-vol-coeff .


Design philosophies can vary widely, and these predictions are representative of commercial aircraft. They may be somewhat excessive for some business jets - such as Lears - with rather 'spirited' handling, and somewhat inadequate for specialist low-speed performers such as the Avro RJs or Dash 8.

The centre of gravity (C.G.) locations of basic components such as the wing, fuselage, powerplants, and tail are all estimated internally. However, the placement of fixed equipment items (such as APU, air conditioning, etc) can have a substantial influence and is largely at the discretion of the designer. It is controlled by the calculable parameter fixed-equipment-cg-fraction (expressed in terms of fuselage length). By default, this is set to 0.45 (or 0.48 if any nacelles are mounted aft, reflecting the likely distribution of various systems).

The standard balancing procedure consists of a double iteration: Simultaneously varying the tail areas and the position of the wing along the fuselage (through the calculable parameter wing-apex-fuse-fraction ), until both the required volume coefficients and a minimum acceptable static stability margin are satisfied. The margin is dictated by the parameter min-static-margin , which defaults to 0.1 as a fraction of mean aero chord, at the aft C.G. condition. For aircraft with relaxed static stability, you can arguably reduce both the static margin and the chosen volume coefficients. Dynamic stability and control characteristics depend on the associated flight control systems and are not considered.

If you are modelling an existing aircraft, you can keep the wing at a specific longitudinal position by supplying your own value for the wing-apex-fuse-fraction . In this case, the value of fixed-equipment-cg-fraction must be allowed to float (set it to 'use internal calculation'). The balancing iteration then proceeds by varying the fixed-equipment-cg-fraction instead of wing-apex-fuse-fraction , the implication being that such equipment would be distributed along the fuselage as necessary. If you attempt to fix the values of both of these parameters, the problem becomes overconstrained and a blocking message will be shown.

Fore and aft C.G. positions are estimated through basic combinations of payload and fuel (on or off). There is no attempt to examine complex operational loading restrictions (such as the so-called 'loading potatoes' that depend on seating configuration).

Additional geometric characteristics of the stabiliser and fin (other than their areas) are discussed in Chapter#03section09 .

When you use the 'Set Tail Areas' feature ('Plane' menu) , you are indirectly assigning corresponding values to the required-stab-vol-coeff and required-fin-vol-coeff . These coefficients will be used in subsequent redesigns, unless the areas are frozen. If you check both boxes marked 'Freeze these tail areas' and 'Fix wing location', the entire relevant geometry will remain unchanged with subsequent redesigns. The wing location is taken from the current value of wing-apex-fuse-fraction .

Source codes: The outer balancing iteration is carried out by balance-iteration . Inner iterations are done by balance-at-current-wing-apex , which in turn calls size-stab-given-vol-coeff and size-fin-given-vol-coeff . Mass estimation is handled by balance-dependent-mass and balance-independent-mass . Statistical V-bars are found by calculate-vol-coeffs , c.g. positions by find-cg-limits . Other functions include find-de/da-at-stab (for downwash), find-static-margin and find-x-neutral-point .

Contents Previous Chapter Next Chapter