25 KiB
is the wall-heat flux, c _ { p } is the specific heat coefficient at constant pressure, and is computed using the Jayatilleke (1969) expression:
P (P _ {r}, P _ {r T}) = 9. 2 4 \left[ \left(\frac {P _ {r}}{P _ {r T}}\right) ^ {3 / 4} - 1 \right] \left(1 + 0. 2 8 e ^ {- 0. 0 0 7 P _ {r} / P _ {r T}}\right).
For the hybrid wall-function approach a continuous temperature wall function proposed by Kader (1981) is implemented
T ^ {+} (y ^ {+}) = e ^ {- \Gamma} P _ {r} y ^ {+} + e ^ {- 1 / \Gamma} P _ {r T} \bigg (\frac {1}{\kappa} \mathrm{ln} (E y ^ {+}) + P (P _ {r}, P _ {r T}) \bigg),
with the blending function defined as
\Gamma = \frac {0 . 0 1 (P _ {r} y ^ {+}) ^ {4}}{1 + 5 P _ {r} ^ {3} y ^ {+}}.
Finally, the heat flux is obtained from the precomputed flow properties temperature field and the continuous temperature wall function:
\dot {q} = \frac {(T _ {w} - T) \rho c _ {p} v _ {\tau}}{T ^ {+}}.
Implementation in the energy equation
For cases where the mesh resolution is not enough to capture the near-wall gradients, a near-wall model is required to provide the correct wall-heat flux in coarse meshes. The wall-heat flux is obtained from the wall-function approach through an effective edge heat conductivity:
\kappa_ {\mathrm{eff}} = \dot {q} \frac {y}{(T _ {w} - T)}.
Deforming-mesh ALE (for transient analysis only)
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 two approaches for mesh deformation: implicit and explicit. In both approaches the mesh motion is governed by linear elasticity equations. For the implicit approach the algorithm is similar to the static stress analysis procedure in Abaqus/Standard. To avoid extra memory allocation for solving the linear elasticity equations, the matrix-free iteration strategy is used. For the explicit approach the algorithm is similar to explicit dynamic analysis in Abaqus/Explicit. Abaqus/CFD also offers distortion
control in the explicit approach to prevent elements from inverting or distorting excessively in fluid mesh movement (see “Controlling the solution accuracy and mesh quality in a deforming-mesh analysis with Abaqus/CFD ” 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 conditions on the boundary of the computational mesh.
Porous media flows (for transient analysis only)
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):
\nabla \cdot \mathbf {v} = 0,
\frac {\rho}{\epsilon} \left[ \frac {\partial \mathbf {v}}{\partial t} + \mathbf {v} \cdot \nabla \left(\frac {\mathbf {v}}{\epsilon}\right) \right] = - \nabla p + \frac {\mu}{\epsilon} \nabla \cdot \nabla \mathbf {v} - \frac {\mu}{K} \mathbf {v} - \frac {\rho c _ {F}}{K ^ {\frac {1}{2}}} | \mathbf {v} | \mathbf {v},
V 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;
p is the intrinsic average of the pressure (average taken only over the fluid-phase);
p is the density of the fluid;
is the viscosity of the fluid;
E is the porosity (volume fraction of the fluid phase) of the porous medium; and
K 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 c _ { F } is the inertial drag coefficient (also referred to as the form drag coefficient). Based on Ergun’s equation (Nield and Bejan, 2010), \begin{array} { r } { c _ { F } = \frac { C } { \sqrt { \epsilon ^ { 3 } } } } \end{array} , where is a constant that is set to a default value of . \begin{array} { r } { \frac { 1 . 7 5 } { \sqrt { 1 5 0 } } = 0 . 1 4 2 8 8 7 } \end{array} 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 34.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 C 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 \mu 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:
K = \frac {r _ {f} ^ {2}}{4 k _ {k c}} \frac {\epsilon^ {3}}{(1 - \epsilon) ^ {2}},
where k _ { k c } represents the Carman-Kozeny constant and r _ { f } 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):
(\rho C _ {p}) _ {\mathrm{eff}} \frac {\partial T}{\partial t} + (\rho C _ {p}) _ {f} \mathbf {v} \cdot \nabla T = \nabla \cdot (k _ {\mathrm{eff}} \nabla T) + q _ {\mathrm{eff}} ^ {\prime \prime \prime},
where
\left(\rho C _ {p}\right) _ {\text {eff}} = (1 - \epsilon) \left(\rho_ {s} C _ {p _ {s}}\right) + \epsilon \left(\rho_ {f} C _ {p _ {f}}\right),
and
k _ {\mathrm{eff}} = (1 - \epsilon) k _ {s} + \epsilon k _ {f}.
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. C _ { p } is the specific heat capacity at constant pressure, is the thermal conductivity, and q _ { \mathrm { e f f } } ^ { } \prime \prime \prime is the effective heat production per unit volume or the heat source ( = ( 1 { - } \epsilon ) q _ { s } { ^ { \prime \prime \prime } } + \epsilon q _ { f } { ^ { \prime \prime \prime } } ) . For the case of turbulent heat transfer within a porous medium, the fluid conductivity k _ { f } 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, \rho _ { s } \mathrm { ; } the conductivity, k _ { s } \mathrm { ; } ; and the specific heat capacity, C _ { p _ { s } ; } ; and
• the thermal properties of the fluid (matrix) phase: the molecular conductivity, k _ { f } ; and specific heat capacity, C _ { p _ { f } } , apart from the specification of other fluid properties such as the density, \rho _ { f } , viscosity, \mu , 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. 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 the pressure equation:
*PRESSURE EQUATION SOLVER
Use the following option to specify parameters for solving the energy transport equations:
*ENERGY EQUATION SOLVER
Use the following option to specify parameters for solving other transport equations, such as the turbulence transport equations:
*TRANSPORT 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, convergence history output is available that may be useful to help advanced users 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) is 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 postsmoothing sweeps can also be specified. It is recommended that you apply the same number of pre- and postsweeps. For the polynomial smoother, a minimum of two pre- and postsweeps are recommended.
| Input File Usage: | Use the following option to specify the residual smoother settings:*PRESSURE EQUATION SOLVER, TYPE=AMGfirst data linesmoother, pre-smoothing sweeps, postsmoothing 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 CFLtime increment, time period, scale factor, suggested CFL, check increment,max allowable time incrementdivergence tolerance, θ, , θ, θUse the following option to specify fixed time step incrementation:*CFD, INCREMENTATION=FIXED STEP SIZetime 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 \mathrm { C F L } \le 2 to maintain stability and time accuracy.
Steady-state solution using the transient solver
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.
Steady-state analysis using the steady-state solver
In Abaqus/CFD the steady-state solver is implemented using a second-order accurate SIMPLE-based algorithm. The nonlinear transport equations are solved sequentially for a specified number of iterations. It is up to the user to manually terminate the steady-state iterations.
Nonlinear convergence criteria
For the SIMPLE algorithm employed in Abaqus/CFD, the convergence behavior of the coupled nonlinear transport equations along with the pressure correction equation relies on the under-relaxation of the solution updates during successive iterations. Typically, this requires the specification of under-relaxation factors for the momentum, pressure correction, and other scalar transport equations such as temperature, turbulence, etc.