Specifies the constraints based on responses.


AcuSolve Command


CONSTRAINT {parameters}


This command has no qualifier.


type (enumerated) [=less_than]
Constraints are specified by relating the response variables with the type. Requires RESPONSE_VARIABLE.
response_variable (string) [=""]
User defined name of the response variable that is used to compute the objective and constraint functions.
bound (real) [=0.0]
Bounds are set to control the motion of surface/body in the optimization region. When type = equal_to the constraint is satisfied within the given tolerance.
tolerance (real) [=0.0]
Absolute tolerance within which the mass balance constraint of type = equal_to is satisfied.


The CONSTRAINT command defines the constraint functions used in optimization. One or more constraints can be created to control the motion of the model during the optimization process. To create a constraint, first a response variable needs to be created and the type and bound needs to be defined. This can be a time history output, surface integrated output, and so on.

In topology optimization with mass balancing, "bound" is the target mass flow rate at the specific exit and "tolerance" is the acceptable absolute deviation from this mass flow rate. The constraint is defined as:

bound - tolerance < mass < bound + tolerance, or |mass - bound| < tolerance.

Here, mass is the mass flow rate which is computed in the response_variable corresponding to the specific constraint.
CONSTRAINT( "subject to pressure >= bound” ) {
    type                                = larger_than
    response_variable                   = "Inflow Pressure"
    bound                               = 1000
 RESPONSE_VARIABLE( "Inflow Pressure” ) {
    type                                = surface_output
    surface_output                      = "Inlet"
    surface_output_variable		= pressure
CONSTRAINT( "flow balance 1” ) {
    type                                     = equal_to
    response_variable                        = "flow_balance_1"
    bound                                    = 0.01    
    tolerance                                = 0.0001
RESPONSE_VARIABLE( "flow_balance_1" ) {
    type                                     = topology_variable
    topology_variable                        = surface_mass_flow   
    mass_flow_surface			     = "Outlet_1"