Skip to content

Morphing and optimisation

Bramble can deform uploaded Parts to generate new geometry without you leaving Bramble. You can use this to test a single change, such as twisting a wing tip, or to generate a whole set of shape variations and simulate them as an optimisation run. This page explains how the pieces fit together. For step-by-step instructions, see the morphing guides.

Deformation volumes

A deformation volume is a box of control nodes placed around some or all of a Part.

When a control node moves, the Part's surface inside the volume moves with it. The surface deforms smoothly, following the control nodes, rather than as a rigid body. Moving the control nodes on one side of a volume therefore bends or stretches that end of the Part, while geometry outside the volume is left alone.

Control nodes sit on planes. A new volume has planes of control nodes at its faces. You can add bisecting planes between existing ones. More planes give you finer control over where the deformation happens.

Volumes belong to a Part. A Part can have several named volumes, for example one around a wing tip and one around its trailing edge. You can also import a volume from another Part to reuse it.

Volumes lock once used. When a volume has been used in a Run, it can be viewed but no longer edited or deleted. This keeps the results you already have reproducible.

Parameters

A parameter is a named, reusable deformation of a selected set of control nodes.

Each parameter has one transformation type:

Type What the selected control nodes do
Translate Move along X, Y and Z
Rotate Rotate about an axis through the parameter's origin
Scale Move towards or away from the parameter's origin, along X, Y and Z

A parameter doesn't store how far to deform. It stores the shape of the deformation: which nodes move, and how strongly each one responds (a per-node factor, 1 by default). You choose the magnitude later with a slider, or with a value in an optimisation table. That's what makes one parameter reusable across a whole sweep of magnitudes.

Per-node factors let different nodes respond by different amounts to the same magnitude. For example, with a Rotate parameter, nodes with a rotation rate of 2 turn twice as far as nodes with a rate of 1. That's how you get a twist that increases towards a wing tip.

See the morphing reference for exactly how each type uses the magnitude.

Smoothing

Moving control nodes directly can produce kinks where deformed and undeformed geometry meet. Bramble therefore always smooths the deformation of the Parts it creates. Two settings shape the smoothing:

  • Sharpness Factor: how tightly the deformation is concentrated around the moved control nodes. Higher values give a sharper, more local change.
  • Deformation Factor: scales the overall size of the smoothed displacement.

Both default to 1. You can switch off smoothing in the preview to check that a parameter moves the nodes you intended. The Part you create is still smoothed.

Chains

A chain applies several parameters one after another.

Each deformation in a chain is applied to the result of the one before. Many deformations don't commute: twisting and then scaling a wing tip isn't the same as scaling it and then twisting it. So the order of a chain changes the geometry it produces.

You can hide deformations in a chain to compare previews. Hidden deformations are left out of the Part you create, so check what's visible before creating it.

Created Parts

Deforming a Part never changes the original. Create Part makes a new Part in the same Part Library (folder), named after the original Part and the volume, for example front-wing-tip-deformed-1. You then use it like any other Part: add it to an Assembly and simulate it.

Optimisation runs

An optimisation run simulates many deformed variants of a design in one Run.

  1. You choose a Map and one Attitude from it. That Attitude sets the conditions, such as velocity and ride height, for every simulation in the run.
  2. You choose the Part, a volume and the parameters to vary. Bramble chains them in the order you select them.
  3. You fill an optimisation table with a set of magnitudes for each simulation. Type them in, or let Bramble generate them with a Latin Hypercube design of experiments or a Linear Sweep.
  4. Bramble creates a new optimisation map. Its first Attitude is the baseline, the undeformed design. Every other Attitude is one row of the table: the baseline conditions plus a set of deformation magnitudes.

The deformed Parts for each Attitude are generated automatically when the case is set up. You don't create them by hand.

The baseline controls the conditions. In an optimisation map, only the baseline's normal parameters, such as ride height and velocity, can be edited, and changes to them apply to every Attitude. The other Attitudes differ only in their deformation magnitudes. That's what makes their results directly comparable.

Optimisation runs pair naturally with mappings, which fit a surrogate model to the results so you can predict and optimise between the simulated points.

Related: Create a deformation volume · Create an optimisation run · Morphing reference