Next Generation Solver

Introduction to CFD2

In an effort to continuously evolve the solution efficiency of the Autodesk® CFD, a new solver has been developed. For CFD 2016, the solver is available with limited functionality, and is called "CFD2." You can enable the solver by both modifying a series of flags and by running a configuration tool included in the CFD 2016 installation folder. Development for CFD2 is planned to continue into future versions of Autodesk® CFD, and is being provided in CFD 2016 as an early preview.

CFD2 is designed specifically for large simulations containing on the order of 10 to 50 million elements. Unlike the original solver, CFD2 enables each process to run on multiple threads as a process/thread hybrid. Further, CFD 2 is designed to optimize cache performance. CFD 2 has shown significant solution time speedup for large models when using multiple compute nodes. The performance for smaller models on a single compute node is comparable to that of the default CFD solver.

The CFD2 architecture is ideal for systems with large numbers of processors and clusters consisting of multiple compute nodes. It works well with systems that use standard network connectivity. Higher performance connectivity such as Infiniband further improve solution speed, but is not required to realize the benefits of CFD2.

Supported Functionality

CFD2 supports a limited amount of CFD 2016 functionality:

Limitations

The following functional items are not supported by CFD2 in CFD 2016:

  • Radiation
  • Compressible flow
  • Two dimensional models
  • Turbulence models other then k-epsilon
  • Surface parts
  • Variable material properties
  • Scalars
  • Check valve material devices
  • TEC material devices
  • Non-Newtonian fluids
  • PCB material devices
  • Rotating regions
  • Monitor points
  • Nodal heat sources
  • Non-constant boundary conditions
  • Period boundary conditions
  • Motion
  • Extrusion meshing
  • Cavitation
  • Moist air
  • Smoke visibility
  • Water age
  • Thermal comfort
  • Heat Exchanger material devices
  • Free surface

To Enable the CFD2 Solver

There are two primary steps for enabling CFD2:

Run the CFD2 Configuration Wizard

The Configuration Wizard is located in the CFD installation folder (Program Files\Autodesk\CFD 2016), and is called CFD2Config.exe. If you do not have permissions to run this file, please see your system administrator for assistance.

There are two ways to configure CFD2: either for a single node or for a cluster. The configuration steps and options depend on the method you select.

Single Node

Autodesk® CFD automatically defines the configuration options based on your system configuration. Either accept the defaults or modify the Configuration Options as appropriate for your system:

Configuration Option

Description

Sockets / Node

Typically set to the number of sockets on a compute node. Note that one MPI process will be launched on each socket.

Cores / Sockets

This is the physical core count per socket, and defines the number of compute threads spawned per MPI process.

Hyper-threading

Enable if your system employs hyper threading. The Hyper-threading is only used when setting affinity; virtual cores are not loaded to do any work.

Affinity

Affinity locks each computational thread to a particular core. This may improve performance because it avoids having the operating system decide which core to use.

Convergence Criteria

This indicates the criteria cutoff to use for the calculation. A value of 0.01 is fine for most analyses

Time Step Size

This is used to set a fixed pseudo-time step size, and is rarely used.

Display Frequency

As CFD2 runs, it sends results to the CFD user interface at the iteration interval defined by the Display Frequency. This allows you to review results while the simulation is computing in the same manner as with the default solver.

Sending results after every iteration is time consuming, so it is a good idea to set a value of 10 for efficient communication between CFD2 and the user interface. If the visual updates occur too quickly, you can reduce the communication by increasing the Display Frequency to 100. This improves the parallel performance as well.

Cluster

Step1: Enter the IP addresses for the Head Node and Slave Nodes.

Step 2: Define the Configuration Options. Autodesk® CFD automatically defines these settings based on your system configuration. Either accept the defaults or modify the Configuration Options as appropriate for your cluster. The Configuration Options are the same as for the Single Node, with the addition of Intra-node Communication:

Configuration Option

Description

Intra-node Communication

Causes MPI message passing occurring between processes on the same node to be accomplished via sockets. This is not a widely needed option, but is available in case your system requires it.

Step 3: Enter your User Credentials. This allows MPI to use your credentials to allow access to the compute machines.

When you run the Configuration wizard for a cluster implementation, the following steps occur:

  1. An HPCAnalyze folder is created in the CFD installation folder. This directory is defined as a network share so that all compute nodes can access it.
  2. The compute node in the installation folder is considered to be the head node.
  3. The folder CFD2_share_MPICH is created as a network share to allow all processes equal access to it.
  4. The CFD2_config.dat file is created, and the folders for the CFD_share_directory and HPCAnalyze_share_directory are defined.
  5. A file called "nodes.txt" is written to the HPCAnalyze folder. This file contains the IP addresses for the compute nodes with the number of Sockets / Node as specified on the Configuration Options dialog.
  6. Your credentials (username and password) are stored in the HPCAnalyze\cred.txt file.

Enable and Assign Flag Settings

There are three flags that need to be configured to enable CFD2:

Flag

Value

Description

dump_cfd2_flag

For flow only, assign a value of 2.

For thermal only, assign 4.

For combined flow and thermal, assign 6.

This tells the CFD2 solver which type of model data to expect.

mesh_BLSimplex

1

The CFD2 solver does not support prism elements, so this flag causes the mesher to create only tetrahedrals. Without it, the mesher creates prism elements in the boundary layer mesh.

Split_Energy

1 for a flow and thermal simulation that contains fluid and solid elements

This ensures that nodes are not shared across fluid/solid interfaces, which is not supported by the CFD2 solver.