pareto front

April 9, 2020 Comments (1) Views: 557 Adjoint, Featured, Video, Webinar


Topology optimization has proven to be an integral tool in the virtual prototyping process within industry. Engineers leveraging next generation optimization methods, such as continuous adjoint, can quickly gain valuable insight needed to enhance their products. Oftentimes, real designs must satisfy multiple objectives e.g. maximizing mass flow while maximizing swirl for an inlet port of an internal combustion engine cylinder. Multi-objective optimization within HELYX Adjoint provides Engineers the technology to easily explore design space and obtain an optimal morphed surface or topology to satisfy multiple objectives.


Single objective optimization (SOO) is a starting point for multi-objective optimization. SOO defines the goal of the optimization is (e.g. minimize power loss) and then we attempt to optimize towards a global or local optimum. Figure 1 shows an arbitrary single objective value vs iteration for a steady state.

SOO single objective optimization
Figure 1: Convergence of a single objective value vs iteration for a steady-state continuous adjoint optimization

The objective value itself converges over time, making it relatively straightforward to identify the “best” solution. Overall, SOO is for a single physical operating point (i.e. one flow condition) at a single value of objective weight, typically between 0.1 and 10. The available output to the engineer during and after the optimization is:

  • Primal Field Information: Solving the Navier-Stokes equations, along with any turbulence model, is the first step in the adjoint optimization algorithm. This means that we will always have information about velocity, pressure, and turbulence.
  • Adjoint Field Information: The dual fields (adjoint velocity and pressure) are solved and provide information about sensitivities for each objective.
  • Objective Values: The objective values are functions for derived data (e.g. pressure drop, power loss, swirl, mass flow split, shear stress, etc.) related to primal values.
  • Optimal Surface Location: The adjoint optimization process uses the primal and adjoint fields to obtain sensitivities. These sensitivities are then used to evolve a level-set (for topology optimization) or the mesh boundaries (for surface optimization).

SOO is extremely useful, especially as an initial investigation step for multi-objective optimization.


In order to perform a multi-objective optimization (MOO), additional objectives must be defined and weights for each objective need to be set by the user. The significance of the objective weight is that a higher weight mean that the objective’s sensitivity field will have a greater influence on how the optimal surface evolves. For most cases, we are looking at a single operating point ( See our new functionality for multipoint optimization), signified by one set of primal boundary conditions. The problem then becomes selecting the proper combination of objective weights to give the best design.

MOO comes down to effectively traversing the objective weight space in order to reach solutions that optimize both objectives. One could perform a separate full optimization analysis at each weight combination by selecting a variety of weights via sampling on a distribution (normal, uniform, wiebull, etc.) or latin hypercube sampling. These cases can be driven with python scripts and the macro language within HELYX. The pitfall is that you have numerous cases, redundant data (meshes, setup files, etc), and some additional data management and post-processing considerations. These can be overcome by only varying one objective weight at a time within a single simulation.

For the sake of simplicity, lets assume we are maximizing mass flow rate and swirl objectives. We can perform several test optimizations and find that our solution converges after 1000 iterations. We can then develop a strategy to explore the weights of these two objectives:

  1. Mass Flow Rate Dominant Strategy: In this approach we fix our mass flow rate objective weight to 1 and we slowly increase the swirl objective weight from 0 to 1. We allow 1000 steady state iterations to execute in between each change in swirl weight.
  2. Swirl Dominant Strategy: In this approach we fix our swirl objective weight to 1 and we slowly increase the mass flow rate objective weight from 0 to 1. We allow 1000 steady state iterations to execute in between each change in mass flow rate objective weight.

In strategy 1, we place emphasis on mass flow rate and increase the influence of swirl. In strategy 2, we emphasize swirl and increase the influence of mass flow rate on the optimal surface evolution. Both strategies access numerous weight combination states around regions of interest (either primarily mass flow maximized or swirl dominant), all within one simulation per strategy.


As with SOO, MOO has the exact same output listed above (primal data, adjoint data, objective values, and an optimal surface). In order to better understand the output, compare one objective value vs the other in what is called criterion space. The value of this representation is that the grouping of objective value combinations can form a front called the Pareto Front, seen in Figure 2.

pareto front
Figure 2: Example data showing Pareto front within criterion space plot for multi-objective optimization of objectives f1 and f2

From Figure 2, the Pareto front shows us that there is a trade off associated with selecting one weight combination along the front (a.k.a Pareto Optimality). At this point it is up to the engineer to select the best solution along the Pareto front. One important note is that in this example, we have accessed numerous states with just two simulations (one for each of our strategies outlined above). Since we output data along the way, we are able to easily track an objective value and optimal surface throughout our analysis. This is demonstrated in the webinar for success story and also a live demonstration.


By no means is this the complete story of single and multi-objective adjoint optimization. With more than a decade of development, HELYX Adjoint is the most advanced continuous adjoint optimization tool for CFD on the market. Development always focuses on improving convergence, consistency, stability, usability, and producing manufacturable surfaces/topology. Specifically for multi-objective optimization, there are several key take home messages:

  • Setting up multiple objectives is straightforward and the webinar will show two examples of setting up a MOO
  • We’re able to achieve more complex optimizations and balance multiple design goals with MOO.
  • HELYX Adjoint is a tool with numerous practical applications that have real results that have been used in production of new products.
  • HELYX Adjoint is a very powerful add-on module to HELYX and together, are key components in the design process for many companies.

If you are interested to learn more or about how Continuous Adjoint Optimization can help you in your design process, contact us and checkout the HELYX Adjoint module on our website.


Topology optimization has proven to be an integral tool in the virtual prototyping process within industry. Often, an optimal topological design depends on several design objectives (e.g. minimized pressure drops and maximum flow uniformity through a region). Join us while we discuss how next generation multi-objective topology optimization methods within HELYX Adjoint enable industry leaders to achieve more. You’ll be introduced to the continuous adjoint method for fluid systems and see how to setup a multi-objective optimization analysis with HELYX Adjoint. The webinar follow:

  • Continuous Adjoint Overview (Starts at 4:14 )
  • Single Objective Optimization vs Multi-objective Optimization (Starts at 11:01 )
  • Multi-Objective Test Case (Starts at 14:27 )
  • Success Story (Starts at 17:26 )
  • Demonstration within HELYX (Starts at 22:20 )
  • Take Home Messages (Starts at 46:49)