FLOW-3D (x): Connect, Automate, Optimize

*FLOW-3D* (x): Connect, Automate, Optimize

In this blog, we’ll look at **FLOW-3D****(x)** – a completely new product from Flow Science that will change the way you work with * FLOW-3D* products, make you more productive, improve your designs beyond what you thought was possible, and give you a deeper insight into your simulations than ever before. First, we’ll talk about how users typically incorporate simulation into their workflow and where bottlenecks often occur. Then we’ll talk about how

**FLOW-3D****(x)**removes these bottlenecks by automating the entire user workflow. And then we’ll look at some actual projects that were completed with

**FLOW-3D****(x)**.

* FLOW-3D* simulations provide users with the ability to predict how their designs will behave without building expensive prototypes. Many combinations of parameters and geometry can be simulated to find the optimal design. However, simulating many designs to achieve the optimal behavior can be time and cost prohibitive when done manually. And there is no guarantee that the solution achieved is the best since there is usually no simple way to know the relationship between parameter changes and design performance since we’re choosing the parameters’ values blindly.

## Running Parametric Geometry Designs

A common scenario is to have a parametric geometry designed in CAD. To understand the effect of geometry changes on the performance of the design, the user has to modify the geometry in CAD, export the geometry to STL, run the simulation, then postprocess the results. The number of design alternatives that can be investigated in this way is very limited due to the time required. Additionally, it is often useful to examine the behavior of a design through a range of fluid properties. If we wanted to investigate the results of viscosity varying over a range of values, we’d have to modify the input files for each value we’d like to simulate, execute each, and then postprocess. This way of working can quickly become prohibitively time consuming. The solution is to use **FLOW-3D****(x)** to automate this iterative testing process.

## Optimization Workflow

The first step in creating an optimization workflow in **FLOW-3D**** (x)** is to define the goal of the optimization. The goal may be to minimize or maximize a simulation output (e.g., air entrainment) or some statistical value such as the average flow rate that is computed using the Statistics plugin. Next, the parameter space to be examined is specified along with the possible range these parameters can assume in the optimization. There is no limit to the number of parameters that can be studied. Finally, a Budget is defined which tells **FLOW-3D****(x)** how many simulations it can execute in its search for an optimal solution. The larger the simulation budget, the closer the solution will be to the actual optimal solution.

## Connecting & Automating

A wide range of plugins are available which allow almost any workflow to be replicated and automated:

- SolidWorks
- Catia
- NX
- PTC Creo
- Rhino Grasshopper
- SpaceClaim

- Autodesk Inventor
- Abaqus
- Matlab
- Math/statistics
- Excel

The STL Morpher CAD plugin allows us to automate the typically tedious task of opening our CAD geometry, modifying it, and then exporting it to the simulation directory in a **FLOW-3D** **(x)** workflow. For example, let’s say we had a parameterized design of a pipe network in SolidWorks. We’d like to study the effect of a change in a particular pipe diameter on the flow rate through the pipe. To automate this, we would drag a SolidWorks plugin into our workflow in **FLOW-3D**** (x)**, open the SolidWorks part file in the SolidWorks plugin, and then select the diameter as a variable we’d like to control in our optimization. Then we’d specify the allowable range of this diameter. **FLOW-3D****(x)** will run a series of simulations with geometries of various diameters generated though the SolidWorks plugin. No interaction between the user and the software is necessary. We could have **FLOW-3D****(x)** identify the optimal diameter which minimizes or maximizes some flow quantity such as turbulent kinetic energy, for example.

Below is an example of a workflow created in **FLOW-3D****(x)** that uses the STL Morpher plugin to modify the STL geometry of a manifold to achieve a balanced flow through each distribution pipe of the manifold. The manifold is shown here.

With the drag-and-drop feature in the **FLOW-3D****(x)** interface, this type of workflow can be set up and running in minutes.

Each time a workflow cycle is completed, the new data is added to the response surface, further refining the relationship between the inputs and the outputs. Based on the computed response surface, a new set of inputs is created by **FLOW-3D****(x)** and another cycle of the workflow is executed. This cycle repeats until the optimization goal is achieved or the user-specified budget is reached.

A natural output from this process is a sensitivity plot which indicates how strongly the simulation results depend on the inputs. For example, we’d typically be interested in knowing whether a particular simulation parameter is worth optimizing. If its effect on the results is minimal, we know that we need to look at some other parameter in the simulation to improve our design. The sensitivity graphs below show the standard deviation of the flow rates through the manifold outlets on the vertical axis and the variations in the outlet diameter. The interaction is strong for all three, indicating they all contribute significantly to the results and are indeed what we should be considering.

The sensitivity graphs shown here show the standard deviation of the flow rates through the manifold outlets on the vertical axis and the variations in the outlet diameter. The interaction is strong for all three, indicating they all contribute significantly to the results and are indeed what we should be considering.

## Workflow Automation

Aside from optimization and parameter sensitivity studies, **FLOW-3D****(x)** can also be used for workflow automation without performing any optimization. For example, if we simply wanted to run a series of simulations with a specified set of inputs and then create a set of post-processed results, we could do that. In that case, we would define a CSV file with the inputs we’d like to simulate (e.g., viscosity, turbulence model selection, mesh size, inlet velocity) and execute these simulations automatically.

As you can see, using *FLOW-3D***(x)** alongside any * FLOW-3D* product makes you more productive, provides more in-depth clarity about your design, and allows you to get the most value possible from your CFD workflow.