We start by defining consistent terminology that will be used throughout this chapter. Input parameters. A given simulation design problem contains a set of variable input parameters. The designer selects a value for each parameter and inputs them to the simulation to generate a result. In the simplest case, each parameter represents
a range of continuous scalar values, but this need not be the case. Any higher-level construct that the simulation understands may serve as an input parameter, such as enumerated types or 2D curves describing simulation-relevant behavior. The number of input parameters define the dimensionality of the design space.
Parameterized 3D model. Often one of the inputs to a simulation will be a 3D geometric model (e.g,. in the case of an FEA analysis, a meshed CAD model). Take, for example, the canonical example of an I-beam shown in Figure 7.1. A subset of the the input parameters represents the geometric properties of this parameterized 3D model and explicitly describes its shape; for the I-beam, these parameters are labeled at the left of Figure 7.1. In Design by Dragging, all of the variations for the specific design problem must be captured by the parameters specified for the model.
Configuration. A specific selection for each of the input parameters together define a configuration. A conceptual way to think of a configuration is to treat it as a vector of input parameters. We can visualize this vector, along with with the range of input parameters, using a wheel plot, as shown in the right of Figure 7.1. Although only the geometric parameters that describe the 3D model are shown in this example, in more complex examples, all of the input parameters would be represented on the plot. In this wheel plot, each spoke corresponds to a single parameter, with the minimum value at the center and the maximum at the extent. The red polyline that passes through each spoke indicates a unique configuration vector.
Output fields. As with input parameters, a given design problem has a set of output fields that are computed by the simulation. These fields also will vary in type, from simple scalar values (e.g., the buckling force for the I-beam), to fields across the entire 3D model (e.g., normal stress). A key advantage of the Design by Dragging system is that many outputs can be optimized and considered at once. For example, the I-beam FEA analysis may produce many fields associated with each node in the FEA mesh, along with any number of scalar values that characterize the performance of the design.
Result. Analogous to configurations, the result of a simulation describes a vector of specific output fields, as computed by inputting a configuration into the simulation. As with the configuration, the result can also be represented by a wheel plot. A key feature of the Design by Dragging system is that in terms of both visualization and interaction,
results are treated identically to those in configurations. In many ways, therefore, the differences between configurations and results are often in name only.
Design instance. A configuration combined with a corresponding result constitute a unique design instance. We can think of a design instance as a new vector created by appending the result vector to the configuration vector. The Design by Dragging system works by sampling many design instances and providing direct ways for the user to query and explore these instances via new visualization and interaction techniques.
Simulation codes. The simulation codes are the computer programs that generate results from configurations. There will be one or more codes for each design problem. The codes can range from simple approximation equations that are computed locally to complex coupled FEA and CFD multi-physics simulations that are remotely run on supercomputers.
Parameter and field distance metrics. Each input parameter and output field must have a distance metric defined for it. It is often most useful to use a normalized metric. In the case of scalar values, this corresponds to the normalized distance relative to the maximum and minimum values (i.e., the ranges on the spoke in the wheel plot). For more complex parameters and fields, different metrics can be used (e.g., in a FEA analysis, a sum squared distance (SSD) between all of the node’s fields is one option).
Distance between instances. Using the parameter- and field-specific distance metrics, we compute a single distance metric between each design instance. By treating each instance as a vector, a convenient choice for this metric is simply a Euclidean distance composed of the individual distance metrics. By default, each parameter is weighted equally in the distance calculation, but it is possible to change the weighting based on input from the user. Thus, given any two design instances, A and B, each stored as an n-dimensional vector, the distance between the instances is computed as
d(A, B) = n X i=1 p wi∗(D(Ai, Bi))2, (7.1)
Where D(Ai, Bi) is the parameter and field specific function that returns the distance
metric for the i-th input parameter or output field and where the weight of the i-th parameter or field, wi, defaults to 1 if all distance metrics are normalized.
Instance morphing function. In the Design by Dragging framework, as a user navigates between design instances, a smooth transition is displayed. Thus, a function is needed that that linearly interpolates between any two design instances A and B, creating a morph between them. The morphing function must interpolate all of the configurations and results. In practice, there are often an infinite number of possible morphing functions. The ideal morphing functions should avoid discrete jumps and match the user’s expectations for how A would transition to B in the most natural way. More complex input parameters and output fields require more complex ways to morph. For example, morphing the length of the 3D I-beam model is very straightforward, but morphing the resulting stress field displayed on the I-beam is much more complicated.
Design space. The design space is the space of all possible configurations. For instance, running a FEA or multi-physics simulation to evaluate the utility of a par- ticular configuration would provide data for just one of an infinite number of possible configurations. What designers would like to do is intelligently fill in this large space, discovering through this process cross-interactions between the parameters and how the input parameters directly impact output fields.