About the Design Exploration Example

This example uses the Approximation Loop strategy inside the Exploration component to demonstrate a preliminary sizing process for an aircraft. The example also illustrates how you can calculate custom engineering functions using Simcode components and perform basic arithmetic using Calculator components.

Overview

The Approximation Loop algorithm creates an approximation within a small region of the global design space and starts sub-optimization within this design space using the approximation. The approximation is updated with the new optimum design point after every sub-optimization.

The following figure shows the completed model:

You can find the ApproxLoop-AirplaneSizing model in the following directory:

<Isight_install_directory>\<operating_system>\examples\models\components\exploration

Optimizing the Problem

The purpose of executing an approximation loop is to:

  • find an optimum design point with the help of an approximation, and to
  • create an approximation that is valid in the area of the final design point and allows you to visualize the area around the final design point.

The optimization objectives are as follows:

  • Minimize the total loaded weight (calculated by the Sizing Weights simcode).
  • Maximize the range (calculated by the Performance simcode).
  • Minimize the stall speed (calculated by the Performance simcode).

The scale factor is a coefficient that is applied to an objective to change its magnitude. In this example the following scale factors are applied so that the objectives have similar magnitudes:

Objective Scale Factor
Total loaded weight 3000
Range 1000
Stall speed 100
Weight is a coefficient that defines the importance of an objective. In this example the objectives have equal importance, and the weight is set to 1.0 for each objective.

The number of engines, the number of passengers, and the weight of the engine are fixed. The following parameters are varied by the optimization, within a specified range:

  • Sizing Weights Simcode:
    • Cruising velocity
    • Fuselage length
    • Fuselage diameter
    • Fuel weight
    • Payload weight
  • Calculator Input:
    • Wing surface area
    • Wing span

Introducing the Components in the Model

The Simcode component runs an executable file, such as a script or a compiled program, that reads ASCII-based input and generates ASCII-based output. The input and output are configured using a Data Exchanger component. The executable uses an OS Command component. You use the Data Exchanger component to teach Isight where in the input file to write input parameters and from where in the output file to read output parameters. In this example the Simcode components calculate the performance of a cargo aircraft given parameters such as its dimensions and the weight of the fuel load.

  • The Aerodynamics Simcode component reads information about the aircraft dimensions, such as the fuselage length and diameter, the wing span, and the wing surface area. The Aerodynamics executable calculates the lift over drag ratio that is input into the Performance Simcode component.
  • The Sizing Weights Simcode component reads information about the aircraft, such as the number of engines, the weight of an engine, the fuel, the payload, the fuselage length, the fuselage diameter, and the cruising velocity. It also reads the aspect ratio that was calculated by the Calculator component. The Sizing Weights executable calculates the total loaded weight.
  • The Performance Simcode component reads the wing area and the weight of the fuel. It also reads the total loaded weight (calculated by the Sizing Weights component) and the lift over drag ratio (calculated by the Aerodynamics component). The Performance executable calculates the range and the stall speed.

In addition, the example introduces the Calculator component that is used to perform basic arithmetic on the parameters.

  • The Calculator component reads the wing span and surface area, and it calculates the aspect ratio that is input into the Sizing Weights Simcode component.