6.6.2 Incompressible fluid dynamic analysis

Products: Abaqus/CFD  Abaqus/CAE  

References

Overview

An incompressible fluid dynamics analysis:

Incompressible fluid dynamic analysis

Incompressible flow is one of the most frequently encountered flow regimes encompassing a diverse set of problems that include: atmospheric dispersal, food processing, aerodynamic design of automobiles, biomedical flows, electronics cooling, and manufacturing processes such as chemical vapor deposition, mold filling, and casting.

Input File Usage:          
*CFD, INCOMPRESSIBLE NAVIER STOKES

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Flow type: Incompressible


Governing equations

The momentum equations in integral form for an arbitrary control volume can be written as

where

is an arbitrary control volume with surface area ,

is the outward normal to ,

is the fluid density,

is the pressure,

is the velocity vector,

is the velocity of the moving mesh,

is the body force, and

is the viscous shear stress.

The viscous shear stress, , is also referred to as the deviatoric stress, , where . For more information, see Viscosity, Section 26.1.4.

Incompressibility requires a solenoidal velocity field expressed by

Numerical implementation

The solution of the incompressible Navier-Stokes equations poses a number of algorithmic issues due to the divergence-free velocity condition and the concomitant spatial and temporal resolution required to achieve solutions in complex geometries for engineering applications. The Abaqus/CFD incompressible solver uses a hybrid discretization built on the integral conservation statements for an arbitrary deforming domain. For time-dependent problems, an advanced second-order projection method is used with a node-centered finite-element discretization for the pressure. This hybrid approach guarantees accurate solutions and eliminates the possibility of spurious pressure modes while retaining the local conservation properties associated with traditional finite volume methods. An edge-based implementation is used for all transport equations permitting a single implementation that spans a broad variety of element topologies ranging from simple tetrahedral and hexahedral elements to arbitrary polyhedral. In Abaqus/CFD tetrahedral, wedge, and hexahedral elements are supported.

Projection method

The basic concept for projection methods is the legitimate segregation of pressure and velocity fields for efficient solution of the incompressible Navier-Stokes equations. Over the past two decades, projection methods have found broad application for problems involving laminar and turbulent fluid dynamics, large density variations, chemical reactions, free surfaces, mold filling, and non-Newtonian behavior.

In practice, the projection is used to remove the part of the velocity field that is not divergence-free (“div-free”). The projection is achieved by splitting the velocity field into div-free and curl-free components using a Helmholtz decomposition. The projection operators are constructed so that they satisfy prescribed boundary conditions and are norm-reducing, resulting in a robust solution algorithm for incompressible flows.

Least-squares gradient estimation

The solution methods in Abaqus/CFD use a linearly complete second-order accurate least-squares gradient estimation. This permits accurate evaluation of dual-edge fluxes for both advective and diffusive processes. All transport equations in Abaqus/CFD make use of the second-order least-squares operators.

Advection methods

The advection treatment in Abaqus/CFD is edge-based, monotonicity-preserving, and preserves smooth variations to second order in space. The advection algorithm relies on a least-squares gradient estimation with unstructured-grid slope limiters that are topology independent. Sharp gradients are captured within approximately 2–3 elements; i.e., , and the use of slope limiting in conjunction with a local diffusive limiter precludes over-/under-shoots in advected fields. The advection terms in the momentum and transport equations can be treated either explicitly or implicitly (see the discussion in “Time incrementation” below).

Energy equation

The energy transport equation is optionally activated in Abaqus/CFD for non-isothermal flows. For small density variations, the Boussinesq approximation provides the coupling between momentum and energy equations. In turbulent flows, the energy transport includes a turbulent heat flux based on the turbulent eddy viscosity and turbulent Prandtl number. Abaqus/CFD provides a temperature-based energy equation.

The energy equation, in temperature form, can be obtained from the first law of thermodynamics and is given by

where is the constant pressure specific heat, is the temperature, is heat flux due to conduction defined by Fourier's law, and is the heat supplied externally into the body per unit volume. The energy equation is solved in terms of temperature in Abaqus/CFD.

Input File Usage:          Use the following option to specify an isothermal flow problem (default):
*CFD, ENERGY EQUATION=NO ENERGY

Use the following option to specify a thermal (heat) transport problem with temperature as the primary transport scalar variable:

*CFD, ENERGY EQUATION=TEMPERATURE

Abaqus/CAE Usage:   Use the following option to specify an isothermal flow problem:

Step module: Create Step: General: Flow; Basic tabbed page: Energy equation: None

Use the following option to specify a thermal (heat) transport problem with temperature as the primary transport scalar variable:

Step module: Create Step: General: Flow; Basic tabbed page: Energy equation: Temperature


Turbulence models

Turbulence modeling is a pacing technology for computational fluid dynamics. There is no single universal turbulence model that can adequately handle all possible flow conditions and geometrical configurations. This is complicated by the plethora of turbulence models and modeling approaches that are currently available; e.g., Reynolds Averaged Navier-Stokes (RANS), Unsteady Reynolds Averaged Navier-Stokes (URANS), Large-Eddy Simulation (LES), Implicit Large-Eddy Simulation (ILES), and hybrid RANS/LES (HRLES). Ultimately, you must ensure that the approximations made in a given turbulence model are consistent with the physical problem being modeled.

The following turbulent flow models are available: ILES, Spalart-Allmaras (SA), and RNG k. These models span a relatively broad set of flow problems that include time-dependent flows, fluid-structure interaction (FSI), and conjugate heat transfer (CHT).

Implicit Large-Eddy Simulation (ILES)

Large-eddy simulation relies on a segregation of length and time scales in turbulent flows and a modeling approach that permits the direct simulation of grid-resolved flow structures and the modeling of unresolved subgrid features. Implicit LES is a methodology for modeling high Reynolds number flows that combines computational efficiency and ease of implementation with predictive calculations and flexible application. In Abaqus/CFD ILES relies on the discrete monotonicity-preserving form of the advective operator to implicitly define the subgrid-scale model. This model is inherently time-dependent requiring time-accurate solutions to the incompressible Navier-Stokes equations where the time scale is approximately that of an eddy-turnover time for resolve-scale flow features. In addition, this model must be run in full three dimensions, which typically imposes larger grid densities and stringent grid resolution criteria relative to more traditional steady-state RANS simulations. However, this approach is extremely flexible and can be applied to a broad range of flows and FSI problems. There are no user settings required for ILES.

Input File Usage:          Use the *CFD option without the *TURBULENCE MODEL option.

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Turbulence tabbed page: None


Spalart-Allmaras (SA) turbulence model

The Spalart-Allmaras (SA) model is a one-equation turbulence model that uses an eddy-viscosity variable with a nonlinear transport equation. The model was developed based on empiricism, dimensional analysis, and a requirement for Galilean invariance. The model has found broad use and has been calibrated for two-dimensional mixing layers, wakes, and flat-plate boundary layers. The model produces reasonably accurate predictions of turbulent flows in the presence of adverse pressure gradients and may be used for flows where separation occurs. This model is spatially local and requires only moderate resolution in boundary layers. Although initially designed for external and free-shear flows, the Spalart-Allmaras model can also be used for internal flows.

The basic form of the one-equation Spalart-Allmaras model consists of one transport equation for the turbulent eddy viscosity, . The model requires the normal distance from the wall used in the damping functions needed to control the turbulent viscosity in the near-wall region. Abaqus/CFD automatically computes the normal distance function, permitting simple specification of the model boundary conditions. The turbulent viscosity transport equation for the Spalart-Allmaras model is given by

where the damping functions and model coefficients are defined as:

where is the normal distance from the wall, and the effective turbulent viscosity is defined as

The Spalart-Allmaras model coefficients are shown in Table 6.6.2–1. In addition, a turbulent Prandtl number () can be specified.

Table 6.6.2–1 Spalart-Allmaras model coefficients.

0.13550.6227.10.66670.320.415

The Spalart-Allmaras model can provide very accurate boundary layer results if the near-wall region is resolved (near-wall resolution such that the nondimensional wall distance is approximately 3). However, the implementation of boundary conditions for the Spalart-Allmaras model in Abaqus/CFD permits the use of coarser meshes as well.

Input File Usage:          Use both of the following options:
*CFD
*TURBULENCE MODEL, TYPE=SPALART ALLMARAS

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Turbulence tabbed page: Spalart-Allmaras


RNG k–epsilon turbulence model

The RNG k model is a two-equation turbulence model that evolves an equation for the turbulent kinetic energy, k, and the energy dissipation rate, . The model equations are developed from fundamental physical principles and dimensional analysis. In general, the coefficients of the model are usually calibrated using canonical flows and experimental data. However, the RNG version of the model computes the coefficients using Renormalization Group theory (Yakhot et al., 1992). The model equations are

where

the turbulent viscosity is

and

The second and third terms on the right-hand-side of the k transport equations above represent the production and dissipation of k and , respectively.

The RNG k model coefficients are shown in Table 6.6.2–2. In addition, a turbulent Prandtl number () can be specified.

Table 6.6.2–2 RNG k model coefficients.

0.0851.421.680.720.720.0124.38

Input File Usage:          Use both of the following options:
*CFD
*TURBULENCE MODEL, TYPE=RNG KEPSILON

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Turbulence tabbed page: k-epsilon renormalization group (RNG)


Wall functions

It is well known that the k model has limitations, especially on wall-bounded flows where high values of eddy viscosity in the near-wall region are usually reproduced. For high Reynolds number flows often encountered in many industrial applications, a full resolution of the thin viscous sub-layer that occurs near a wall using a fine mesh may not be economical. Consequently, for meshes that cannot resolve the viscous sub-layer, wall functions are used to represent the effects of the viscous sub-layer on the transport processes. In Abaqus/CFD wall functions are used to avoid the need for highly resolved boundary layer meshes. This approach relies on the law of the wall to obtain the wall shear stress.

The law of the wall is a universal velocity profile that wall-bounded flows develop in the absence of pressure gradients. The law of the wall is

where

is the wall tangent velocity, is the kinematic viscosity, is the density, is the shear stress at the wall, and and are constants.

The standard law of the wall profile is limited in its usage. For example, in recirculating flows the turbulent kinetic energy k becomes zero at separation and reattachment points, where, by definition, is zero. This singular behavior causes the predicted results to be erroneous. To overcome this, the standard law of the wall is modified based on a new scale for the friction velocity following the method proposed by Launder and Spalding (1974). The modified friction velocity is given by

which does not suffer from a singular behavior at flow reattachment, separation, and at points of flow impingement. Correspondingly, the wall distances are re-scaled as follows:

The modified law of the wall reduces to the standard law of the wall under the conditions of uniform wall shear stress, and when the generation and dissipation of turbulent kinetic energy are in balance (i.e., when the turbulence structure is in equilibrium). Under such conditions, and thus, .

The wall shear stress for the modified law of the wall can be evaluated as (Albets-Chico, et al., 2008)

where the subscript p denotes the wall element center at which all the quantities of interest are evaluated. The use of the wall function requires the modification of the transport equations for k and for the wall layer of elements. Specifically, the production and dissipation terms in the governing transport equation for the turbulent kinetic energy k are modified to account for the presence of the wall.

Following the procedure outlined in (Craft et al., 2002), an average value of the production of k as given below is used in the transport equation. Such an average is obtained based on a two-layer model of the wall element (i.e., the wall element is divided into a partly viscous sub-layer region and a partly turbulent log-layer or inertial layer region).

where is the maximum of the wall normal distances of all the vertices of a given wall element, and is the wall normal distance of the edge of the viscous sub-layer, where

Similarly, an average value of the dissipation rate for k is also prescribed for the wall elements based on a two-layer integration and is given by

The transport equation for is not solved for the wall layer elements. Instead, the value of is directly prescribed at the point p as follows:

Therefore, integration of the k and transport equations is performed with a zero-flux (i.e., homogeneous Neumann boundary conditions) at the walls.

Guidelines on wall functions

The main advantage of wall functions is the relaxed requirement on mesh resolution at walls. However, the main disadvantage of using wall functions is the dependence on the near-wall mesh resolution. Wall functions based on the law of the wall approach usually work best for wall elements whose centers lie in the fully turbulent layer (inertial or log layer) for which such functions are designed. This effectively imposes a lower limit on the value of the scaled wall coordinate, . For complex geometries, ensuring that all the near wall cells are outside the viscous sublayer is difficult. The precise location of the logarithmic region is solution dependent and may vary with time. To accommodate a more flexible mesh, a resolution-insensitive wall function (Durbin, 2009) has been implemented. Briefly, this wall function is based on limiting the minimum value of such that the value of the velocity gradient at the first wall-attached element is the same as if it was located on the edge of the viscous sub-layer. A best practice for wall-bounded flows is to have at least 8–10 points in the boundary layer region where (see Casey and Wintergerste, 2000).

Deforming-mesh ALE

Many industrial CFD/FSI/CHT problems involve moving boundaries or deforming geometries. This class of problem includes prescribed boundary motion that induces fluid flow or where the boundary motion is relatively independent of the fluid flow. Abaqus/CFD uses an arbitrary Lagrangian-Eulerian (ALE) formulation and automated mesh deformation method that preserves element size in boundary layers. The ALE and deforming-mesh algorithms are activated automatically for problems that involve a moving boundary prescribed by the user or identified as a moving boundary in an FSI co-simulation. Abaqus/CFD offers distortion control to prevent elements from inverting or distorting excessively in fluid mesh movement (see Controlling the solution accuracy in an Abaqus/CFD to Abaqus/Standard or to Abaqus/Explicit co-simulation” in “Commonly used control parameters, Section 7.2.2).

To properly control the mesh motion during a simulation, it is the user’s responsibility to prescribe appropriate displacement boundary conditions on the computational mesh.

Porous media flows

Flows through fluid-saturated porous media occur in a wide range of industrial and environmental applications. Such flows can be isothermal (no heat transfer) or non-isothermal in nature. Examples include packed-bed heat exchangers, heat pipes, thermal insulation, petroleum reservoirs, nuclear waste repositories, geothermal engineering, thermal management of electronic devices, metal alloy casting, and flow past porous scaffolds in bioreactors.

Isothermal flows

For isothermal flows in porous media, many studies are usually carried out using the Darcy flow model, which is an empirical law for creeping flow through an infinitely extended uniform medium. However, non-Darcian effects such as fluid inertial effects are quite important for certain applications. The model implemented in Abaqus/CFD is based on the volume-averaged Darcy-Brinkman-Forchheimer equations that account for both Darcian and inertial non-Darcian effects. The following assumptions are made in deriving the governing equations:

  • the porosity of the medium does not vary with time or the time scale of variation of the porosity is considered to be much larger than the dominant time scales of the fluid motion; and

  • the permeability of the porous medium is isotropic and dependent only on the porosity of the medium.

Based on the above assumptions, the volume-averaged mass conservation and the Darcy-Brinkman-Forchheimer momentum equations governing the flow of an incompressible fluid in a fluid-saturated porous media can be written as follows (Nield and Bejan, 2010):

where

is the extrinsic average or the superficial velocity vector, where the average is taken over a representative volume incorporating both the solid (matrix) and the fluid phases;

is the intrinsic average of the pressure (average taken only over the fluid-phase);

is the density of the fluid;

is the viscosity of the fluid;

is the porosity (volume fraction of the fluid phase) of the porous medium; and

is the permeability of the porous medium.

The second term on the right-hand side of the momentum equation is the Brinkman term accounting for the presence of solid boundaries, the third term represents the Darcy drag term (linear in velocity), and the last term represents the inertial (quadratic in velocity) or the Forchheimer drag. The parameter is the inertial drag coefficient (also referred to as the form drag coefficient). Based on Ergun's equation (Nield and Bejan, 2010), , where is a constant that is set to a default value of . The porous drag forces (namely, the Darcy and Forchheimer drag forces) are activated for a prescribed element set by specifying them as distributed loads (see Specifying porous drag body force load in Abaqus/CFD” in “Distributed loads, Section 33.4.3).

Thus, the porous media flow problem requires the specification of the porosity, , and the permeability, , of the porous medium. The default value of can also be changed in the material property definition (see Permeability, Section 26.6.2). For the case of turbulent flow within a porous medium, the fluid viscosity includes the contribution of both the molecular and the turbulent eddy viscosities.

For conjugate flows involving domains consisting of both pure fluid regions and fluid-saturated porous media, the pure fluid porosity is set to a value of 1 by default.

Permeability-Porosity relationships

The permeability of a porous medium is generally a function of the physical properties of the interconnected pore system such as porosity and tortuosity. Determination of the appropriate permeability-porosity relationship requires a detailed knowledge of the size distribution and spatial arrangement of the pore channels in the porous medium. The permeability-porosity relation can be specified directly in Abaqus/CFD using the material property definition.

Another permeability-porosity relation supported in Abaqus/CFD is the widely accepted Carman-Kozeny model. This relation is given as follows:

where represents the Carman-Kozeny constant and represents the average radius of the porous particles/fibers.

Limitations

  • While turbulence can be activated for a porous media flow problem, a rigorous volume-averaging procedure has not been implemented in Abaqus/CFD to account for turbulence transport within the porous media. The equations governing the transport of the turbulence variables are solved by neglecting the effects of the presence of porous medium. In other words, the porous medium remains transparent (fully open) to the transport of turbulence variables.

  • When the arbitrary Lagrangian-Eulerian (ALE) and deforming mesh algorithms are activated for a porous flow problem, changes in the porosity of the medium associated with large mesh/domain deformations are not taken into account. The model is strictly valid only for the case of undeformable porous media.

Non-isothermal flows (heat transfer)

The following assumptions are made in the implementation of the volume-averaged energy equation for porous media in Abaqus/CFD:

  • The medium is isotropic.

  • Radiative effects, viscous dissipation, and work done by the changes in pressure are negligible.

  • Local thermal equilibrium is valid (i.e., solid and fluid phase temperatures are the same).

  • No net heat transfer takes place between the different phases in the porous media.

Based on the above assumptions, the effective energy equation for the porous medium can be given as follows (Nield and Bejan, 2010):

where

and

Here, is the extrinsic average or the superficial velocity vector, and is the temperature. The subscripts , , and denote the fluid phase, solid (matrix) phase, and effective medium, respectively. is the specific heat capacity at constant pressure, is the thermal conductivity, and is the effective heat production per unit volume or the heat source (). For the case of turbulent heat transfer within a porous medium, the fluid conductivity includes the contribution of both the molecular and turbulent eddy conductivities.

As seen from the above equation, the porous media heat transfer problem requires the specification of the following input:

  • The thermal properties of the solid (matrix) phase: the density, ; the conductivity, ; and the specific heat capacity, ; and

  • The thermal properties of the fluid (matrix) phase: the molecular conductivity, ; and specific heat capacity, , apart from the specification of other fluid properties such as the density, , viscosity, , and permeability, .

Linear equation solvers

The solution methods for the momentum and auxiliary transport equations in Abaqus/CFD rely on scalable parallel preconditioned Krylov solvers. The pressure, pressure-increment, and distance function equations are solved with user-selectable Krylov solvers and a robust algebraic multigrid preconditioner. A set of preselected default convergence criteria and iteration limits are prescribed for all linear equation solvers. The default solver settings should provide computationally efficient and robust solutions across a spectrum of CFD problems. However, full access to diagnostic information, convergence criteria, and optional solvers is provided. In practice, the pressure-increment equation may be the most sensitive linear system and could require user intervention based on knowledge of the specific flow problem.

Input File Usage:          Use the following option to specify parameters for solving the momentum transport equations:
*MOMENTUM EQUATION SOLVER

Use the following option to specify parameters for solving other transport equations, such as the energy or turbulence transport equations:

*TRANSPORT EQUATION SOLVER

Use the following option to specify parameters for solving the pressure equation:

*PRESSURE EQUATION SOLVER

Convergence criteria and diagnostics

Iterative solvers compute an approximate solution to a given set of equations; therefore, convergence criteria are required to determine if the solution is acceptable. While default settings should be adequate for most problems, you can modify the convergence criteria. In addition to the option of setting convergence criteria, convergence history output is available that may be useful for some advanced users to tune the solvers for performance or robustness. For the algebraic multigrid preconditioner, diagnostic information such as the number of grids, grid sparsity, and largest eigenvalue and condition number estimates are available upon request. The diagnostic information for the algebraic multigrid preconditioner is printed every time the preconditioner is computed.

Specifying convergence criteria

The linear convergence limit (also commonly referred to as the convergence tolerance), the frequency of convergence checking, and the maximum number of iterations can be set. The iterative solver will stop when the relative residual norm of the system of equations and the relative correction of the solution norm fall below the convergence limit.

Input File Usage:          Use the following options to specify convergence criteria for the momentum and auxiliary transport equations:
*MOMENTUM EQUATION SOLVER
max iterations, frequency check, convergence limit
*TRANSPORT EQUATION SOLVER
max iterations, frequency check, convergence limit
*PRESSURE EQUATION SOLVER
max iterations, frequency check, convergence limit

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Solvers tabbed page: Momentum Equation, Pressure Equation, or Transport Equation tabbed page; enter values for Iteration limit, Convergence checking frequency, and Linear convergence limit


Accessing convergence output

You can monitor the convergence of the iterative solver by accessing convergence output. When you activate the convergence output, the current relative residual norm and the relative solution correction norm are output each time the convergence is checked.

Input File Usage:          Use the following options to write convergence output to the log file for the linear equation solvers:
*MOMENTUM EQUATION SOLVER, CONVERGENCE=ON
*TRANSPORT EQUATION SOLVER, CONVERGENCE=ON
*PRESSURE EQUATION SOLVER, CONVERGENCE=ON

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Solvers tabbed page: Momentum Equation, Pressure Equation, or Transport Equation tabbed page; toggle on Include convergence output


Accessing diagnostic information

Diagnostic output is useful only for the algebraic multigrid preconditioner. For other preconditioners, only a solver initialization message is printed for diagnostic output. For the algebraic multigrid preconditioner, the number of grids, grid sparsity, and largest eigenvalue and condition number estimates are output each time the preconditioner is computed.

Input File Usage:          Use the following option to write diagnostic output to the log file for the pressure equation solver using the algebraic multigrid preconditioner:
*PRESSURE EQUATION SOLVER, TYPE=AMG, DIAGNOSTICS=ON

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Solvers tabbed page: Pressure Equation tabbed page; toggle on Include diagnostic output


Specifying a solver for the pressure equation

Three solver types are available for the solving the pressure equation. The default AMG solver uses an algebraic multigrid preconditioner and offers the choice of three Krylov solvers: conjugate gradient, bi-conjugate gradient stabilized, and flexible generalized minimal residual. The SSORCG solver uses a symmetric successive over-relaxation preconditioner and conjugate gradient Krylov solver. The DSCG solver uses a diagonally scaled preconditioner and conjugate gradient Krylov solver. The AMG solver provides many additional options that are intended for advanced usage and in cases where convergence difficulties are encountered.

Input File Usage:          Use one of the following options to specify the solver type:
*PRESSURE EQUATION SOLVER, TYPE=AMG (default)
*PRESSURE EQUATION SOLVER, TYPE=SSORCG
*PRESSURE EQUATION SOLVER, TYPE=DSCG

Abaqus/CAE Usage:   Use the following option to specify the AMG solver:

Step module: Create Step: General: Flow; Solvers tabbed page: Pressure Equation tabbed page: Solver options: Use analysis defaults

Use the following option to specify the SSORCG solver:

Step module: Create Step: General: Flow; Solvers tabbed page: Pressure Equation tabbed page: Solver options: Specify, Preconditioner Type: Symmetric successive over-relaxation

The DSCG solver is not supported in Abaqus/CAE.


Specifying the complexity level

For the AMG solver, you can choose from three preset levels or you can specify the Krylov solver and smoother settings directly. The presets are provided for convenience. Preset level 1 is primarily intended for use with meshes with good element aspect ratios and in some cases may provide a performance benefit over the default preset level 2. Preset level 3 is intended for problems that encounter convergence difficulties, which typically have elements with high aspect ratios or highly distorted elements.

Input File Usage:          Preset level 1 corresponds to the following:
*PRESSURE EQUATION SOLVER, TYPE=AMG
250, 2, 10–5
CHEBYCHEV, 2, 2, CG
V

Preset level 2 (default) corresponds to the following:

*PRESSURE EQUATION SOLVER, TYPE=AMG
250, 2, 10–5
ICC, 1, 1, CG
V

Preset level 3 corresponds to the following:

*PRESSURE EQUATION SOLVER, TYPE=AMG
250, 2, 10–5
ICC, 2, 2, BCGS
V

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Solvers tabbed page: Pressure Equation tabbed page: Solver options: Specify, Preconditioner Type: Algebraic multi-grid


Use one of the following options to choose a preset complexity level:

Complexity Level: Preset: 1, 2, or 3

Use the following option to specify the Krylov solver and smoother settings directly:

Complexity Level: User defined


Specifying the solver type

Three Krylov solver options are provided for the AMG solver. The default conjugate gradient solver is the fastest; however, in some cases where convergence difficulties are observed, the bi-conjugate gradient stabilized or flexible generalized minimal residual solvers are recommended. These two solvers are more robust but computationally more expensive than the conjugate gradient solver.

Input File Usage:          Use the following option to specify the Krylov solver type:
*PRESSURE EQUATION SOLVER, TYPE=AMG
first data line
 , , , solver type

where solver type is CG for the conjugate gradient solver (default), BCGS for the bi-conjugate gradient squared solver, and FGMRES for the flexible generalized minimum residual solver.


Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Solvers tabbed page: Pressure Equation tabbed page: Solver options: Specify, Preconditioner Type: Algebraic multi-grid


Use one of the following options to specify the Krylov solver:

Solver Type: Conjugate gradient, Bi-conjugate gradient, stabilized, or Flexible generalized minimal residual


Specifying the residual smoother settings

You can choose between incomplete factorization and polynomial residual smoothers that are used within the AMG preconditioner. While incomplete factorization is computationally more expensive than polynomial smoothing, in many cases this cost is amortized by fast convergence and robustness. Polynomial smoothing is recommended for problems with a very good mesh quality (i.e., no skewed or large aspect ratio elements). The number of pre- and post-smoothing sweeps can also be specified. It is recommended that you apply the same number of pre- and post-sweeps. For the polynomial smoother, a minimum of two pre- and post-sweeps are recommended.

Input File Usage:          Use the following option to specify the residual smoother settings:
*PRESSURE EQUATION SOLVER, TYPE=AMG
first data line
smoother, pre-smoothing sweeps, post-smoothing sweeps

Abaqus/CAE Usage:   

Step module: Create Step: General: Flow; Solvers tabbed page: Pressure Equation tabbed page: Solver options: Specify, Preconditioner Type: Algebraic multi-grid, Residual Smoother: Incomplete factorization or Polynomial, Pre-sweeps: select number, Post-sweeps: select number


Time incrementation

Abaqus/CFD uses second-order time-accurate integration by default, where all diffusive terms, advective terms, and body forces are integrated with the trapezoidal rule (Crank-Nicolson method). The default method is “second-order accurate” in that truncation errors within a time increment are proportional to the time increment squared, thus they decrease by a factor of four if the time increment is halved. You can individually select alternative time integrators for each of these terms. A fully implicit advection treatment is also available, which is particularly useful for quickly advancing toward steady-state solutions.

Time increment size control

By default, Abaqus/CFD uses an automatic time incrementation algorithm that continually adjusts the time increment size to satisfy the Courant-Friedrichs-Lewy (CFL) stability condition for advection. The default value, CFL=0.45, guarantees the solution's stability. You can further limit the automatically computed time increment size by specifying a maximum value. You can also specify an initial time increment size. This value is automatically decreased as necessary to satisfy a maximum initial CFL value of 0.45 based on the starting conditions of the flow.

Alternatively, you can select fixed time incrementation and specify the time increment size. In this case the time increment size remains constant throughout the step, but stability is not guaranteed.

Input File Usage:          Use the following option to specify automatic time incrementation (default):
*CFD, INCREMENTATION=FIXED CFL
time increment, time period, scale factor, suggested CFL, check increment,
max allowable time increment
divergence tolerance, , , , 

Use the following option to specify fixed time step incrementation:

*CFD, INCREMENTATION=FIXED STEP SIZE
time increment, time period,
divergence tolerance, , , , 

For both options above, can be set to 0.5 for the Crank-Nicolson method (default), 0.6667 for the Galerkin method, or 1 for the first-order backward-Euler method.


Abaqus/CAE Usage:   Use the following options to specify automatic time incrementation:

Step module: Create Step: General: Flow; Basic tabbed page: enter a value for Time period; Incrementation tabbed page: Type: Automatic (Fixed CFL); enter values for Initial time increment, Maximum CFL number, Increment adjustment frequency, Time step growth scale factor, Divergence tolerance

Use the following option to specify fixed time step incrementation:

Step module: Create Step: General: Flow; Basic tabbed page: enter a value for Time period; Incrementation tabbed page: Type: Fixed, enter values for Time increment and Divergence tolerance

Use the following options to specify the time integration method for viscous/diffusive terms, boundary conditions, and advective terms:

Viscous, Load/Boundary condition, or Advective: Trapezoid (1/2), Galerkin (2/3), or Backward-Euler (1)


Time-accurate analysis

The time integration parameters are all set by default to , which produces a second order–accurate semi-implicit method suitable for time-accurate transient analysis. When automatic time incrementation is used, you should specify CFL to maintain stability and time accuracy.

Steady-state analysis

In analyses where the goal is to reach a steady-state solution, the fully implicit (backward-Euler) method can be activated by setting all time integration parameters to . This method is unconditionally stable, allowing you to specify large CFL values to significantly increase the time increment size. Strict guidelines for selecting the maximum allowable CFL number are not available, and this maximum value may vary for different flows and meshes. CFL values of 10 or more have been used successfully for some analyses where only the final result is of interest.

Monitoring output variables

Abaqus/CFD provides a number of output variables that are useful for monitoring the health of a calculation and are good indicators for situations where the flow has reached a steady-state condition. These variables are written to the status (.sta) file and can be examined as the analysis job is executing. The RMS divergence output variable is useful for determining if a calculation is proceeding normally. Values of the RMS divergence output variable that are O(1) can indicate that the problem is incorrectly specified or that the calculation has become unstable. The global kinetic energy (KE) provides a good indicator for when the flow has reached a steady state; i.e., when the kinetic energy asymptotically approaches a constant value, the flow is typically achieving a steady-state condition where the velocities and pressure do not vary in time. Alternatively, the global kinetic energy can indicate a steady-periodic or chaotic flow situation as well.

Initial conditions

Initial conditions for the density, velocity, temperature, turbulent eddy viscosity, turbulent kinetic energy, and dissipation rate can be specified (see Initial conditions in Abaqus/CFD, Section 33.2.2). If the density is omitted, the specified material density is used for incompressible flow simulations.

For a well-posed incompressible flow problem, the initial velocity must satisfy the boundary conditions and also the imposed divergence-free condition; i.e., the solvability conditions. Abaqus/CFD automatically uses the user-defined boundary conditions and tests the specified velocity initial conditions to be sure the solvability conditions are satisfied. If they are not, the initial velocity is projected onto a divergence-free subspace, yielding initial conditions that define a well-posed incompressible Navier-Stokes problem. Therefore, in some circumstances, user-specified velocity initial conditions may be overridden with velocity conditions that satisfy solvability.

Boundary conditions

Boundary conditions for velocity, temperature, pressure, and eddy viscosity can be defined (see Boundary conditions in Abaqus/CFD, Section 33.3.2). During the analysis prescribed boundary conditions can be varied using an amplitude definition (see Amplitude curves, Section 33.1.2). All amplitude definitions except smooth step and solution-dependent amplitudes are available. By default, all boundary conditions are applied instantaneously. Velocity and pressure boundary conditions can be specified via user subroutines (see SMACfdUserPressureBC, Section 1.3.1 of the Abaqus User Subroutines Reference Manual, and SMACfdUserVelocityBC, Section 1.3.2 of the Abaqus User Subroutines Reference Manual).

Displacement and velocity boundary conditions at FSI interfaces are prescribed automatically by the definition of a co-simulation region; therefore, you should not prescribe these conditions at an FSI interface. Similarly, you should not define the temperature at a CHT interface; the temperature is automatically prescribed by the definition of a co-simulation region. For more information, see Preparing an Abaqus analysis for co-simulation, Section 17.2.1.

The specification of no-slip/no-penetration boundary conditions at walls requires the specification of the turbulent eddy viscosity and normal-distance function, which is handled automatically by Abaqus/CFD.

Hydrostatic pressure condition

In incompressible flows, the pressure is only known within an arbitrary additive constant value or the hydrostatic pressure. In many practical situations, the pressure at an outflow boundary may be prescribed, which, in effect, sets the hydrostatic pressure level. In cases where there is no pressure prescribed, it is necessary to set the hydrostatic pressure level at a minimum of one node in the mesh.

The fluid reference pressure can be used to specify the hydrostatic pressure level. When there are no prescribed pressure boundary conditions, the fluid reference pressure establishes the hydrostatic pressure level and makes the pressure-increment equation non-singular. If pressure boundary conditions are prescribed in addition to the reference pressure level, the reference pressure simply adjusts the output pressures according to the specified pressure level. For more information, see Specifying a fluid reference pressure” in “Concentrated loads, Section 33.4.2.

Loads

The loading types for Abaqus/CFD include applied heat flux, volumetric heat-generation sources, general body forces, and gravity loading. Gravity loading defines the gravity vector used with a Boussinesq-type body force in buoyancy driven flow (see Specifying gravity loading” in “Distributed loads, Section 33.4.3). Gravity loading can be used only in conjunction with the energy equation and will be ignored if used without the energy equation. During the analysis prescribed loads can be varied using an amplitude definition (see Amplitude curves, Section 33.1.2). All amplitude definitions except smooth step and solution-dependent amplitudes are available.

Material options

Material definitions in Abaqus/CFD follow the Abaqus conventions but also present several material properties specific to fluid dynamics. In Abaqus/CFD the typical material properties include viscosity, constant-pressure specific heat, density, and coefficient of thermal expansion. The thermal expansion is used with a Boussinesq-type body force in buoyancy driven flow.

In contrast to Abaqus/Standard and Abaqus/Explicit, which use the constant-volume specific heat, the constant-pressure specific heat is required when the energy equation is used for thermal-flow problems. For problems involving an ideal gas, the user may optionally specify constant-volume specific heat and the ideal gas constant.

Elements

Abaqus/CFD supports three element types: the 8-node hexahedral element, FC3D8; the 6-node triangular prism element, FC3D6; and the 4-node tetrahedral element, FC3D4 (see Fluid (continuum) elements, Section 28.2.1). These elements cannot be mixed in a single connected fluid domain. However, a single flow model can contain multiple domains, each with a different element type.

Output

The output available from Abaqus/CFD for an incompressible fluid dynamic analysis includes both nodal and surface field data and element and surface time-history data. For the nodal and element output, the preselected field and history data include velocity (V), temperature (TEMP), pressure (PRESSURE), and turbulent eddy viscosity (TURBNU). In addition, preselected field data include displacement (U). Preselected data are not available for surface output.

In addition to the preselected output, you can request several derived and auxiliary variables. All of the output variable identifiers are outlined in Abaqus/CFD output variable identifiers, Section 4.2.3.

Input file template

*HEADING*NODE*ELEMENT, TYPE=FC3D4*MATERIAL, NAME=matname
*CONDUCTIVITY
Data lines to define the thermal conductivity
*DENSITY
Data lines to define the fluid density
*SPECIFIC HEAT, TYPE=CONSTANT PRESSURE
Data lines to define the specific heat
*VISCOSITY
Data lines to define the fluid viscosity
*INITIAL CONDITIONS, TYPE=TEMPERATURE, ELEMENT AVERAGE
Data lines to prescribe initial temperatures at the elements
*INITIAL CONDITIONS, TYPE=VELX, ELEMENT AVERAGE
Data lines to prescribe initial x-velocity at the elements
*INITIAL CONDITIONS, TYPE=VELY, ELEMENT AVERAGE
Data lines to prescribe initial y-velocity at the elements
*INITIAL CONDITIONS, TYPE=VELY, ELEMENT AVERAGE
Data lines to prescribe initial y-velocity at the elements*AMPLITUDE, NAME=velxamp, DEFINITION=TABULAR
Data lines to define amplitude curve to be used for inlet x-velocity
**
*STEP
** Incompressible flow example
*CFD, INCOMPRESSIBLE NAVIER STOKES, INCREMENTATION=FIXED CFL
Data lines to define incrementation
**
** Boundary conditions
**
*FLUID BOUNDARY, TYPE=SURFACE
inlet_surface, VELX, value for x-velocity
inlet_surface, VELY, value for y-velocity
inlet_surface, VELZ, value for z-velocity
**
*FLUID BOUNDARY, TYPE=SURFACE
temperature_surface, TEMP, value for temperature
** 
*FLUID BOUNDARY, TYPE=SURFACE
outlet_surface, P, value for pressure
**
** Field output
**
*OUTPUT, FIELD, TIME INTERVAL=interval for field output
*ELEMENT OUTPUT
PRESSURE, TEMP, TURBNU, V
*NODE OUTPUT
PRESSURE, TEMP, TURBNU, V
**
** History output
**
*OUTPUT, HISTORY, FREQUENCY=interval for history output
*ELEMENT OUTPUT, ELSET=element set for history output, FREQUENCY=SURFACE*END STEP

Additional references