Preparing a Simulation Sequence for Topology Optimization

Similar to an adjoint workflow, an automated adjoint-based topology optimization workflow must be set up using simulation operations.

You define a sequence to run the primal flow solver and adjoint solver alternately. Stopping criteria can be defined within the solvers as well as globally. The basic workflow is described in the following flowchart:


If you observe strong oscillation in the flow field and optimized channel shape, you are advised to ramp the parameter penalty to enhance the influence of the optimization constraint.

In order to compute the final pressure drop at the end of the simulation, you must run one initial flow solution before entering the optimization loop.

  1. Right-click the Automation > Simulation Operations node and select New.
  2. Rename the Simulation Operations 1 node as Run Topology Optimization.
  3. Create an operation to clear the solution fields and reset the mesh adaption in case of a restart:
    1. Right-click the Run Topology Optimization > Operations node and select New > Clear Solution.
    2. Select the Clear Solution node and set the following properties:
      Property Setting
      Reset Mesh Activated
      Clear Adaption Activated
      Clear Adjoint Activated
  4. Create an operation to run the primal analysis once before entering the loop:
    1. Right-click the Operations node and select New > Solve Physics.
    2. Rename the Solve Physics node to Solve Initial Primal.
    3. Select the Solve Initial Primal node and set Simulation Objects to Physics 1.
  5. Create an overall stopping criterion based on the iteration counter of the topology optimization:
    1. Right-click the Stopping Criteria node and select New Monitor Criterion.
    2. In the Select Monitor criterion, select Optimization Iteration Monitor.
    3. Edit the Optimization Iteration Monitor Criterion node and set the following properties:
      Node Property Setting
      Optimization Iteration Monitor Criterion Criterion Option Maximum
      Maximum Limit Maximum Value [iteration number of the optimization]
  6. Create an operation that loops through the topology optimization:
    1. Right-click the Operations node and select New > Loop.
    2. Select the Loop node and set Stopping Criterion Predicate to Optimization Iteration Monitor Criterion.
  7. Create an operation within the loop to run the adjoint analysis:
    1. Right-click the Loop > Operations node and select New > Solve Adjoint.
    2. Select the Solve Adjoint node and set Adjoint Cost Functions to [objective cost function].
  8. Create another operation within the loop to run the flow analysis:
    1. Right-click the Loop > Operations node and select New > Solve Physics.
    2. Select the Solve Physics node and set Simulation Objects to [physics continuum] that includes the Topology Optimization model.
  9. Right-click the Simulation Operations > Run Topology Optimization node and select Activate.
  10. Right-click the Run Topology Optimization node one more time and select Play/Resume Simulation Operations.