Navigation

Operators and Keywords

Function List:

C++ API

Function File: data = so_example_problem (data)

Construct an example problem for shape optimisation. The example problem is one-dimensional. Roughly speaking, the cost is chosen such that the optimal solution should be symmetric around the origin and have a determined volume.

The parameters in data.p as well as the basic grid in data.g should already be set. This routine fills in the necessary callbacks to compute the cost and to find a descent direction.

These parameters in data.p are used to refine the example problem:

vol The desired volume. Deviations from this volume will be penalised in the cost functional.

weight Weight of the volume penalisation term. This is relative to the term that penalises non-symmetry and should be relatively large.

Note that these routines assume (for simplicity) that the level-set domain will always be a single interval. Thus, the initial domain should fulfil this assumption. (It will then automatically stay that way even when the shape is evolved.)

In addition to the callbacks, also utility routines will be returned that can be used in handlers for plotting. They will be set in data.util:

[a, b] = bounds (phi, data)

Find the left and right bounds of the (assumed) interval that the level-set function phi describes. This makes use of the grid in data.g. The bounds will also be filled into the state struct as s.a and s.b.

See also: so_run_descent.

Package: level-set