# OPTIMIZATION

Specifies optimization is activated.

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

The essential concept is to solve an optimization problem for user defined objective functions and constraints, given the fluid dynamics solution. Here the geometrical shape of the domain may change due to the variation of the design optimization shape control variables. The form of the optimization problem may for example take the form

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.

There is always one optimization command for an optimization AcuSolve run, and most parameters besides objectives and constraints have default values.
OPTIMIZATION {
objectives                          = { "Minimize_Pressure_Drop" }
constraints                         = { "Top_constraint" }
optimizer_convergence_tolerance     = 1.0e-4
optimizer_oscillation_control_factor= 0.1
}
For topology optimization, minimizing the mechanical energy losses, the optimization command is given by:
OPTIMIZATION {
type = topology
objectives = "Minimize_Mechanical_Energy"
}