OPTIMIZATION

Specifies optimization is activated.

Type

AcuSolve Command

Syntax

OPTIMIZATION {parameters}

Qualifier

This command has no qualifier.

Parameters

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.

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


Figure 1.

where f MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaeaaaaaaaaa8 qacaWGMbaaaa@3701@ is a user defined objective function and g i MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaeaaaaaaaaa8 qacaWGNbWdamaaBaaaleaapeGaamyAaaWdaeqaaaaa@384A@ are n MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaeaaaaaaaaa8 qacaWGUbaaaa@3709@ user defined constraints depending on the flow solution and the shape determined by the design optimization shape control variables. Further, G N S ( s h a p e ) MathType@MTEF@5@5@+= feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLn hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr 4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9 vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=x fr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaaeaaaaaaaaa8 qacaWGhbWdamaaBaaaleaapeGaamOtaiaadofaa8aabeaakmaabmaa baWdbiaadohacaWGObGaamyyaiaadchacaWGLbaapaGaayjkaiaawM caaaaa@3F43@ = 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
}