CFD Simulation Types: Discretization, Approximation, and Algorithms
What You Can Learn:
CFD simulations come in many flavors, depending on the intended behavior of the system.
Different CFD simulation types involve selecting the right discretization scheme and approximations.
More advanced simulations involve iterative computation, where the system is simulated and parameters are adjusted to maximize heat dissipation from the system.
Various CFD simulation types are an important part of electrical-thermal co-simulation.
Computational fluid dynamics is a far-reaching field that stretches back to 1822, when Claude-Louis Navier and George Gabriel Stokes derived the Navier-Stokes equations describing viscous fluid flow. Before the days of computers, these equations could only be solved analytically under certain approximations and in simple geometries. Although these solutions are instructive for describing fluid behavior, computational techniques and various CFD simulation types are needed for complex systems.
Any electronic device contains multiple components and elements that make the geometry very complex, and fluid flow with heat transfer cannot be modeled in these systems using analytical techniques. Instead, designers must use numerical techniques to solve the Navier-Stokes equations and the heat equation. This is an intractable numerical problem if attempted by hand, but the right simulation program, solution algorithm, and discretization scheme will produce fluid and heat flow results for a complicated PCB.
CFD Simulation Types: Discretization, Approximations, and Algorithms
If you’ve ever looked at CFD simulation results for a given system, you’ll notice that the same system can exhibit different numerical results. This arises because different CFD simulation types all use their own discretization scheme, solution algorithm, and system approximations. As a systems engineer, your goal is to understand which CFD simulation types are best suited for different situations and what information you can glean.
Discretization and Algorithms
Discretization methods are used to chop a continuous function (i.e., the real solution to a system of differential equations in CFD) into a discrete function, where the solution values are defined at each point in space and time. Discretization simply refers to the spacing between each point in your solution space.
When a simulation intends to calculate a dynamic solution to a fluid/heat flow multiphysics problem, the finite-difference time-domain (FDTD) method is used as we need to discretize time in addition to space. In 1D, 2D, or 3D systems without time dependence (i.e., the steady-state solution), the finite element method (FEM) is used for discretization. An alternative method for 3D systems is the finite volume method (FVM), in which the system is discretized in units of volume rather than as sets of points forming a mesh.
Solution algorithms produce varying convergence and are only adaptable to certain discretization methods. The most common solution methods include:
Iterative methods: Picard, Newton, Newton-Raphson, and Uzawa methods are the common methods used to linearize systems of CFD equations and solve their finite difference equations. These linearization schemes are similar to small-signal analysis for circuit simulations.
Eulerian method: This can be used to solve the linearized Navier-Stokes equations for inviscid fluids and produces results that are largely equivalent to iterative techniques for inviscid fluids.
Network techniques: This involves defining different regions with different material properties in a system as elements in a network, where the interface between network elements is the spatial boundary between neighboring regions. A related technique is the additive Schwartz technique, which splits a CFD problem into multiple boundary value problems in different domains and adds up the results.
Transformation methods: These are linearization techniques that are only applicable in specific geometries. By applying an analytical or numerical transformation, the system can be linearized and solved easily using an iterative method.
Adaptive meshing: This involves using one of the previous methods in a grid with fine to coarse meshing in the system. Critical areas of the system that require high accuracy use fine mesh size, while other areas where lower accuracy can be tolerated use coarser mesh size.
The approximations used in CFD simulation types are intended to reduce the numerical complexity of the system, thereby increasing the convergence speed. When taken alongside coarse or adaptive discretization, you can reduce the simulation time for a complex system. However, you sacrifice accuracy and granularity in that the system may not behave in the manner you’ve idealized through approximation. Here are the methods used to approximate CFD simulation types:
Dimension reduction: This refers to reducing the number of dimensions in the simulation. This can also involve simulating steady-state fluid and heat flow rather than looking at the transient behavior.
Flow behavior approximation: This simply refers to idealizing fluid flow in the system. Typically, when dealing with fans that supply air across a system, you can look in the laminar flow regime to get an idea of how heat will move away from hot components and accumulate in downstream components.
Geometry simplification: This simply involves replacing a very complex body in the system with a very simple body. This is commonly used when simulating systems over a large length scale; complex structures that are much smaller than the length scale are simply approximated as simpler bodies. As an example, a surface-mount IC could be replaced with a simple box to represent the outline of the package (see the image below). This reduces the number of mesh points needed to describe the object, thereby increasing the convergence speed.
Laminar flow in a CFD simulation with simplified geometry.
System Optimization with CFD Algorithms
Research over the past 10-20 years has focused on using numerical optimization algorithms to maximize fluid or heat flow away from a complex system. Numerical optimization methods must be used in these systems simply because CFD simulations for complex systems must also be performed numerically. In other words, analytical optimization techniques like gradient descent or the Kuhn-Tucker method cannot be used because the objective function is not an analytical function.
The most successful class of methods for numerical optimization of fluid and heat flow in CFD simulations is evolutionary algorithms. In this type of optimization algorithm, adjustments to system parameters are generated randomly around a current solution, and CFD results are calculated for each candidate set of system parameters. The parameter set that generates maximum heat dissipation is selected as the current best solution, and this becomes the starting point for parameter generation in the next iteration.
Innovators in this space can use the following process to develop evolutionary optimization techniques around different CFD simulation types:
The user selects the system parameters they want to optimize, and an initial set of system parameters is generated within the allowed solution space.
Randomly generate a set of new system parameters solutions by adjusting the user-selected parameters with a linear mutation strategy.
Solve the Navier-Stokes equations and heat equation with the system parameters generated in (2) using a CFD algorithm.
If the current system parameters do not provide higher fluid flow/heat flow, go to (2) and generate a new set of system parameters.
If the CFD algorithm does provide higher fluid flow/heat flow, keep the current set of system parameters as the best solution. Use these parameters as the starting point in (2).
Once the system completes a specific number of iterations, or if the solution stops improving over a specific number of iterations, terminate the algorithm and keep the current system parameters as the best possible solution.
The convergence time in each iteration is primarily determined by the CFD simulation types used to generate candidate solutions. These types of system optimization problems are complex, but newer software tools will play a major role in their adoption. Any simulator you use needs to take data directly from your PCB layout and generate an adaptive mesh to balance accuracy and convergence rate, and the best multiphysics simulators will integrate with your PCB design software.
Once you create your electronic system with a powerful PCB design and analysis software package, you can examine heat and fluid flow using different CFD simulation types with the Celsius Thermal Solver from Cadence. The SI/PI Analysis Point Tools also include electrical simulation features for design signoff. This platform gives you everything you need for electrical and thermal analysis in your PCB.
If you’re looking to learn more about how Cadence has the solution for you, talk to us and our team of experts.