Back to all tutorials

Static Mixer - CFD Simulation SimFlow Tutorial

1. Download SimFlow

SimFlow is a general purpose CFD Software

To follow this tutorial, you will need SimFlow free version, you may download it via the following link:
Download SimFlow

2. Create Case

Open SimFlow and create a new case named static_mixer

  1. Go to New panel

  2. Provide name static_mixer

  3. Click Create Case

staticMixer 01 Launcher

3. Import Geometry

Firstly we need to Download GeometryStaticMixer

  1. Click Import Geometry

  2. Select geometry file staticMixer.stl

  3. Click Open

staticMixer 02 Import geometry

4. Imported Geometry Units

The STL format does not contain the unit information which are defined during the geometry export. If we do not know the exported unit, we can estimate it based on the total size of the model. It is displayed next to Geometry size label. In our case, the default unit meter is correct.

  1. To confirm default unit meter, press OK

staticMixer 02 unit

5. Geometry - Static Mixer

After importing geometry, it will appear in the 3D window.

  1. Click Fit View to zoom in on the geometry.

staticMixer 03 Geometry

6. Meshing Parameters - Static Mixer

In order to create the mesh, we need to enable meshing for the imported geometry.

  1. Go to Hex Meshing panel

  2. Select staticMixer geometry

  3. Enable Mesh Geometry

staticMixer 04 Hex mesh

7. Base Mesh - Domain

The imported geometry represents only the mixer blades. By using a cylinder base mesh we will define the pipe housing.

  1. Switch to Base tab

  2. Choose base mesh type
    Base Mesh Type Cylinder

  3. Set the cylinder axis
    Axis Z

  4. Set the size of the cylinder base mesh:
    Length \({\sf [m]}\)0.12
    Radius \({\sf [m]}\)0.0154

  5. 67 Set the following parameters accordingly
    Radial Division12
    Axial Division100
    Central Division21

staticMixer 05 Base Mesh v2

8. Base Mesh - Boundaries

We need to assign individual names to each side of the base mesh. This will allow us to apply different conditions to each side.

  1. Choose boundary names accordingly
    First Disk inlet
    Second Disk outlet
    Cylinder wall (double click on the name to type)

  2. Choose boundary types accordingly
    First Disk patch
    Second Disk patch
    Cylinder wall

staticMixer 06 Mesh Boundaries

9. Material Point

Material Point tells the meshing algorithm on which side of the geometry the mesh is to be retained. Since we are considering flow inside the cylinder we need to place the material point outside the blades.

  1. Switch to Point tab

  2. Specify the location of the material point inside staticMixer
    Material Point000.1

You can specify the point location from the 3D view. Hold the CTRL key and drag the arrows to the destination.

staticMixer 07 Material point

10. Start Meshing

  1. Go to Mesh tab

  2. Start the meshing process with Mesh button

staticMixer 08 Meshing

11. Mesh

After the meshing process is finished the mesh should appear in the graphics window.

  1. Click Fit View to zoom in the mesh

staticMixer 09 Mesh

12. Check Mesh

Check the mesh quality and cells statistics.

  1. Expand the Options list next to default region

  2. Select Check option

  3. Checks summary will be displayed on the command window. It also shows checking criteria.

staticMixer 10 Mesh Check

13. Create Geometry - Box

To provide two different fluids into the mixer, we need to split the inlet boundary into two separate ones. We will use additional geometry to mark the selection for the extraction.

  1. Go to Geometry panel

  2. Select Create Box

  3. Set the origin and box dimensions
    Origin \({\sf [m]}\)-0.020-5e-03
    Dimensions \({\sf [m]}\)0.050.021e-02

staticMixer 11 Geometry box

14. Inlet Boundary (I)

Now, using the new geometry we will extract a new boundary from the original inlet.

  1. Go to MESH panel

  2. Expand the Options list next to inlet boundary

  3. Select Extract From option

staticMixer 12 Inlet extract

15. Inlet Boundary (II)

  1. Check box_1

  2. Click Extract

staticMixer 13 Inlet extract 2

16. Inlet Boundary (III)

  1. Change the names accordingly
    inletinlet_scalar0
    inlet_in_box_1inlet_scalar1
    (double click on the name to change it)

staticMixer 14 Inlet extract 3

17. Inlet Boundary (IV)

As the results of the extraction, we should receive two separate inlet boundaries. Both boundaries can be distinguished by the different colors.

  1. Expand Graphics Objects List

  2. Uncheck the icon next to the Geometries to hide all geometry and press the Esc key

  3. Check if the inlet boundaries are colored differently

staticMixer 15 Inlet preview

18. Domain Modification (I)

With SimFlow, the user can also modify the existing mesh domain. We can extend the volume by extruding a specific boundary. For the purpose of this tutorial, we will extend the mixer tube by extruding the outflow face.

  1. Select outlet boundary

  2. Expand the Options list

  3. Select Extrude option

staticMixer 16 Domain Modification 1

19. Domain Modification (II)

The outlet boundary will be extended by 5 cm and additional mesh will be split into 37 cells in the extrusion direction.

  1. Set the layer’s number accordingly
    Number of Layers37

  2. Set the thickness accordingly
    Thickness0.05

  3. Click Extrude

staticMixer 17 Domain Modification 2

20. Select Solver - PIMPLE

We want to analyze the incompressible turbulent flow. For this purpose, we will use the PIMPLE (pimpleFoam) solver.

  1. Go to SETUP panel

  2. Filter the solvers by Incompressible flow

  3. Pick PIMPLE (pimpleFoam) solver from the list

  4. Select solver

staticMixer 18 Solver

21. Turbulence

In this tutorial, we will consider a laminar flow.

  1. Go to Turbulence panel

  2. Make sure the Laminar model is selected

staticMixer 19 Turbulence

22. Transport Properties

In order to define water properties, we go to the transport properties panel. We will use predefined fluid properties from the material database.

  1. Go to Transport Properties panel

  2. Click on Material Database

  3. Select the water

  4. Click Apply

staticMixer 20 Transport properties

23. Passive Scalar

We will use passive scalar to simulate the mixing of two different fluids. Passive scalar adds an additional transport equation to the system of governing equations. Note, the passive scalar does not influence the flow itself but only introduces a marker for tracing fluid transport. The scalar takes a value between 0 and 1 (0 represents clear water, and 1 represents water with air dissolved in it). To control scalar properties we can define either the Schmidt number or custom diffusivity. In our case, we will define custom diffusivity equal 2.0e-09 which corresponds to the water-air mixture.

  1. Go to Passive Scalars panel

  2. Press Add new passive scalar Equations button

  3. Click on scalar1 to expand options list

  4. Check the Custom Diffusivity

  5. Set the diffusivity
    Diffusivity \({\sf [m^2/s]}\)2e-09

staticMixer 21 Passive Scalar

24. Boundary Conditions - Inlet Scalar 0 (Flow)

We will define the constant inlet velocity for both inlets.

  1. Go to Boundary Conditions panel

  2. Select inlet_scalar0 boundary

  3. Set the boundary character
    inlet_scalar0 Velocity Inlet

  4. Change the type and value of the velocity
    UTypeFixed Value
    UValue \({\sf [m/s]}\)000.15

staticMixer 22 BC Inlet flow

25. Boundary Conditions - Inlet Scalar 1 (Flow)

Repeat these steps for the second inlet.

  1. Select inlet_scalar1 boundary

  2. Set the boundary character
    inlet_scalar1 Velocity Inlet

  3. Change the type and value of the velocity
    UTypeFixed Value
    UValue \({\sf [m/s]}\)000.15

staticMixer 23 BC Inlet flow2

26. Boundary Conditions - Inlet Scalar 1 (Scalars)

For the inlet_scalar1 boundary set the inflow phase value.

  1. Switch to Scalars tab

  2. Set the value of scalar1 to:
    scalar1Inlet Value \({\sf [-]}\)1

staticMixer 24 BC Inlet 2 Scalar

27. Initial Conditions

Before we start simulation we need to define the initial conditions. We will specify a constant velocity equal to 0.15 m/s which corresponds to the inlet velocity.

  1. Go to Initial Conditions panel

  2. Set the velocity
    U 000.15

staticMixer 25 Initial Condition

28. Monitors - Create Slice (I)

During calculation, we can observe intermediate results on a section plane. To add sampling data on a plane we need to define plane properties and also select variables that will be sampled. Note that runtime post-processing can only be defined before starting calculations and can not be changed later on.

  1. Go to Monitors panel

  2. Switch to Sampling tab

  3. Select Create Slice

  4. Expand Fields list

  5. Select all available options
    Fields p U scalar1

  6. Normal is defined along Z axis. Set the point to:
    Point \({\sf [m]}\)000.05

staticMixer 26 Monitor Slice 1

29. Monitors - Create Slice (II)

Create the next slice above the mixer.

  1. Expand Options list next to the slice_1

  2. Click Duplicate

  3. Click on slice_2 to expand options list

  4. Change the point coordinate
    Point [m] 000.1

staticMixer 27 Monitor Slice 1

30. Monitors - Create Slice (III)

Duplicate the slice once again and move it to the vicinity of the outlet.

  1. Expand Options list next to the slice_2

  2. Click Duplicate

  3. Click on slice_3 to expand options list

  4. Change the point coordinate
    Point [m] 000.15

staticMixer 28 Monitor Slice 2

31. Run - Time Controls

Before running computations adjust the time controls in order to capture appropriate time scales of the flow features.

  1. Go to RUN panel

  2. Set the simulation time
    Simulation Time [s] 3

  3. Set the time stepping
    Time Stepping \(\Delta t[s]\) 1e-03

staticMixer 29 Run Time Control

32. Run - Output

We can control how often results should be saved on the hard drive. We will write the results at the interval of ` 0.1 ` seconds. Note, that only saved data will be available during postprocessing.

  1. Switch to Output tab

  2. Set the write control interval
    Write Control Interval [s] 0.1

staticMixer 30 Run Output

33. Run - CPU

To speed up the calculation process increase the number of CPUs basing on your PC capability. The free version allows you to use only 2 processors in parallel mode. To get the full version, you can use the contact form to Request 30-day Trial

Estimated computation time for 2 processors: 20 minutes

  1. Switch to CPU tab

  2. Use parallel mode

  3. Increase number of CPUs for the computation
    Number of processors 2

  4. Click Run Simulation button

staticMixer 30 Run CPU

34. Results - Slice

Slices tab appears next to Residuals. Under this tab, we can preview results on the defined slice planes. The results preview is available during the calculation and we can track it on a regular basis. The newly calculated time step will be actualized automatically as long as the time selector points to the latest time step.
We want to check if the fluids are mixed at the end of the mixer. We will display scalar1 contribution at each slice in the mixer.

  1. Change tab to Slice

  2. Changed displayed results by selecting scalar1

  3. To adjust color range to actually displayed data click Adjust range to data

  4. Play with animation buttons to view the results of the analysis.

staticMixer 31 Results scalar

35. Postprocessing - ParaView

After computations are finished we can do complex visualization of our results with ParaView.

  1. Go to POSTPROCESSING panel

  2. Click on Run ParaView

staticMixer 32 Postprocessing ParaView

36. ParaView - Load Results

Load the results into the program.

  1. Select static_mixer.foam

  2. Click Apply to load results into ParaView

  3. After loading results they will be shown in the 3D graphic window

  4. Click on a Load a colour palette from the top menu and select White Background

staticMixer 33 PV Read Results

37. ParaView - Streamline (I)

We can visualize the flow by displaying the streamlines.

  1. Select Stream Tracer from top menu

  2. Set the maximum streamline length
    Maximum Streamline Length 0.3

  3. Change a seed type
    Seed Type Point Source

  4. Type the center coordinate and radius of the sphere:
    Center000
    Radius0.016

  5. Uncheck the Show Sphere

  6. Increase the number of points
    Number of Points 200

  7. Click Apply

  8. Select the scalar1 from the list

  9. Play with animation buttons to track the results of the analysis.

staticMixer 34 PV Streamline 1

38. ParaView - Streamline (II)

To show the geometry together with the streamlines we will follow below steps:

  1. Click on the eye next to static_mixer.foam

  2. Select Solid Color from the list

  3. Change the opacity
    Opacity 0.3

staticMixer 35 PV Streamline 2