# OPTIMIZATION

Specifies optimization is activated.

## Type

AcuSolve Command

## Syntax

OPTIMIZATION {parameters}

## Qualifier

This command has no qualifier.

## Parameters

- type (string) [="shape_optimization"]
- The type of optimization to be performed. Shape optimization requires
DESIGN_VARIABLE commands and topology optimization
requires one DESIGN_VARIABLES_FIELD command.
- shape_optimization
- Geometrical shape modification using morph shapes.
- parametric_optimization
- Optimization of model parameters (constants).
- topology_optimization
- Optimization of topological domain.

- objectives(string) [=""]
- The objectives parameter lists the objective functions used in optimization. If more than one objective is specified, Pareto optimization is assumed. The objectives are defined using the objective command.
- constraints(string) [=""]
- The constraints parameter lists the constraint functions used in optimization. The constraints are defined using the constraint command.
- optimizer_convergence_tolerance (real) >=0 [=1.e-4]
- The optimizer convergence tolerance is the tolerance for the optimization algorithm.
- optimizer_oscillation_control_factor (real) >=0 [=0.1]
- Optimizer oscillation control factor limits how the design optimization variables may oscillate. If a particular design variable increases a certain amount x during the previous optimization case, then this design variable is limited to decrease x multiplied by the optimizer_oscillation_control_factor for the current case. It will not limit the amount the design variable may increase. Vice versa, if a design variable decreases the previous case then there is no limit on how much it may continue to decrease, but there is a limit on how much it may increase.
- topology_optimizer (enumerated) [=method_of_moving_asymptotes]
- When type = topology_optimization, the method of moving asymptotes method is used as the optimization method to minimize the objective function.
- topology_defeaturing_length_scale (real) >=0 [=0.0]
- Length scale at which defeaturing/smoothing of the topology design is performed. When set to a positive value, a defeaturing algorithm is applied to the topology design and the resulting defeatured/smoothed design is stored in an additional variable named levelset providing a signed distance function to the defeatured/smoothed geometry. The defeaturing algorithm removes from the design any feature of size smaller than the provided length scale and smooths out sharp angle features accordingly to the defeaturing length scale, for example, rounding up sharp corners. If set to zero, or negative, no defeaturing is performed and the levelset variable is not created. Only used for optimization with type = topology_optimization.
- objective_min_flow_volume (enumerated) [="auto"]
- Minimization of fluid volume fraction simultaneously with the objective
function minimization/maximization.
- auto
- Active if there is no design volume fraction constraint, inactive if there is a design volume fraction constraint.
- on
- Always active.
- off
- Always inactive.

- objective_min_flow_volume_mult (real) [=1.0]
- Multiplier of the fluid volume fraction objective.
- topology_auto_darcy (boolean) [="on"]
- When topology_auto_darcy is on the
darcy coefficient is automatically computed based on the amount of flow in
the solid design region. The value defined in the input file is used as the
initial value for the automatic computation.
- on
- Darcy coefficient is computed automatically.
- off
- Darcy coefficient has a constant value.

## Description

where $f$ is a user defined objective function and ${g}_{i}$ are $n$ user defined constraints depending on the flow solution and the shape determined by the design optimization shape control variables. Further, ${G}_{NS}\left(shape\right)$ = 0 denotes the equation system for the flow, including the Navier-Stokes equation for instance. This constraint is taken for granted below, and is not written out in the formulations.

A few commands related to the specification of the optimization problem itself are added to the command structure. In this section, objectives and constraints are defined under the optimization command umbrella, referring to solution related values that are specified in an objective and constraint commands for each such function. The optimization command also specifies the optimization solution method and strategy.

```
OPTIMIZATION {
objectives = { "Minimize_Pressure_Drop" }
constraints = { "Top_constraint" }
optimizer_convergence_tolerance = 1.0e-4
optimizer_oscillation_control_factor= 0.1
}
```

```
OPTIMIZATION {
type = topology
objectives = "Minimize_Mechanical_Energy"
}
```