HEEDS MDO 2015: Branching in Process Execution

Engineering design processes are not always single stream processes. There are times, especially in complex workflows, when the process execution needs to be modified (branched) based on the results of upstream events.


There are numerous instances where branching can be useful.  A small set of use cases where this functionality would be useful is provided below:

  • Switch to a turbulence-based analysis model if the Reynolds number is too high
  • Perform a restart analysis only if the results of the previous analysis meet the defined criteria
  • Perform a re-meshing step if morphing results in unacceptable mesh quality
  • Skip a compute-intensive analysis if performance of an upstream analysis is below a minimum threshold
  • Run diagnostic scripts when analyses fail

It is possible to define any control logic in the process flow via the use of external scripting tools. However, this makes the problem definition more complex and cumbersome.  To support simpler definition of these workflows, HEEDS (version 2015.04 and later) now supports the definition of branching in the process flow.  You define the execution logic by selecting from a set of supported condition types and then assign the defined logic to the appropriate place in the analysis process.  During the study, these conditions are analyzed to dynamically select the appropriate process flow.

Branching and control logic capabilities are illustrated below in the context of an aircraft wing design optimization example.


Modern aircraft must be certified across ranges of operating conditions such that the flight characteristics at all speeds must be taken into account to evaluate system performance.  Reynolds number and Mach number of the given geometry/operating conditions can lead to different choices of simulation techniques.  Changing simulation solution types can sometimes even require changing the compute resources.  If a turbulence model is used, different levels of mesh refinement may be required based on the modeling technique used.  All these considerations require that automation of the process flow must be able to easily handle the case of dynamically selecting the appropriate analysis to run.


Figure 1. The design execution process flow for the example airplane wing design problem.

In this study, several CAD parameters associated with an airplane wing shape are being optimized by HEEDS.  For each design evaluated, HEEDS will first select values of the CAD parameters and then use Matlab to calculate a performance estimate.   Based on the value of this Matlab estimate, HEEDS determines which out of the two STAR-CCM+ CFD analyses, Model1 or Model2, is the most appropriate to evaluate that design’s performance.  The results from the evaluated STAR-CCM+ model (Model1 or Model2) are then passed to Abaqus to perform a structural analysis.


Leave a Reply

Your email address will not be published. Required fields are marked *