Você está na página 1de 174

Fluent 15.

0 Beta Features Manual

ANSYS, Inc.
Southpointe
275 Technology Drive
Canonsburg, PA 15317
ansysinfo@ansys.com
http://www.ansys.com
(T) 724-746-3304
(F) 724-514-9494

Release 15.0
February 2014
ANSYS, Inc. is
certified to ISO
9001:2008.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Beta Features Manual


Copyright and Trademark Information
2014 SAS IP, Inc. All rights reserved. Unauthorized use, distribution or duplication is prohibited.
ANSYS, ANSYS Workbench, Ansoft, AUTODYN, EKM, Engineering Knowledge Manager, CFX, FLUENT, HFSS, AIM
and any and all ANSYS, Inc. brand, product, service and feature names, logos and slogans are registered trademarks
or trademarks of ANSYS, Inc. or its subsidiaries in the United States or other countries. ICEM CFD is a trademark
used by ANSYS, Inc. under license. CFX is a trademark of Sony Corporation in Japan. All other brand, product,
service and feature names or trademarks are the property of their respective owners.

Disclaimer Notice
THIS ANSYS SOFTWARE PRODUCT AND PROGRAM DOCUMENTATION INCLUDE TRADE SECRETS AND ARE CONFIDENTIAL AND PROPRIETARY PRODUCTS OF ANSYS, INC., ITS SUBSIDIARIES, OR LICENSORS. The software products
and documentation are furnished by ANSYS, Inc., its subsidiaries, or affiliates under a software license agreement
that contains provisions concerning non-disclosure, copying, length and nature of use, compliance with exporting
laws, warranties, disclaimers, limitations of liability, and remedies, and other provisions. The software products
and documentation may be used, disclosed, transferred, or copied only in accordance with the terms and conditions
of that software license agreement.
ANSYS, Inc. is certified to ISO 9001:2008.

U.S. Government Rights


For U.S. Government users, except as specifically granted by the ANSYS, Inc. software license agreement, the use,
duplication, or disclosure by the United States Government is subject to restrictions stated in the ANSYS, Inc.
software license agreement and FAR 12.212 (for non-DOD licenses).

Third-Party Software
See the legal information in the product help files for the complete Legal Notice for ANSYS proprietary software
and third-party software. If you are unable to access the Legal Notice, please contact ANSYS, Inc.
Published in the U.S.A.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Table of Contents
1. Introduction ........................................................................................................................................... 1
1.1. New Beta Features in Fluent 15.0 ....................................................................................................... 1
2. Files ......................................................................................................................................................... 5
2.1. Fluid-Structure Interaction (FSI) ......................................................................................................... 5
2.2. Multi-Grid Parallel FieldView Export ................................................................................................... 5
3. Meshes ................................................................................................................................................... 7
3.1. Smoothing Registers ......................................................................................................................... 7
3.2. Meshing Mode Access ...................................................................................................................... 7
4. Boundary Conditions .............................................................................................................................. 9
4.1. Reference Temperature from a Boundary ........................................................................................... 9
4.2. Impedance Boundary Conditions .................................................................................................... 10
4.2.1. Overview ............................................................................................................................... 10
4.2.2. Restrictions and Limitations ................................................................................................... 11
4.2.3. Theory ................................................................................................................................... 11
4.2.4. Using Impedance Boundary Condition ................................................................................... 12
4.3. Wave Spectrum for Random Wave Boundaries ................................................................................. 14
4.4. Average Pressure Specification For Radial Profiles ............................................................................ 14
5. Physical Properties ................................................................................................................................ 15
5.1. Using REFPROP v9.1 Database in the NIST Real Gas Models .............................................................. 15
5.1.1. Legal Notice ........................................................................................................................... 15
5.1.2. Changing the Version of the REFPROP Database ..................................................................... 15
5.1.3. Additional Features Supported by the REFPROP v9.1 Database ................................................ 16
5.1.4. Limitations on Using the REFPROP v9.1 Database .................................................................... 16
6. Heat Transfer ........................................................................................................................................ 17
6.1. Enhanced Encapsulation for Shell Conduction and the S2S Model .................................................... 17
7. Heat Exchangers ................................................................................................................................... 19
7.1. Improved Curve Fitting for Heat-Exchanger Model .......................................................................... 19
7.1.1. Limitations ............................................................................................................................ 19
7.1.2. Usage .................................................................................................................................... 20
7.2. Alternate Formulation for the Dual Cell Heat Exchanger .................................................................. 20
8. Turbulence ............................................................................................................................................ 21
8.1. Explicit Algebraic Reynolds Stress Model ......................................................................................... 21
8.1.1. Accessing the WJ-BSL-EARSM Model ....................................................................................... 23
8.1.2. Applying Scale-Adaptive Simlulation (SAS) with WJ-BSL-EARSM .............................................. 24
8.1.3. References ............................................................................................................................. 24
8.2. Near-Wall Treatment for the Porous Media Interface ........................................................................ 24
8.2.1. Accessing the Turbulent Wall Treatment Option ...................................................................... 25
8.2.2. Example ................................................................................................................................. 26
8.3. Near-Wall Treatment for Models ............................................................................................. 29
8.3.1. Theory ................................................................................................................................... 31
8.3.1.1. Momentum Equations ................................................................................................... 31
8.3.1.2. k- Turbulence Models ................................................................................................... 31
8.3.1.3. Iteration Improvements ................................................................................................. 32
8.3.2. User Interface ......................................................................................................................... 33
8.3.3. Example ................................................................................................................................. 34
8.3.4. References ............................................................................................................................. 38
8.4. Buoyancy Effects on Omega-Based Turbulence Models .................................................................... 38
8.4.1. Theory ................................................................................................................................... 39
8.4.2. User Interface ......................................................................................................................... 40
9. Combustion ........................................................................................................................................... 43
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

iii

Beta Features Manual


9.1. Char Burnout Kinetics (CBK) Model .................................................................................................. 43
9.1.1. References ............................................................................................................................. 44
9.2. Modeling Electrochemistry ............................................................................................................. 44
9.2.1. Theory ................................................................................................................................... 44
9.2.2. Using Electrochemical Reactions ............................................................................................ 46
9.2.2.1. Limitations .................................................................................................................... 46
9.2.2.2. Setting Electrochemical Reactions ................................................................................. 46
10. Pollutants ........................................................................................................................................... 53
10.1. Coal Derived Soot ........................................................................................................................ 53
10.1.1. Using the Coal Derived Soot Model ...................................................................................... 55
10.1.1.1. References .................................................................................................................. 57
10.2. Atomic Balance for Sulfur ............................................................................................................. 57
10.3. Mercury Pollutant Formation ......................................................................................................... 57
10.3.1. Mercury Speciation in Coal Flames ........................................................................................ 57
10.3.1.1. Overview ..................................................................................................................... 58
10.3.1.2. Governing Equations for Mercury Transport ................................................................. 58
10.3.1.3. Mercury Speciation Model ........................................................................................... 60
10.3.1.3.1. One Step Mechanism .......................................................................................... 60
10.3.1.3.2. Two Step Mechanism .......................................................................................... 60
10.3.1.3.3. Detailed (Wilcox) Mechanism .............................................................................. 61
10.3.1.4. Species Production Sources from Different Fuel Types .................................................. 62
10.3.1.4.1. Hg and HCl Production in a Gaseous Fuel ............................................................. 62
10.3.1.4.2. Hg and HCl Production in a Liquid Fuel ................................................................ 63
10.3.1.4.3. Hg and HCl Production from Coal ........................................................................ 63
10.3.1.4.4. Hg and HCl from Char ......................................................................................... 63
10.3.1.4.5. Hg and HCl from Volatiles .................................................................................... 64
10.3.1.5. Species Production/Consumption due to Elementary Reactions ................................... 64
10.3.1.6. Mercury Species Capture and Retention in Ash Residue ................................................ 64
10.3.1.7. Mercury Species Capture using Sorbent Injection ......................................................... 65
10.3.1.8. Mercury Formation in Turbulent Flows ......................................................................... 65
10.3.1.8.1. The Turbulence-Chemistry Interaction Model ....................................................... 65
10.3.1.8.2. The PDF Approach .............................................................................................. 65
10.3.1.8.3. The Mean Reaction Rate ...................................................................................... 65
10.3.1.8.4. The PDF Options ................................................................................................. 65
10.3.2. Using the Mercury Model ..................................................................................................... 66
10.3.2.1. Setting Up the One Step Model .................................................................................... 66
10.3.2.2. Setting Up the Two Step Model .................................................................................... 67
10.3.2.3. Setting Up the Detailed (Wilcox) Model ........................................................................ 68
10.3.2.4. Defining the Fuel Streams ............................................................................................ 69
10.3.2.5. Defining the Mercury Fuel Stream Settings ................................................................... 71
10.3.2.6. Setting Mercury Parameters for Gaseous and Liquid Fuel Types ..................................... 72
10.3.2.7. Setting Mercury Parameters for a Solid Fuel .................................................................. 73
10.3.2.8. Setting Turbulence Parameters .................................................................................... 74
10.3.2.9. Specifying a User-Defined Function for the Hg Rate ...................................................... 77
10.3.2.10. Defining Boundary Conditions for the Mercury Model ................................................ 77
10.3.3. Solution Strategies ............................................................................................................... 78
10.3.4. Postprocessing ..................................................................................................................... 79
10.3.5. DEFINE_HG_RATE UDF Macro ........................................................................................... 80
10.3.5.1. Description .................................................................................................................. 80
10.3.5.2. Usage .......................................................................................................................... 81
10.3.5.3. Example 1 ................................................................................................................... 82
10.3.5.4. Hooking DEFINE_HG_RATE UDFs .............................................................................. 84

iv

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Beta Features Manual


10.3.5.5. Hg Macros ................................................................................................................... 85
10.3.6. Mercury Model Dialog Box A Quick Reference Guide ......................................................... 87
10.3.7. References .......................................................................................................................... 92
11. Acoustics ............................................................................................................................................ 93
11.1. Modal Analysis ............................................................................................................................. 93
11.1.1. Limitations .......................................................................................................................... 93
11.1.2. Modal Analysis Theory ......................................................................................................... 93
11.1.3. Using the Modal Analysis Model .......................................................................................... 94
11.1.4. Setting Model Parameters .................................................................................................... 95
11.1.5. Postprocessing of the Modal Analysis Model ........................................................................ 95
11.1.5.1. References .................................................................................................................. 95
11.2. Band Analysis of Acoustic Sources ................................................................................................. 96
12. Discrete Phase ..................................................................................................................................... 99
12.1. Extended Collision Stencil ............................................................................................................. 99
12.2. Tracking of Child Droplets Within the Same Time Step ................................................................... 99
12.3. Linearized Source Terms .............................................................................................................. 100
12.4. Volume Injections ....................................................................................................................... 101
12.4.1. Limitations ......................................................................................................................... 101
12.4.2. Using the Volume Injection ................................................................................................. 101
12.5. Discrete Element Method with Periodic Boundary Conditions ...................................................... 103
13. Multiphase Modeling ........................................................................................................................ 105
13.1. Interphase Species Mass Transfer ................................................................................................. 105
13.1.1. Overview ........................................................................................................................... 105
13.1.2. Theory ............................................................................................................................... 105
13.1.2.1. Modeling Approach ................................................................................................... 106
13.1.2.1.1. Equilibrium Model ............................................................................................. 106
13.1.2.1.2. Two-Resistance Model ....................................................................................... 107
13.1.2.2. Species Mass Transfer Models ..................................................................................... 109
13.1.2.2.1. Raoults Law ...................................................................................................... 109
13.1.2.2.2. Henrys Law ...................................................................................................... 110
13.1.2.2.3. Equilibrium Ratio .............................................................................................. 111
13.1.2.3. Mass Transfer Coefficient Models ................................................................................ 111
13.1.2.3.1. Constant ........................................................................................................... 111
13.1.2.3.2. Sherwood Number ............................................................................................ 112
13.1.2.3.3. Ranz-Marshall Model ......................................................................................... 112
13.1.2.3.4. Hughmark Model .............................................................................................. 112
13.1.2.3.5. User-Defined ..................................................................................................... 112
13.1.3. Using the Species Mass Transfer Models .............................................................................. 112
13.2. Implicit Virtual Mass Force ........................................................................................................... 116
13.3. Wave Spectrum for Random Wave Open Channel Boundaries ...................................................... 116
13.3.1. Definitions ......................................................................................................................... 117
13.3.2. Wave Spectrum Implementation Theory ............................................................................. 117
13.3.2.1. Long-Crested Random Waves (Unidirectional) ............................................................ 117
13.3.2.1.1. Pierson-Moskowitz Spectrum ............................................................................ 117
13.3.2.1.2. Jonswap Spectrum ............................................................................................ 118
13.3.2.1.3. TMA Spectrum .................................................................................................. 118
13.3.2.2. Short-Crested Random Waves (Multi-Directional) ....................................................... 118
13.3.2.2.1. Cosine-2s Power Function (Frequency Independent) .......................................... 119
13.3.2.2.2. Hyperbolic Function (Frequency Dependent) ..................................................... 119
13.3.2.3. Superposition of Individual Wave Components Using the Wave Spectrum ................... 120
13.3.3. Using the Wave Spectrum Boundary Condition ................................................................... 121
13.3.4. Reporting During Initialization and Wave Spectrum Analysis ............................................... 123
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Beta Features Manual


14. Solver ................................................................................................................................................ 125
14.1. Recursive Projection Method ...................................................................................................... 125
14.2. Reduced Rank Extrapolation (RRE) Method .................................................................................. 126
14.2.1. References ......................................................................................................................... 129
14.3. Executing Commands at a User-specified Iteration or Time Step ................................................... 129
14.3.1. Executing a Command at a Particular Iteration .................................................................... 129
14.3.2. Executing a Command at a Particular Time Step .................................................................. 130
14.4. Alternative Rhie-Chow Flux With Moving Or Dynamic Meshes ...................................................... 130
14.5. Automatic Solver Defaults Based on Setup ................................................................................... 130
15. Custom Field Functions .................................................................................................................... 133
15.1. Postprocessing Unsteady Statistics .............................................................................................. 133
16. Turbomachinery ................................................................................................................................ 135
16.1. Pitch-Scale Model ....................................................................................................................... 135
16.2. Implicit Mixing-Plane Model ........................................................................................................ 136
17. Parallel Processing ............................................................................................................................ 139
17.1. Laplace Partitioning .................................................................................................................... 139
18. Fluent in Workbench ........................................................................................................................ 141
18.1. Performing Transient Two-Way Simulations with Fluent and ANSOFT ........................................... 141
18.2. Working with Custom Input Parameters ....................................................................................... 141
18.3. Using UDFs to Compute Output Parameters ................................................................................ 142
18.4. Creating Output Parameters for Surface/Volume Monitors ........................................................... 143
19. User-Defined Functions .................................................................................................................... 145
19.1. Six-DOF Motion Constraint Using UDFs ....................................................................................... 145
20. Fluent as a Server .............................................................................................................................. 147
20.1. ANSYS Session Manager .............................................................................................................. 147
20.1.1. Using ANSYS Session Manager ............................................................................................ 147
20.1.2. Configuring ANSYS Session Manager .................................................................................. 148
20.2. Fluent Remote Console ............................................................................................................... 148
20.2.1. Connecting to ANSYS Session Manager ............................................................................... 148
20.2.2. Concurrent Access .............................................................................................................. 149
20.2.3. Interactive Prompts for Text Commands .............................................................................. 150
20.3. Fluent as a Server SDK ................................................................................................................. 150
20.3.1. IAnsysSessionManager CORBA Interface ............................................................................. 150
20.3.2. COM Connectors ................................................................................................................ 152
20.3.2.1. Interfaces .................................................................................................................. 152
20.3.2.2. Registering the COM Connectors ................................................................................ 155
20.3.3. Interactive Text User Interface Prompts ............................................................................... 156
20.3.3.1. Using Interactive Prompting ...................................................................................... 156
20.3.3.2. Exceptions ................................................................................................................. 157
20.3.3.3. Example Code Listing ................................................................................................ 157
21. Population Balance .......................................................................................................................... 159
21.1. Coulaloglou and Tavlarides Breakage .......................................................................................... 159
21.1.1. References ......................................................................................................................... 159
22. Adjoint Module Add-On .................................................................................................................... 161
22.1. Multiple Objective Design ........................................................................................................... 161
22.1.1. Overview ........................................................................................................................... 161
22.1.2. Using the Multiple Objective Design Tool ............................................................................ 162
22.2. Prescribed Displacements ........................................................................................................... 166
22.2.1. Overview ........................................................................................................................... 166
22.2.2. Usage ................................................................................................................................. 166

vi

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 1: Introduction
This document contains information about ANSYS Fluent 15.0 beta features, which provide options for
modeling and reporting that are outside of the normal scope of ANSYS Fluent. These features are not
always accessible through the standard menus and dialog boxes, and will require the following text
user interface (TUI) command to enable them:
define beta-feature-access

Note
Please note that if you enable beta features in this case, use any beta features, and then
disable beta features, the beta features you put into use may still be active, even though
the text and graphical interfaces for these features may no longer be visible. It is
therefore recommended that you save a separate copy of the case before any beta
feature is activated. This will allow you to return to working on the case with only released
features if you desire.

Important
Note that beta features have not been fully tested and validated. ANSYS, Inc. makes no
commitment to resolve defects reported against these prototype features. However,
your feedback will help us improve the overall quality of the product.

Note
Beta features are not subject to our Class 3 error reporting system. In addition, we will not
guarantee that the input files using this beta feature will run successfully when the feature
is finally released so you may, therefore, need to modify the input files.

1.1. New Beta Features in Fluent 15.0


The following beta features are new in Fluent R15:
Numerics
Automatic adjustment of various solver settings based on the class of problem being solved and the
models in use. (Automatic Solver Defaults Based on Setup (p. 130))
Average pressure specification is made available with radial profiles and with the Radial Equilibrium
Pressure Distribution option. (Average Pressure Specification For Radial Profiles (p. 14))
Wave spectrum modeling for random wave boundary conditions when using the VOF model with open
channel boundaries. (Wave Spectrum for Random Wave Open Channel Boundaries (p. 116))

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Introduction
An improved formulation of the Rhie-Chow flux treatment for unsteady terms. (Alternative Rhie-Chow
Flux With Moving Or Dynamic Meshes (p. 130))
Impedance boundary condition option for Mass Flow and Velocity boundaries. (Impedance Boundary
Conditions (p. 10))
Solver-Meshing
Ability to smooth wrinkled surfaces between marked and unmarked regions. (Smoothing Registers (p. 7))
Parallel
A Laplace partitioning option that extends the Laplace coarsening method to ensure that partition interfaces do not lie along areas of high cell aspect ratio. This improves convergence in parallel for highly
stretched cells (for instance, in some dynamic mesh applications). (Laplace Partitioning (p. 139))
Performance improvement for FieldView exports.
Turbulence
Enhancements to the existing band analysis for acoustic sources beta feature. (Band Analysis of Acoustic
Sources (p. 96))
Improvements to the formulation for the Menter-Lechner near-wall treatment (available for standard,
realizable, and RNG k- turbulence models). (Near-Wall Treatment for Models (p. 29))
Multiphase
Generalized species mass transfer model. (Interphase Species Mass Transfer (p. 105))
Implicit virtual mass treatment for improved convergence in steady-state multiphase simulations. (Implicit Virtual Mass Force (p. 116))
Discrete Phase
Volume injection type. (Volume Injections (p. 101))
DEM model compatibility with periodic boundary conditions. (Discrete Element Method with Periodic
Boundary Conditions (p. 103))
Reacting Flow
Generalized electro-chemistry model. (Modeling Electrochemistry (p. 44))
Support for NIST database version 9.1 (separately installed). (Using REFPROP v9.1 Database in the NIST
Real Gas Models (p. 15))
Adjoint
Multi-objective optimization tool that determines optimal mesh morphing to maximize an objective
function based on sensitivity data from an arbitrary set of observables and/or flow conditions. (Multiple
Objective Design (p. 161))
Prescribed design changes tool that allows you to evaluate the effect of a user-specified boundary
shape change on the chosen observable. (Prescribed Displacements (p. 166))

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

New Beta Features in Fluent 15.0


Fluent as a Server
Support for interactive prompting for text commands arguments. (Interactive Prompts for Text Commands (p. 150))
Fluent in Workbench
Data interpolation is performed if the available initial data file is not compatible with the current
mesh/case file.
EM mapping for fluid cell zones.
Ability to define output parameters for surface/volume monitors.
Ability to make multiple upstream mesh connections to the Fluent Setup cell.
Included in the information about the beta features are references to related chapters and sections in
the ANSYS Fluent 15.0 Getting Started Guide, Users Guide, Theory Guide, UDF Manual, Fuel Cell Modules
Manual, and Population Balance Module Manual.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 2: Files
2.1. Fluid-Structure Interaction (FSI)
When setting up a fluid-structure interaction problem, you can ensure that the forces mapped to the
FEA mesh are conserved by performing the following steps:
1. Enable the beta feature access (as described in Introduction (p. 1)).
2. Read an FEA mesh, using either the Read button of the Volume FSI Mapping or Surface FSI Mapping
dialog box, or the file/fsi/read-fsi-mesh text command.
3. Enable the conservation of the mapped forces by using the following text command:
file fsi conserve-force?

2.2. Multi-Grid Parallel FieldView Export


In parallel simulations with beta features enabled, three additional TUI commands are available for exporting FieldView files. These make use of parallel optimizations giving improved performance. These
commands are:
/file/export/fieldview-unstruct-parallel-grid
/file/export/fieldview-unstruct-parallel-result
/file/export/fieldview-unstruct-parallel-combined
Usage of these commands is the same as for their non-optimized counterparts. When using the paralleloptimized commands, each partition writes out a grid for each cell zone that is exported. A regions file
is also written that contains information about which grids are part of the same cell zone.

Important
FieldView does not support more than 10,000 grids

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 3: Meshes
3.1. Smoothing Registers
If the surface between a marked and an unmarked region is wrinkled, you can use the /adapt/smoothregister TUI command to smooth it.
> /adapt/smooth-register
marking register id/name

[] 0

118586 cells marked after smoothing step 1


119718 cells marked after smoothing step 2

The smoothing is accomplished by marking additional cells at the boundaries of the specified marked
register. The resulting collection of cells (i.e. the cells in the original register and the newly marked cells)
are added to a new register. The original register is preserved. You can thus see which cells have been
added to the marked region using register operations.

3.2. Meshing Mode Access


For 3D serial processing, you have the ability to switch from the solution mode of Fluent to the meshing
mode at any point, even when a mesh or case file is in memory. By enabling beta feature access (Introduction (p. 1)), the following text command will always be available in the console, and can be used
as described in Switching Between Meshing and Solution Modes in the Getting Started Guide :
switch-to-meshing-mode

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 4: Boundary Conditions


In this chapter you will find descriptions of beta functionality for setting up boundary conditions.
4.1. Reference Temperature from a Boundary
4.2. Impedance Boundary Conditions
4.3. Wave Spectrum for Random Wave Boundaries
4.4. Average Pressure Specification For Radial Profiles

4.1. Reference Temperature from a Boundary


When any fluid material inside the domain is an incompressible-ideal-gas or ideal-gas, the option of
specifying the Density Method will appear as a drop-down list in the Operating Conditions dialog
box. Select one of the inlet boundaries (velocity inlet, mass-flow-inlet, pressure-inlet) for the calculation
of the operating density. The temperature specified in the temperature tab of an inlet boundary dialog
box will be used to calculate the operating density. If no boundary type is an Inlet, then ANSYS Fluent will
calculate the reference density using the default method.

Important
This option can be used only when you specify the temperature and/or species concentration on the boundary as constant.
This option will not be available if the boundary has a profile or UDF for temperature.
This option is only available for the pressure-based solver.

Specifying the inlet boundary for the calculation of reference density helps in predicting quiescent
flows.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Boundary Conditions
Figure 4.1: The Operating Conditions Dialog Box

After enabling beta feature access (Introduction (p. 1)), you can use the following text command:
define operating-conditions use-inlet-temperature-for-operating-density
Enter the Zone-id/name [()].

4.2. Impedance Boundary Conditions


Impedance boundary conditions contains the following sections:
4.2.1. Overview
4.2.2. Restrictions and Limitations
4.2.3.Theory
4.2.4. Using Impedance Boundary Condition

4.2.1. Overview
Traditional flow boundary conditions are reflective. The non-reflective boundary condition is fully nonreflective. The impedance boundary condition (IBC) lies in between and provides the ability to specify
a partial reflection in the range from full-reflection to no-reflection. Impedance is a complex value; It is
the reflection that changes the amplitude and the phase of the incoming wave. The use of impedance
boundary conditions comes in cases where the flow in the simulation is highly influenced by reflected
waves from objects outside the computational domain. In such cases the acoustic wave interaction
from the larger domain can be modeled in the smaller domain through the use of impedance boundary
conditions.

10

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Impedance Boundary Conditions

4.2.2. Restrictions and Limitations


The impedance boundary condition is available only in the pressure-based solver. It is incompatible
with steady-state flow, multiphase, or compressible liquid models (compressible-liquid method for
density).

4.2.3. Theory
Impedance specifies an acoustic resistance in the frequency domain. It is a characteristic of the properties
of the media and specific geometry described by a ratio of the pressure perturbation to the normal
velocity perturbation at the boundary Blackstock [[1] (p. 14)].

(4.1)

where apostrophe denotes acoustic perturbation and hat denotes quantity in the frequency domain.
Fluent is a time domain solver. It cannot use the impedance from the frequency domain directly. The
above expression and all its variables have to be converted to the time domain. After the conversion
the relation between pressure and normal velocity perturbations is expressed through a convolution
integral.

(4.2)

If impedance, , is unbounded in the time domain, then admittance is used (admittance is the
inverse of impedance). Fluent uses the reflection coefficient instead of impedance/admittance, to uniformly treat unbounded cases Fung [[2] (p. 14)]. The reflection coefficient is a ratio between reflected
and incoming wave amplitudes at the boundary. It is expressed through the impedance as:

(4.3)

Using a reflection coefficient, the relation between pressure and normal velocity perturbation is:

(4.4)

The discretized form of this expression is used in Fluent to connect acoustic pressure and normal velocity.
The computed acoustic perturbations are superimposed onto the pressure and velocity from non-reflecting boundary condition equations. The non-reflecting boundary condition equations provide mean
flow values at the boundary, which drive the flow in the domain.
The data for the reflection coefficient are available in the frequency domain. As such they usually do
not satisfy the causality and reality conditions. Fluent asks you to provide the reflection coefficient data
in the form of a special approximation. This approximation is based on the system theory which ensures
that the reflection coefficient in the time domain will satisfy the above conditions Fung [[3] (p. 14)].
The reflection coefficient is represented as a sum of zero, first and second order systems. The zero system
is described with a real value, the first order system is described with a real pole, and the second order
system is described with a pair of complex conjugate poles. Introducing a system variable, = the
complete approximation for the reflection coefficient is:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

11

Boundary Conditions

+

=+
+
+

= + = + + +
where is a real term, is a number of real poles, and
number of complex conjugate pole pairs, ,

(4.5)

are real pole and its amplitude, is a

are real and imaginary part of the complex conjugate

pole, and are real and imaginary part of the amplitude of the complex pole.

To obey the causality and reality conditions, real pole , real and imaginary part

of the complex

conjugate pole should be positive. The passivity condition requires that the absolute value of zero order
term be less than 1. The above restrictions are enforced in the user interface. In addition you should
ensure that the absolute value of the reflection coefficient computed by this formula is less than 1.
The impedance data can be obtained from measurements or from an acoustic solver. Running these
data through a mathematics package will provide an approximation in terms of first and second order
poles.

4.2.4. Using Impedance Boundary Condition


The impedance boundary condition (IBC) is available for use in the Pressure Inlet, Pressure Outlet,
Velocity Inlet and Mass Flow Inlet dialog boxes. The example below shows you how to activate the
IBC for a Pressure Outlet case. Similarly, you can activate IBC for Pressure Inlet, Velocity Inlet and
Mass Flow Inlet cases for compressible flows with the pressure-based solver.
1.

Select pressure-outlet from the Boundary Condition task page and click the Edit... button.

2.

In the Pressure Outlet dialog box, enable Impedance Boundary option.


The dialog box with expand to reveal Impedance Input.

3.

In Impedance Input enter data for the reflection coefficient according to the approximation formula
(Equation 4.5 (p. 12)).

Important
If flow is tangential to the boundary, then specify either From Neighboring Cell or
Direction Vector for Back flow Direction Specification Method. Do not select Normal
to the boundary because this computes the face velocity components from flux to zero
values during initialization, which impairs solver convergence.

12

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Impedance Boundary Conditions

The IBC is implemented on top of the non-reflective boundary condition. Choose a time step that
will not make the CFL number exceed a value of 1 in the cells adjacent to the impedance boundary.

Note
The mean flow in the domain should be well established before enabling IBC.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

13

Boundary Conditions

4.3. Wave Spectrum for Random Wave Boundaries


For VOF simulations with open channel boundaries you can specify a wave spectrum to simulate random
wave boundary conditions. For details about this functionality refer to Wave Spectrum for Random
Wave Open Channel Boundaries (p. 116).

4.4. Average Pressure Specification For Radial Profiles


As a beta feature, the Average Pressure Specification option is also available with the following options
at pressure outlet boundaries:
Radial Equilibrium Pressure Distribution
a profile for Gauge Pressure with profile type Radial

Bibliography
[1] Blackstock, D.T.. Fundamentals of Physical Acoustics. John Wiley & Sons. 2000.
[2] Fung, K. -Y, Ju, H. and Tallapragada, B.. "Impedance and Its Time-Domain Extensions. AIAA Journal,
Vol. 38, No. 1 pp. 3038.. January 2000.
[3] Fung, K. -Y, Hongbin, Ju,. "Broadband Time-Domain Impedance Models. AIAA Journal, Vol. 39, No. 8.
January 2001.

14

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 5: Physical Properties


5.1. Using REFPROP v9.1 Database in the NIST Real Gas Models
By default, ANSYS Fluent uses the REFPROP v7.0 property database, which is dynamically loaded as a
shared library when you activate one of the NIST real gas models.
You have the option to use version 9.1 of the REFPROP database that is available on the Customer
Portal.

5.1.1. Legal Notice


NIST Standard Reference Data (SRD); 2013 by the U.S. Secretary of Commerce on behalf of the United
States of America. All rights reserved.
NO EXPRESS OR IMPLIED WARRANTY AS TO ANY MATTER, INCLUDING NO WARRANTY OF MERCHANTABIILTY AND NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. THE REFPROP DATABASE IS EXPESSLY MADE AVAILABLE ON AN AS IS BASIS.

5.1.2. Changing the Version of the REFPROP Database


Follow these steps to upgrade to the REFPROP v9.1 database.
1. On the Customer Portal, under Downoads Tools, locate the REFPROP v9.1 database.
2. Download the zip file containing the REFPROP v9.1 library and fluid files to your local system.
3. Unzip the zip file you have downloaded to the same directory as your case file.
4. In the ANSYS Fluent console, change the REFPROP library version by entering the following text command:
/define/user-defined/real-gas-models/nist-settings
5. When prompted with Upgrade refprop library version and fluids files? [no], answer
yes.
6. Accept the default names for the refprop library and fluid files paths when prompted:
Select refprop library path ["refprop9.1"]
Select refprop fluid files path ["refprop9.1/lib"]
ANSYS Fluent will open REFPROP v9.1 library and report this information in the console:
Opening library "refprop9.1"...
Library "refprop9.1/lnamd64/librealgas.so" opened

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

15

Physical Properties
To revert to the default REFPROP v7.0 property database, enter the /define/user-defined/realgas-models/nist-settings command again and enter no at the prompt. ANSYS Fluent will report
the change in the console window.

5.1.3. Additional Features Supported by the REFPROP v9.1 Database


The REFPROP v9.1 database includes the following additional fluids that are available for your analysis.
Pure fluids
c3cc6.fld

cf3i.fld

c1cc6.fld

cyclopen.fld

d4.fld

d5.fld

d6.fld

dee.fld

dmc.fld

ebenzene.fld

hcl.fld

ioctane.fld

md2m.fld

md3m.fld

md4m.fld

mdm.fld

mlinolea.fld

mlinolen.fld

mm.fld

moleate.fld

mpalmita.fld

mstearat.fld

mxylene.fld

novec649.fld

orthohyd.fld

oxylene.fld

pxylene.fld

r161.fld

r1216.fld

r1233zd.fld

r1234yf.fld

re143a.fld

r1234ze.fld

re245cb2.fld

re245fa2.fld

re347mcc.fld

r404a.ppf

r407c.ppf

r410a.ppf

r507a.ppf

r40.fld
Pseudofluids
air.ppf

The following fluids are now allowed in mixtures:


water, heavy water, helium, hydrogen, parahydrogen, deuterium, neon, ammonia, fluorine, methanol,
and ethanol.

5.1.4. Limitations on Using the REFPROP v9.1 Database


Note that several limitations with mixture simulations still exist. Transport property calculations are not
supported for mixtures that include water with molar concentration over 5%. Changing the REFPROP
library version is not supported when running parallel ANSYS Fluent on heterogeneous (mixed windowslinux) clusters

16

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 6: Heat Transfer


6.1. Enhanced Encapsulation for Shell Conduction and the S2S Model
In the parallel version of Fluent, you can specify that an enhanced routine is used for the encapsulation
of coupled walls that is a consequence of enabling shell conduction and/or the surface to surface (S2S)
radiation model. This enhanced encapsulation will produce partitions that yield better load balance and
smoother interfaces, which improves solver convergence. To use this option, first enable beta feature
access (as described in Introduction (p. 1)) and then enable the enhanced encapsulation using the
following text command:
define models shell-conduction enhanced-encapsulation?

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

17

18

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 7: Heat Exchangers


7.1. Improved Curve Fitting for Heat-Exchanger Model
In the dual cell heat exchanger model, you can specify the performance data table (either heat transfer
or NTU) for calculating local heat transfer in the cell. If the operating mass flow rates fall within the
range of the mass flow rates provided in the performance data table, then linear interpolation has been
found to be the best method to calculate the NTU value. However, if the operating mass flow rates fall
outside the range specified in the performance data table, then the NTU value corresponding to the
maximum mass flow rate is taken if the operating mass flow rate is greater; otherwise the NTU value
corresponding to the minimum mass flow rate is taken if the operating mass flow rate is lower. Due to
this clipping of NTU values, unexpected heat transfer may occur. To avoid this, curve fitting allows you
to use the exponential curve for extrapolation. You can use the following flavors of exponential decay
curves for NTU versus mass flow rates.
(7.1)
= +

(7.2)

is the primary mass flow rate.


where a,b,c,d,e,g are user-specified coefficients and
To use Equation 7.1 (p. 19), you have to create a file named coefficient3.dat in your working
directory, which contains the coefficients a,b, and c for each auxiliary mass flow rate row by row. For
example, if the number of auxiliary mass flow rates is 3, then the file will read as
a1 b1 c1 a2 b2 c2 a3 b3 c3

ANSYS Fluent will read the file coefficient3.dat and use the coefficients in Equation 7.1 (p. 19)
to compute the NTU value if the primary mass flow rate is out of range. If the primary mass flow rate
is within the range, the above coefficients will be ignored and linear interpolation will be used.
Similarly, to use Equation 7.2 (p. 19), you have to create a file named coefficient5.dat in your
working directory, which contains the coefficients a,b,c,d, and g for each of the auxiliary mass flow rates
row by row. For example if the number of auxiliary mass flow rates is 3 then the file will read as
a1 b1 c1 d1 g1 a2 b2 c2 d2 g2 a3 b3 c3 d3 g3

7.1.1. Limitations
This feature can be used only for one heat exchanger since it can read only one file for coefficients.
This feature is available only with the dual cell heat exchanger model (see Using the Dual Cell Heat Exchanger Model in the User's Guide).
This feature cannot be used for interpolation. Linear interpolation is used for such cases.
Curves of the type outlined above can only be used for extrapolation.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

19

Heat Exchangers

7.1.2. Usage
Make sure you first enable beta feature access, as described in Introduction (p. 1). The feature can
be activated by setting an rpvar as follows:
For curve (1), enter (rpsetvar dc/extrapolation-method exponential3) in the console. A
coefficient file named coefficient3.datwill be created in the working directory when you perform
iterations.
For curve (2), enter (rpsetvar dc/extrapolation-method exponential5) in the console. A
coefficient file named coefficient5.dat will be created in the working directory when you perform
iterations.
To go back to the default extrapolation, use the following rpvar:
(rpsetvar dc/extrapolation-method default)

7.2. Alternate Formulation for the Dual Cell Heat Exchanger


It is a well known fact that the dual cell model depends on the resolution of the core meshes. If the
core mesh is very coarse, then accuracy is severely affected. Make sure you first enable beta feature
access, as described in Introduction (p. 1), then activate the alternate formulation for heat transfer
using the following text command:
define models heat-exchanger dual-cell-model alternate-formulation?
The results obtained using the alternate formulation is mesh independent and gives a reliable solution
even on very coarse meshes. Please note that the default formulation and alternate formulation results
are comparable on a sufficiently fine core mesh. Also the alternate formulation should not be used for
non-matching core meshes.
For background information about the dual cell heat exchanger, see Using the Dual Cell Heat Exchanger
Model in the User's Guide.

20

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 8: Turbulence
This chapter contains information relating to turbulence models implemented as beta features in ANSYS
Fluent 15.0.
8.1. Explicit Algebraic Reynolds Stress Model
8.2. Near-Wall Treatment for the Porous Media Interface
8.3. Near-Wall Treatment for Models
8.4. Buoyancy Effects on Omega-Based Turbulence Models

8.1. Explicit Algebraic Reynolds Stress Model


Explicit Algebraic Reynolds Stress Models (EARSM) represent an extension of the standard two-equation
models. They are derived from the Reynolds stress transport equations and give a nonlinear relation
between the Reynolds stresses and the mean strain-rate and vorticity tensors. Due to the higher order
terms, many flow phenomena are included in the model without the need to solve transport equations
for individual Reynolds stresses. The WJ-BSL-EARSM allows an extension of the BSL turbulence
model to capture the following flow effects:
Anisotropy of Reynolds stresses
Secondary flows
The BSL model is the basic model underlying the SST model. The BSL model is described in [4].
The implementation of the WJ-BSL-EARSM in ANSYS Fluent is based on the explicit algebraic Reynolds
stress model of Wallin and Johansson [1]. Differences from the original formulation by Wallin and Johansson are explained in the following text.
With EARSM, the Reynolds stresses are computed from the anisotropy tensor according to its definition:

= +
where the anisotropy tensor is searched as a solution of the following implicit algebraic matrix
equation:

= +

= +

(8.1)

The coefficients in this matrix equation depend on the -coefficients of the pressure-strain term in
the underlying Reynolds stress transport model. Their values are selected here as =1.245, =0,
=1.8, =2.25.
The values of , , and are the same as those used in the original model by Wallin and Johansson
[1]. As for the value of , it is increased from 1.2 to 1.245 in the course of calibrating EARSM for its
use together with the BSL model.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

21

Turbulence

and denote the non-dimensional strain-rate and vorticity tensors, respectively. They are defined
as:


=
+

(8.2)

(8.3)

where the time-scale is given by:

= =

(8.4)

In order to arrive at an explicit solution of the Equation 8.1 (p. 21), the anisotropy tensor is expressed
as a polynomial based on the strain rate and the vorticity tensors as follows:

= + +

+ +

(8.5)

The -coefficients are evaluated to:

=
=

where the denominator Q is:

The invariants, which appear in the formulation of the anisotropy tensor and the coefficients, are defined
by:

=
=
=
The model representation of the anisotropy tensor Equation 8.5 (p. 22) and its coefficients follows
the original model by Wallin and Johansson [1] with two differences. First, the fourth order tensor
polynomial contribution (the
22

term) is neglected in Equation 8.5 (p. 22). Second,

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Explicit Algebraic Reynolds Stress Model


the tensor basis is slightly changed for convenience according to Apsley and Leschziner [2]. Although
the tensor basis is changed, the model remains algebraically equivalent to the original model of Wallin
and Johansson. The latter change results in correspondingly changed expressions for the coefficients
.
In three-dimensional flows, the equation to be solved for the function is of sixth order and no explicit
solution can be derived, whereas in two-dimensional mean flows the function can be derived from
a cubic equation, an analytic solution of which is recommended by Wallin and Johansson [1] also for
three-dimensional cases:

+ +
+


(8.6)

<

where

= +

= + +

In the original model by Wallin and Johansson [1], the diffusion terms in the transport equations for

= , of EARSM, where

and were calculated using the effective eddy viscosity,

= . The EARSM model, implemented in ANSYS Fluent, uses the standard eddy viscosity
= for the diffusion terms. This model change helps to avoid the problems with the asymptotic
behavior at the boundary layer edge, which were reported by Hellsten [3].
For the underlying BSL model, the standard coefficients are used.

8.1.1. Accessing the WJ-BSL-EARSM Model


The EARSM model is available after enabling beta feature access, as described in Introduction (p. 1).

Note
It is only available for 3D cases.
The model is available in the interface when the k-omega model is selected. The WJ-BSL-EARSM option
becomes available under k-omega Model, as shown in Figure 8.1: The Viscous Model Dialog Box (p. 24).

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

23

Turbulence
Figure 8.1: The Viscous Model Dialog Box

8.1.2. Applying Scale-Adaptive Simlulation (SAS) with WJ-BSL-EARSM


Scale-Adaptive Simulation (SAS) can now be combined with WJ-BSL-EARSM in the same manner as
other omega-based URANS turbulence models, as described in Setting Up Scale-Adaptive Simulation
(SAS) Modeling in the Fluent User's Guide.
For additional information about SAS, see Scale-Adaptive Simulation (SAS) in the Fluent User's Guide.

8.1.3. References
1. Wallin, S. and Johansson A., A complete explicit algebraic Reynolds stress model for incompressible and
compressible flows, Journal of Fluid Mechanics, 403, pp. 89-132, 2000.
2. Apsley, D.D. and Leschziner, M.A., A new low-reynolds-number nonlinear two-equation turbulence
model for complex flows, International Journal of Heat and Fluid Flow, 19, pp. 209-222, 1998
3. Hellsten, A., New advanced turbulence model for high-lift aerodynamics, AIAA Paper 2004-1120,
Reno, Nevada, 2004.
4. Menter, F. R., Two-Equation Eddy-Viscosity Turbulence Models for Engineering Applications. AIAA
Journal. 32(8). 15981605. August 1994.

8.2. Near-Wall Treatment for the Porous Media Interface


Two models are available in ANSYS Fluent for the treatment of porous media:
The (full) porous media model

24

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for the Porous Media Interface


The porous jump condition
The porous media model is applied in a cell zone. Several input parameters can be specified to determine
the pressure loss in the flow. The porous jump condition is a 1D simplification of the porous media
model and is applied to a face zone.
In the porous medium the standard conservation equations for turbulence quantities are solved by
default. The turbulence inside the porous medium is treated as though the solid medium has no effect
on the turbulence production and dissipation rates. A detailed description of these models can be found
in the ANSYS Fluent Users Guide.
An enhancement to the porous jump condition is now available as a beta feature, allowing you to
enable a turbulent wall treatment at the fluid side of the interface. When you assume, for example,
turbulent fluid flow over a porous medium, then the porous medium has an effect on the fluid similar
to a wall at the interface depending on its porosity. This beta option has been introduced to include
the effects of the porous material on the fluid side of such an interface. An Example (p. 26) shows the
combination of the beta porous jump option with a porous media zone.
The turbulent near-wall treatment on the fluid side of a fluid/porous media interface has mainly two
components:
In the momentum equation, the wall shear stress is introduced at the interface.
In the transport equation for the specific dissipation rate
scribed.

or dissipation rate wall values are pre-

Furthermore, the diffusion term is set to zero at the interface, and the near-wall distance is updated to
obtain a proper wall treatment.
The near-wall treatment which is used at the interface behaves identical to that of a solid wall, also
with respect to y+.

8.2.1. Accessing the Turbulent Wall Treatment Option


Near-wall treatment for the porous media interface is available after enabling beta feature access, as
described in Introduction (p. 1).
The Enable turbulent wall treatment option in the Porous Jump dialog box (see Figure 8.2: The Porous
Jump Dialog Box (p. 26)) is used to enable or disable a turbulent near-wall treatment on the fluid side
of a porous jump interface. In the Viscous Model dialog box, different near-wall treatments can be
selected depending on the turbulence model. The selected treatment is then applied both for solid
walls and at the fluid side of the interface.
The Enable turbulent wall treatment option can be used together with the k-epsilon and k-omega
turbulence models, SST and Transition SST, Reynolds Stress models, Detached Eddy Simulation
(DES) and Scale-Adaptive Simulation (SAS).

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

25

Turbulence
Figure 8.2: The Porous Jump Dialog Box

8.2.2. Example
As outlined in the introduction, the purpose of the Enable turbulent wall treatment option is to include
the effects of the porous material on the turbulent flow, for example at an interface between a fluid
and a porous medium. Figure 8.3: Setup of Two Channel Flows Separated by Wall / Porous Jump Interface;
Color Denotes Contours of the Streamwise Velocity Component. (p. 27) shows the setup of two channel
flows, which are separated by a wall in the first part and by a porous jump interface in the larger
second part. The Reynolds number based on the centerline velocity and channel half height in each
+
channel is .
The lower zone in the second part is defined as a cell zone where the porous media model has been

activated. A viscous loss term has been specified with a small viscous resistance of
in the
streamwise direction. The interface between the lower porous media zone and the upper pure fluid
zone has been defined as porous jump with a medium thickness of zero. Therefore, no pressure jump
occurs across the interface. It is only used to enable the turbulent wall treatment at the fluid side of
the interface. Two simulations have been performed with and without the turbulent wall treatment at
the interface in order to investigate the influence.
Inlet boundary condition profiles are prescribed for the velocity and the turbulence quantities which
have been obtained from a 1D periodic channel flow. The outlet is specified as pressure outlet. The
grid is refined both to the walls (y+ ~ 2) and to the interface. The SST turbulence model has been used
for both simulations.

26

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for the Porous Media Interface


Figure 8.3: Setup of Two Channel Flows Separated by Wall / Porous Jump Interface; Color Denotes
Contours of the Streamwise Velocity Component.

Figure 8.4: Profiles of the Streamwise Velocity Component Near the Outlet at Position x=0.9m Without
(top) and With (bottom) Near-Wall Treatment at the Interface. Red Denotes the Pure Fluid Side, Black
Represents the Side of the Porous Media (p. 28) shows profiles of the streamwise velocity component
at position x=0.9m near the outlet without (top) and with (bottom) near-wall treatment at the interface.
The profiles in the pure fluid zone are colored in red. The profiles in the zone where the porous media
model is activated are colored in black.
The inclusion of the wall shear stress in the momentum equation has reduced the streamwise velocity
at the interface on the fluid side. In the figures cell center, values have been plotted to allow a direct
comparison with the effect caused by the walls. The effect of the new treatment at the interface is
similar to the influence of the upper wall.
The profiles of the turbulent viscosity ratio are shown in Figure 8.5: Profiles of the Turbulent Viscosity
Ratio Near the Outlet at Position x=0.9m Without (top) and With (bottom) Near-Wall Treatment at the
Interface. Red Denotes the Pure Fluid Side, Black Represents the Side of the Porous Media (p. 29). In
this simulation, a fine grid has been used which allows you to resolve the viscous sublayer. The eddy
viscosity ratio is nearly zero close to the walls. The interface shows the same effect due to the additional
source term in the -equation when the near-wall treatment has been enabled and reduces the turbulent
viscosity ratio.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

27

Turbulence
Figure 8.4: Profiles of the Streamwise Velocity Component Near the Outlet at Position x=0.9m
Without (top) and With (bottom) Near-Wall Treatment at the Interface. Red Denotes the Pure
Fluid Side, Black Represents the Side of the Porous Media

28

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for Models


Figure 8.5: Profiles of the Turbulent Viscosity Ratio Near the Outlet at Position x=0.9m Without
(top) and With (bottom) Near-Wall Treatment at the Interface. Red Denotes the Pure Fluid Side,
Black Represents the Side of the Porous Media

8.3. Near-Wall Treatment for Models


The near-wall treatment is an essential element of any RANS turbulence model for the simulation of
wall boundary layers. Previously, the near-wall treatment would be either a wall function approach or

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

29

Turbulence
a low-Reynolds number model. The wall function approach requires the cell centre of the first grid point
to lie in the logarithmic layer. The low-Reynolds formulation requires an integration to the wall using
+
a resolution of < . Both approaches produce large errors if used outside their range of validity.
+
The wall function method deteriorates under mesh refinement. For meshes coarser than = , the
low-Reynolds formulation results in inaccurate wall values for the wall shear stress and heat transfer.
In order to obtain a less sensitive formulation, wall models have been developed which are

-insens+

itive. The computed wall values (shear stress and heat transfer) are largely independent of the
+
value provided by the grid. Any -insensitive wall treatment reverts back to its underlying lowReynolds formulation when the grid is sufficiently fine, and reverts to the wall function formulation
when the grid is coarse. The lack of a suitable low-Reynolds formulation was the main obstacle in the
formulation of such wall treatments for the -equation. While many low-Reynolds formulations have
been developed and published, they all suffered from one of more of the following problems. The formulations:
are complicated, as the formulation involved numerous highly non-linear damping terms
are numerically not robust for complex applications
may produce multiple (non-unique) solutions for the same application
may produce pseudo-transitional results, or unphysical laminar zones.

Due to these problems, the model formulation of choice in todays industrial codes for the -equation
is a two-layer formulation. The two-layer formulation avoids the solution of the -equation in the viscous
sublayer and overwrites it with an algebraic formulation based on a simple mixing-length model.
+
In Fluent the two-layer model is the basis of the Enhanced Wall Treatment (EWT), which is the -insensitive formulation for all -equation based models. In the two-layer approach, the fluid domain is
subdivided into a viscosity-affected region and a fully-turbulent region. The blending of the two regions
is determined by a turbulent Reynolds number
, which is defined as:

(8.7)

where is the density, is the wall-normal distance, is the turbulence kinetic energy, and is the
molecular viscosity.
The blending of the two regions is centred around:

>

: fully turbulent region

<

: viscosity-affected near-wall region

(default value). In the fully turbulent region the transport equations for the turbulence
=
kinetic energy and the dissipation rate are evaluated. In the viscosity-affected near-wall region the
one-equation model of Wolfstein is employed.
where

30

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for Models


While the EWT based on the two-layer formulation works well in most cases, using the turbulent
Reynolds number defined in for the demarcation of the flow regime can have the following drawbacks:
Regions far away from the wall with very low values of turbulence kinetic energy might have a turbulent Reynolds number smaller than 200, and these regions will therefore be treated with a near-wall
formulation (ex. regions with a very low turbulence level).
The Wolfstein model is not consistent with the -equation for non-equilibrium (pressure gradient)
flows, and so the solution of the combination depends on the switching location.
+
In case the mesh is coarse with a of the first cell near the switching location, the model has a
tendency to oscillate as it switches back and forth between time steps. The oscillation prevents convergence.

An alternative formulation has been developed which is not based on the two-layer approach but uses
a new low-Reynolds formulation. This alternative formulation is designed to avoid the above listed deficiencies of existing low-Reynolds formulations, as well as those of the two-layer formulation.

8.3.1. Theory
+
+
The goal of a insensitive near-wall treatment is the -independent prediction of the wall shear
stress and wall heat flux (assuming a sufficient resolution of the boundary layer). The formulation should
switch gradually from wall functions to a low-Reynolds formulation when the grid is refined. This switch
requires a blending of various quantities between the viscous sublayer and the logarithmic region.

8.3.1.1. Momentum Equations


The wall shear stress is needed as a boundary condition and is calculated as:
=

(8.8)

where is the shear stress, is the density, and


velocities

and are blended between the viscous sublayer and the logarithmic region. The

blending for

and are friction velocities. Both the friction

is:

=
+

(8.9)

The blending for the friction velocity, , is:

(8.10)

8.3.1.2. k- Turbulence Models


The main idea of the new near-wall treatment is to add a source term to the transport equation of the
turbulence kinetic energy , which accounts for near-wall effects. The modified standard model
reads:


+
= +

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

(8.11)

31

Turbulence

(8.12)

(8.13)

where =

, =

, =

, =

, and =

The additional source term is active only in the viscous sublayer and accounts for low-Reynolds
number effects. It automatically becomes zero in the logarithmic region. The exact formulation of this
source term is at this point proprietary and therefore not given here. The formulation is available for
standard, realizable, and RNG turbulence models.

8.3.1.3. Iteration Improvements


In combination with the new near-wall treatment, the iterative treatment and linearization of the
two-equation model has been improved. This modification is activated when the new wall treatment
is used.
As an example, results of an incompressible flat plate boundary layer calculation are given below in
Figure 8.6: Residual History Using the Standard Procedure (p. 32) and Figure 8.7: Residual History Using
the New Iterative Procedure (p. 33). The standard model has been used together with the new
near-wall treatment. The solution converges well with the improved treatment. With the standard
treatment, significant oscillations in the residuals can be observed.
Figure 8.6: Residual History Using the Standard Procedure

32

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for Models


Figure 8.7: Residual History Using the New Iterative Procedure

8.3.2. User Interface


The new near-wall treatment is available in the Viscous Model dialog box after the beta features have
been enabled. The additional option Near wall treatment Menter-Lechner in the Near-Wall Treatment
group box is shown in Figure 8.8: "Near wall treatment Menter-Lechner" Option in the Viscous Model
Dialog Box (p. 34).

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

33

Turbulence
Figure 8.8: "Near wall treatment Menter-Lechner" Option in the Viscous Model Dialog Box

You can enable the new near-wall treatment using the following text command:
/define/models/viscous/near-wall-treatment/ke-nwt-menter-lechner? yes

The new near-wall treatment can be used together with the standard, realizable, and RNG turbulence models.

8.3.3. Example
A zero pressure gradient flat plate boundary layer, demonstrated in Figure 8.9: Zero pressure gradient
flat plate boundary conditions (p. 35), was used as one of the basic validation cases. The experiment
was carried out by Wieghardt (1951) and was included in the AFOSR-IFP Stanford conference on turbulent
flows (Coles and Hirst (1969)). Experimental data is available for velocity profiles at different locations
and for the skin friction coefficient. Since no measurements of heat transfer are available for this case,
the Reynolds analogy has been used to estimate the distribution of the Stanton number for the experiment.

34

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for Models


The length of plate is 5 [m] and the Reynolds number, based on the plate length and freestream velocity,
is equal to 107. At the inlet, constant profiles for velocity and turbulence have been specified. The inlet
turbulence intensity is 1% and eddy viscosity ratio is 0.2. The wall is maintained at a constant temper-

between wall and inlet.

ature with a temperature difference of

Figure 8.9: Zero pressure gradient flat plate boundary conditions

The calculations have been performed with the standard model on six different grids. The corres+
ponding values are given in Table 1.
Table 8.1: y+ values for the different grids at position x 4.7 [m]
grid

0.09

0.4

2.2

5.8

10.6

21.4

at

The distribution of the skin friction coefficient and the Stanton number along the wall is shown in Figure 8.10: Skin Friction Coefficient (p. 36) and Figure 8.11: Stanton Number (p. 37). The results are in
agreement with the experimental values and show only a small variation for the different grids.
Velocity profiles in wall units for different grids at position x 4.7 [m] are present in Figure 8.12: Velocity
Profiles in Wall Units for Different Grids at Position x 4.7 [m] (p. 38). The velocity profiles show a correct
behavior in the logarithmic region.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

35

Turbulence
Figure 8.10: Skin Friction Coefficient

36

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Near-Wall Treatment for Models


Figure 8.11: Stanton Number

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

37

Turbulence
Figure 8.12: Velocity Profiles in Wall Units for Different Grids at Position x 4.7 [m]

8.3.4. References
Bibliography
[1] D.E. Coles and E.A. Hirst. "Computation of turbulent boundary layers". 1968 AFOSR-IFP-Stanford Conference. Stanford University, CA. 1968.
[2] K Wieghardt and W. Tillmann. On the turbulent friction layer for rising pressure". Technical Memorandum
1314. National Advisory Committee for Aeronautics. 1951.

8.4. Buoyancy Effects on Omega-Based Turbulence Models


Until now, the effects of buoyancy on turbulence have only been included in turbulence models based
on the transport equation of the dissipation rate . The details of the formulation are described in Effects
of Buoyancy on Turbulence in the k- Models in the Fluent Theory Guide.
Using a beta feature in ANSYS Fluent 14.5 you can account for buoyancy effects for turbulence models
based on the transport equation of specific dissipation rate . The formulation of buoyancy terms in
the -equation is derived from the corresponding terms in the transport equations of the turbulence
kinetic energy and the dissipation rate .

38

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Buoyancy Effects on Omega-Based Turbulence Models

8.4.1. Theory
The standard --model that includes the buoyancy term is written as:

+
=



+
+ +

+
=

+
+ +

where =

, =

, =

, =

, and =

(8.14)

For details on modeling of turbulence generation due to buoyancy ( ), see Effects of Buoyancy on
Turbulence in the k- Models in the Fluent Theory Guide.
The buoyancy term in the -equation is derived from the and equations using the following relations:

(8.15)

This derivation leads to the following transformation of the buoyancy source terms:

(8.16)

(8.17)

The first part of the buoyancy term in the equation comes from the transport equation of the
dissipation rate. The second part of the term comes from the turbulence kinetic energy equation. The
model coefficient, , is replaced with
+ , where is the corresponding coefficient of the production term in the -equation. In the SST model, this coefficient is a linear combination of the corresponding coefficients of the - and the transformed - models. For the - model, the value of is
0.44. The value for in the standard - model is recovered from this value of .
The SST model with buoyancy terms is written as:

+
=



+
+ +

+
=

+
+ +

The coefficients, , for the SST model are functions of :



= +

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

(8.18)

(8.19)

39

Turbulence
Where, and stand for coefficients of the - and - models respectively. Without low Reynolds
number corrections, the coefficients have the following values:

The final formulation of the buoyancy source terms for the transport equations are:

(8.20)

The -equation buoyancy formulation term, , can be applied to the following turbulence models:
Standard and SST - models
Transition SST

-based differential Reynolds stress models

Explicit Algebraic Reynolds Stress models (Beta)


SST-DES and SAS
The value of the coefficient depends on the turbulence model being implemented.
The buoyancy term in the transport equation for Reynolds stresses is identical to the term which appears
in the -based differential Reynolds stress models.

8.4.2. User Interface


The new buoyancy option for turbulence models based on transport equations of the specific dissipation
rate () can be accessed in the viscous model panel once the beta features have been enabled. When
you select the k-omega (2 eqn) option under the Viscous Model panel, you can select one of the following options:
No Buoyancy Effects on Turbulence

40

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Buoyancy Effects on Omega-Based Turbulence Models


This option is the default setting which will not enable the buoyancy effects on turbulence.
Buoyancy Effects on Turbulence Production
Enabling this option will include the buoyancy term in the transport equation for the turbulence
kinetic energy or Reynolds stresses. Enabling this option also will also include the second term in
Equation 8.20 (p. 40) for the transport equation.

Full Buoyancy Effects on Turbulence


This option activates the full buoyancy model. This option also includes the first term in Equation 8.20 (p. 40) which represents the contribution from the -equation.

You can also enable the new buoyancy option using the following text command:
define/models/viscous/kw-buoyancy-effects?

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

41

42

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 9: Combustion
9.1. Char Burnout Kinetics (CBK) Model
The Char Burnout Kinetics (CBK) model describes char oxidation under conditions relevant to pulverized
coal combustion processes. It includes effects of thermal annealing and ash inhibition on the char
combustion. The form of this model that is available in ANSYS Fluent only applies to atmospheric conditions and has no statistical kinetics.
The CBK model can be defined as a material property in the Create/Edit Materials dialog box (Figure 9.1: The Create/Edit Materials Dialog Box with the CBK Model Selected (p. 43)) for problems in which
you have defined discrete-phase injections.
Materials Edit...
Figure 9.1: The Create/Edit Materials Dialog Box with the CBK Model Selected

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

43

Combustion
Once you have selected combusting-particle from the Material Type drop-down list, you can select
cbk from the Combustion Model drop-down list in the Properties group box. The New CBK-8 Combustion Model dialog will open, allowing you to set the char reactivity parameters (see Figure 9.2: The
New CBK-8 Combustion Model Dialog Box (p. 44)). The default values are acceptable.
Figure 9.2: The New CBK-8 Combustion Model Dialog Box

9.1.1. References
1. FORTRAN program CBK8. Brown University, Providence, 1998.
2. R. Hurt, J. K. Sun, and M. Lunden. A Kinetic Model of Carbon Burnout in Pulverized Coal Combustion.
Combustion and Flame, 113:181-197, 1998.
3. R. E. Mitchell, R. Hurt, L. L. Baxter, and D. R. Hardesty. Compilation of Sandia Coal Char Combustion Data
and Kinetic Analyses: Milestone Report. Technical Report SAND92-8208, Sandia National Laboratory, Livermore, CA, 1992.
4. J. K. Sun and R. Hurt. Mechanics of Extinction and Near-Extinction in Pulverized Solid Fuel Combustion.
Proceedings of the Combustion Institutes, 28:2205-2213, 2000.

9.2. Modeling Electrochemistry


9.2.1. Theory
An electro-chemical charge-transfer reaction is a chemical reaction between neutral species, charged
ions, and electrons. Phenomena associated with electro-chemistry include batteries, fuel cells, corrosion
and electro-deposition. Charge-transfer reactions occur at phase-interfaces between electrodes (anode
or cathode) and an electrolyte. This interface is referred to as a Faradaic surface.
Typically, electro-chemical systems involve a pair of "half-cells", where an electro-chemical reaction at
an anode-electrolyte interface releases an ion into the electrolyte and an electron into an external circuit.
The ion moves across the electrolyte to the cathode-electrolyte interface, where it combines with an
electron from the external circuit to form a neutral species.
In ANSYS Fluent, the charge-transfer reaction rate at Faradaic interfaces is determined by the ButlerVolmer equation:

44

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

(9.1)

Modeling Electrochemistry
where:

= Faradaic current density (A/m2)

= exchange current density (A/m2)

= total number of chemical species

= th species mass fraction

= thspecies dimensionless power

= anodic charge transfer coefficient (symmetry factor)

= cathodic charge transfer coefficient (symmetry factor)

= Faraday constant (C/kmol)

= Universal Gas Constant (J/kmolK)

= Temperature (K)

= overpotential (V)

The overpotential, , is calculated as,

(9.2)

where is the electrode potential (V), is the electrolyte potential (V), and

is the equilibrium

potential (V).
The driving force for the electro-chemical reaction is hence the potential difference across the electrodeelectrolyte interface. The electric potential is governed by the Gauss law, which expresses charge conservation:

(9.3)

where is the electric conductivity (


of the

th

), is the

th

species charge, and

is the concentration

species.

Note that Equation 9.3 (p. 45) does not have an unsteady term. ANSYS Fluent assumes charge neutrality,
so the right-hand side of Equation 9.3 (p. 45) is zero. Charge neutrality is not explicitly enforced. Instead,
it is assumed that there are unrepresented species of identical opposite charge that cancel the represented species charge. Typically, the electric potential changes gradually through the electrodes and
electrolyte, but very rapidly across the Faradaic interface. This sharp change is not resolved and is
modeled as a jump across the electrode-electrolyte interface.
The electric field may exert a force on the charged species in the electrolyte. This results in an additional
term in the species transport equation:


+ + +

(9.4)

where the last term is the species migration term, is the th species diffusivity, and the remaining
notation is the same as in Equation 7.1 in the Fluent Theory Guide.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

45

Combustion
Electrochemistry can contribute two distinct sources of heat in the energy equation (see Equation 5.1
in the Fluent Theory Guide). The first term is due to the charge-transfer reaction at the Faradaic interface
and is modeled as,

(9.5)

where is Faradaic current density and is the over-potential (see Equation 9.2 (p. 45)). The second
term is Joule heating due to motion of charges,

= =

(9.6)

9.2.2. Using Electrochemical Reactions


9.2.2.1. Limitations
The following limitations apply when using electrochemical reactions:
The electrodes and electrolyte must be distinct fluid zones
The porous media approach where electrodes and electrolytes are modeled as unresolved inter-penetrating
continua requires two overlapping potential equations and has not been implemented.

9.2.2.2. Setting Electrochemical Reactions


The steps to set-up and solve an electrochemical system are outlined below.
1. Enable the beta feature access (as described in Introduction (p. 1)).
2. For unsteady simulations, select Transient from the Solver group box in the General task page.
3. Enable chemical species transport model.
Models

46

Species Edit...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Modeling Electrochemistry
Figure 9.3: The Species Model Dialog Box with Electro-chemical Reactions Enabled

a. In the Species Model dialog box, under Model, enable Species Transport.
b. Under Reactions, select Volumetric and Electro-Chemical.
4. In the Create/Edit Materials dialog box, define all the species materials that are present in the electrolyte
and electrodes.
a. Copy the new species from the Fluent database to your case as described in Copying Materials from
the ANSYS Fluent Database in the Fluent User's Guide. If your species material is not present in the
database, copy a similar species material and edit its properties, including Name and Chemical Formula. When copying species, make sure that fluid is selected as Material Type in the Fluent Database
Materials dialog box.
b. Under Properties, set Charge for the new species.

Important
By default, Charge is neutral (0). Make sure to specify the charge for all relevant species.

5. In the Create/Edit Materials dialog box, edit the mixture material and define chemical reactions.
a. Edit the mixture composition using the Species dialog box (opened by clicking Edit next to Mixture
Species under Properties). Remove unused species and add the electro-chemical species to the Selected Species list as described in Adding Species to the Mixture in the Fluent User's Guide. Note that
it is not necessary to represent the electron in the reaction, and e- can be safely ignored. Make sure
that the bulk species is the last species in the Selected Species list.
ANSYS Fluent solves transport equations for all but the last species in the Selected Species list.
The order of the solution is the same as the order of the species in Selected Species.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

47

Combustion
b. Specify the reactions in the Reactions dialog box (opened by clicking Edit next to Reactions under
Properties).
Figure 9.4: The Reactions Dialog Box

Typically, both cathodic and anodic reactions are required. However, only a single reaction is
required if the cathodic and anodic reactions are the same, but operating in opposite directions.
Note that ANSYS Fluent only allows charged species on one side of an electrochemical reaction,
and charged species occur only in the electrolyte. For each reaction, configure the following
settings:
i.

Select Electro-Chemical as the reaction type

ii. Specify the following Bulter-Volmer parameters:


Anodic Symmetry Factor ( in Equation 9.1 (p. 44))
Cathodic Symmetry Factor ( in Equation 9.1 (p. 44))
Exchange Current Density ( in Equation 9.1 (p. 44))

48

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Modeling Electrochemistry
iii. Enter the th species dimensionless power, in Equation 9.1 (p. 44) as Rate Exponent.
iv. Enter the reference species mass fractions ( in Equation 9.1 (p. 44)) using the Reference Mass
Fractions dialog box, which is opened by clicking Specify Reference Mass Fractions....
A User Defined Function (UDF) hook for the electro-chemical reaction rate is available as a
DEFINE_EC_RATE function.
c. Define reaction mechanisms in the Reaction Mechanisms dialog box (opened by clicking Edit next
to Mechanism under Properties).
Figure 9.5: The Reaction Mechanisms Dialog Box

i.

When the anodic and cathodic reactions are different, set Number of Mechanisms to 2.When
they are the same, but in opposite directions, set Number of Mechanisms to 1.

ii. For the first mechanism, select Electro-Chemical as a reaction type, select the anodic reaction
under Reactions, and specify a meaningful name for the mechanism, for example, mechanismanode.
iii. Similarly for the second mechanism, select Electro-Chemical as a reaction type, select the cathodic reaction under Reactions, and specify a meaningful name for the mechanism, for example,
mechanism-cathode.
d. Set the remaining mixture properties, such as Density (typically volume-weighted-mixing-law), Mass
Diffusivity, and Electrical Conductivity.
Note that if the anode, cathode, and electrolyte have different material properties, such as species
mass diffusivities, it is optimal to use a UDF. Alternatively, you can create new materials for anode
and cathode by copying existing materials from the Fluent database, renaming them, and then
assigning these materials to the anode and cathode fluid zones in the Cell Zone Conditions
dialog box.
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

49

Combustion
6. In the Cell Zone Conditions task page, in the Fluid dialog box, set the cell conditions for the electrolyte
and electrode zones.
In the Reaction tab, if the fluid zone is the electrolyte, select Electrolyte. If you want to model the
species migration and Joule source terms, select Species Migration Source and Joule Heat, respectively. Note that the species migration may be unstable and including this term may require lowering
species Under-Relaxation Factors (URFs) to converge. Unless you have volumetric reactions defined
in the mixture material, you can ignore the selection of Reaction Mechanism.
7. In the Boundary Conditions task page, set the electro-chemical boundary conditions for all relevant
zones.
Wall boundaries may be either exterior (1-sided) walls or interior (2-sided) walls.
Exterior (1-sided) walls can have one of the following types of potential boundary conditions:
Specified Flux (Neumann): Is used to specify the current (A/m2) at the boundary wall.
Specified Value (Dirichlet): Is used to specify the voltage at the boundary wall.
Faradaic Surface: Is used for simulations where the electrode is not resolved. In this case, you
must specify Reaction Mechanism and Equilibrium Potential (see Figure 9.6: Exterior (1-Sided) Wall
Potential Boundary Condition (p. 50)). Typical equilibrium potential expressions are not constant but
complex functions of the species and potential on either side of the interface. In these cases, UDFs
are required to define equilibrium potentials. If a voltage is applied to the electrode, you must add
the applied voltage to the equilibrium potential expression.
Figure 9.6: Exterior (1-Sided) Wall Potential Boundary Condition

50

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Modeling Electrochemistry
Interior (2-sided) walls can have one of the following types of potential boundary conditions:
Coupled: Is used for electro-chemically inactive walls.
Faradaic Surface: Is used for electro-chemically active wall interfaces between an electrolyte
fluid zone and an electrode fluid zone (see Figure 9.7: Interior (2-Sided) Wall Potential Boundary Condition (p. 51)).
Figure 9.7: Interior (2-Sided) Wall Potential Boundary Condition

8. Set the solution parameters in the Solution Methods and Solution Controls task pages. In many electrochemical applications, fluid convection may be neglected, in which case the Flow equation should be
disabled in the Equations control box (accessible from the Solution Controls task page). Similarly, for
isothermal simulations, the Energy equation should be disabled.

Important
If the potential equation has difficulty converging, you can lower Faradaic Interface
Current in the Under-Relaxation Factors settings to increase stability.

9. Once the solution has converged, you can post-process solution fields, such as Species and Temperature.
In addition, you can display or report the following variables available under the Electro-Chemistry
category:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

51

Combustion
Electric Potential
Electric Conductivity
Faradaic Voltage Jump
Faradaic Current Density
Norm. Faradaic Current Density
Equilibrium Potential
Current Density
Joule Heat Source

52

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 10: Pollutants


This chapter contains information relating to the pollution models implemented as beta features in
ANSYS Fluent 15.0.
10.1. Coal Derived Soot
10.2. Atomic Balance for Sulfur
10.3. Mercury Pollutant Formation

10.1. Coal Derived Soot


The coal derived soot beta feature is an extension to the Moss-Brookes soot model, which is discussed
in The Moss-Brookes Model in the Theory Guide and Setting Up the Moss-Brookes Model and the Hall
Extension in the User's Guide. The present implementation accounts for coal-derived soot, based on
the work of Brown [1]. This extension includes an additional transport equation for the tar evolved
during coal devolatilization. The Moss-Brookes model assumes that the physical and thermodynamic
properties of tar are similar to those of volatiles, such that the combined effect of volatile and tar on
the gas phase flame simulation may be replaced by a single volatile stream (consisting of volatile and
tar). In reality, however, this may not be the case. Therefore, it is important that you realize that the
shortcomings of the above assumption may have an impact on the coal-derived soot model. If the tar
in flame is modeled using a secondary devolatilization model, then it is advised that you use the tar
stratum thus solved instead of using the simplified assumption.
The following set of paths was assumed for the coal-derived soot formation [2] (see Figure 10.1: Presumed
Path for Coal-Derived Soot (p. 53)).
Figure 10.1: Presumed Path for Coal-Derived Soot

Nucleation is assumed to be the first step in formation of soot in most light gas flames, and acetylene
is understood to be the major species involved. In heavier gas flames, benzene and other polycyclic
aromatic hydrocarbons (PAHs) may contribute to soot formation as well. Soot formation in coal flames
is thought to occur when tars or the higher molecular weight hydrocarbons given off during devolatilization combine and condense to form soot particles. This is a different mechanism to that of soot
formation from gaseous fuels. The related source term for each path is given as follows:
(10.1)
=
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

53

Pollutants

(10.2)

(10.3)

where is equal to
particles, is Avogadros Number, and is the molecular weight
of the soot particle. The remaining terms in the previous overall source expressions are defined as follows:
=
(10.4)

=
t = t
=

(10.5)

q rs

(10.6)

(10.7)

(10.8)

The soot oxidation term () is similar to that shown in Equation 14.139 in the Theory Guide.
in the Moss-Brookes soot model theory (Fenimore-Jones or Lee oxidation model). Soot density ( )

and the collision constant is set to 3.0.

(= 12 kg/kgmol) is the
molecular weight of carbon and (= 1.3806503e-23 J/K) is the Boltzmann constant. An incipient soot

particle is assumed to consist of 9e+04 carbon atoms, thus making = 108e+04 kg/kgmol.

is the normalized radical nuclei concentration (i.e., the number of particles
/kg). Since the
is assumed to be 1950 kg/

coal-derived soot particles are large, the turbulent Schmidt number used in the transport equations for
soot mass fraction and the normalized number density must be modified to account for the particle
size. A value of 700 for the turbulent Schmidt number is suggested for soot mass fraction and nuclei
transport.

The term is the tar release rate from coal (kg/ -s) and comes from the coal particle source
computations of the discrete phase model. It is assumed that the mass fraction of tar in coal volatiles
is in the range 0.30.5, and therefore the term is related to the volatile source term via the tar
mass fraction in volatiles. One of the main assumptions of this implementation is that tar may be decoupled from the flow field computations, since tar is assumed to be a known fraction of volatiles and
volatile transport is fully coupled with the flow field. In addition, it is assumed that the amount of soot
formed is too small to affect the major species concentration. However, there are some suggestions
that soot formed in a coal flame may be significant enough to couple the major species concentration
with the soot formation and oxidation. This, however, is not included in the present implementation.
The values used for the pre-exponential constant and the activation energy in Equation 10.5 (p. 54)
Equation 10.7 (p. 54) are listed in Table 10.1: Rate Constants for Coal-Derived Soot (p. 54)
Table 10.1: Rate Constants for Coal-Derived Soot
Term

(kJ/kgmol)

54

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Coal Derived Soot


6.77e+05

( /kg-s)

52,300

9.77e+10 (1/s)

286,900

5.02e+08 (1/s)

198,900

10.1.1. Using the Coal Derived Soot Model


The steps that follow describe how to use the coal-derived soot extension of the Moss-Brookes model.
For details about the theory and equations related to this extension, see Soot Model Theory in the
Theory Guide

Important
Make sure you first enable beta feature access, as described in Introduction (p. 1) .
1. (optional) Set up and solve a combustion simulation that solves for the tar species.
2. Enable and set up the discrete phase model, using the Discrete Phase Model dialog box. Make sure
that the injections have coal or heavy oil specified as the injection material. See Modeling Discrete Phase
in the User's Guide.
3. Enable the soot model and set up the definitions and parameters using the following text commands:
define models soot?
When asked to Enable the soot model?, respond by entering yes
4. Make sure you have enabled beta feature access, as described in Introduction (p. 1).
5. Enable the coal-derived soot extension using the following text command:
define models soot-parameters soot-model-parameters
You can use the settings for most of the prompts that follow this text command, as they reflect the
settings you made in the Soot Model dialog box and the default Moss-Brookes model settings. The
prompts that relate to the coal-derived soot extension are the following:
a. Coal-derived soot?
Enter yes to enable the coal-derived soot extension.
b. Solve tar equation?
Enter yes if you need to solve for the tar species. Enter no if you have already run a combustion
simulation that calculated the tar species. Your answer will affect the inputs to the
define/models/soot-parameters/soot-process-parameterstext command (as
described below).
c. Collision Constant
Enter a value for the collision constant. The recommended value is 3.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

55

Pollutants
6. Set the process parameters for the coal-derived soot extension using the following text command:
define models soot-parameters soot-process-parameters
Enter 1080000 kg/kgmol for the Mass of incipient soot particle, as this represents 9
atoms.
A value of 1950 kg/

carbon

is recommended for the Mean density of soot particle.

You can also perform the above steps in the Soot Model dialog box. Select Moss-Brookes in the
Model list and set up the definitions and parameters. See Using the Soot Models in the User's Guide.
The prompts that relate to the coal-derived soot extension will vary, depending on whether you
have already run a combustion simulation that calculated the tar species.
If you requested that the tar equations be solved using the define/models/soot-parameters/soot-model-parameters text command, then the prompts that relate to the coal-derived
soot extension are the following:
a. Number of tar streams
Enter the number of tar streams for the model. This value will depend on the number of different coal or heavy oil injections defined using the Injections dialog box.
b. Mass fraction of tar in coal volatiles
For each tar stream, enter the mass fraction of tar in the coal volatiles. It is recommended that
this value be between 0.3 and 0.5.
c. Species name
For each tar stream, enter the name of the fuel species of the associated volatile stream. The
tar evolution will then be calculated as a fraction of the volatiles that evolve from this fuel
species.
d. Remove fuel species from list?
If you made a mistake when entering the number of tar streams or the species name, you can
remove the erroneous species from the calculation by entering yes.
If you requested that the tar equations not be solved using the define/models/soot-parameters/soot-model-parameters text command, then the prompt that relates to the coal-derived
soot extension is the following:
Tar species name
Enter the name of the tar species from your previous combustion model solution.
7. Specify the desired turbulent Schmidt number for the soot mass fraction and nuclei transport, using the
following text command:
define models soot-parameters modify-schmidt-number?
The suggested value is 700.

56

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation

10.1.1.1. References
1. A. L. Brown, Modeling Soot in Pulverized Coal Flames, MSc thesis, Brigham Young University, Utah, USA,
1997.
2. J. Ma, Soot Formation and Soot Secondary Reactions During Coal Pyrolysis, PhD thesis, Brigham Young
University, Utah, USA, 1996.

10.2. Atomic Balance for Sulfur


In order to verify the pollutant sulfur species balance, i.e. inflow, outflow and source from coal combustion
etc, you can use the sulfur atomic balance calculation. The feature may be enabled using the following
text command (after you have enabled beta feature access, as described in Introduction (p. 1)):
define models sox-parameters s-atom-balance?
Once enabled, during each of the postprocessing iterations of the SOx pollutant computation, the S
species atomic balance will be computed and displayed in the console.

Important
You are advised to enable this option only for the final few iterations of the SOx model
computations to save cpu time. Note that you may not see a proper S balance during
the initial stages of the SOx model solution.

10.3. Mercury Pollutant Formation


This chapter discusses the theory, usability, and the UDFs used in ANSYS Fluent for modeling Mercury
formation.
Information is presented in the following sections:
Mercury Speciation in Coal Flames (p. 57)
Using the Mercury Model (p. 66)
DEFINE_HG_RATE UDF Macro (p. 80)
Mercury Model Dialog Box A Quick Reference Guide (p. 87)

10.3.1. Mercury Speciation in Coal Flames


The following sections present the theoretical background of mercury speciation in coal flames. For
information about using the mercury model in ANSYS Fluent, see Using the Mercury Model (p. 66) .
Overview (p. 58)
Governing Equations for Mercury Transport (p. 58)
Mercury Speciation Model (p. 60)
Species Production Sources from Different Fuel Types (p. 62)

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

57

Pollutants
Species Production/Consumption due to Elementary Reactions (p. 64)
Mercury Species Capture and Retention in Ash Residue (p. 64)
Mercury Species Capture using Sorbent Injection (p. 65)
Mercury Formation in Turbulent Flows (p. 65)

10.3.1.1. Overview
The principal anthropogenic source of mercury in the atmosphere is generated from the coal-fired
utility boilers. Due to its potential toxicity, environmental persistence and potential for bioaccumulation,
mercury is a particularly insidious and difficult pollutant to manage. Due to the above mentioned
reasons, there is a great concern over the emission of heavy metal mercury into the atmosphere and
as a result there is an impetus to investigate the reduction of mercury emission to the environment
from power plant utility boilers.
Mercury released due to combustion of coal or waste co-utilization, may be captured using sorbent
injections as a post combustion reduction technique (in water,
is highly soluble while HgO has

is insoluble). It is also important to note that part of the mercury released


only a low solubility and
may be retained in the ash residue. Therefore, a general mathematical tool must be able to predict
both the mercury retention in the ash residue as well as gas-phase mercury speciation accurately (e.g.
mercury chlorination between Hg and HCl released from fuel). Due to the very low ppm levels of mercury
present in the fuels, usual post processing technique is applicable to the mathematical modeling of
mercury retention and speciation.
Dajnak and Lockwood [1] reported a model for mercury speciation and retention in sub-micron particles
applicable to coal-fired power plants. However, their mercury speciation model was limited to Hg + HCl
single step reaction only. More emphasis was given to the mercury retention modeling in ash residues.
Madsen et al. [2] have reported on a detailed study of computational fluid dynamic (CFD) modeling of
mercury capture using sorbent injection method using ANSYS Fluent CFD code. However, they have
only considered the capture process of mercury in the post-combustion region and did not model the
mercury speciation.
The mercury concentration of various coal types is available through the U.S. Geological Surveys (USGS)
COALQUAL database [3].

10.3.1.2. Governing Equations for Mercury Transport


ANSYS Fluent solves the mass transport equations for the Hg species, taking into account convection,
diffusion, production and consumption of Hg and related species. This approach is completely general,
being derived from the fundamental principle of mass conservation. The effect of residence time in
mercury mechanisms, a Lagrangian reference frame concept, is included through the convection terms
in the governing equations written in the Eulerian reference frame. If all mercury released from fuel is
assumed to convert directly to Hg and the other product and intermediate species are assumed negligible,
then only the Hg species transport equation is needed:

(10.9)

As will be discussed in Mercury Speciation Model (p. 60), mercury formation mechanisms are more involved. Hence, the tracking of mercury-containing intermediate species is also important. ANSYS Fluent solves transport equations for
,
and
species in addition to the Hg species:

58

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation

+
+

(10.10)
(10.11)
(10.12)

where , , and are mass fractions of , , and in the gas phase.

The source term

, ,

and are to be determined depending on the form of fuel

mercury release (Hg is released from coal during devolatilization) and inclusion of , and

in the mercury mechanism.

It is important to note that in the gas-phase, mercury undergoes a set of chlorination reactions (mercury
oxidation). Hence, in addition to the set of transport equations for the mercury containing species,
further set of chlorine containing species needs to be modeled. Following set of transport equations
for chlorine containing species are required to complete the mercury chlorination mechanism.

s t

s t

s t + rs t

(10.13)
(10.14)
(10.15)
(10.16)

where , , and are mass fractions of , , and in the gas phase. The

source term , , and are to be determined depending on the form of fuel chlorine

release ( is assumed to release from coal during devolatilization, but further flexibility is given to
the user to partition as well) and inclusion of , and in the mercury chlorination mechanism.
The source term in each transport equation may be expressed in terms of the source from fuel/char
combustion (or volatile release), source/sink from production (or consumption) rate of the given species
due to each gas phase reaction the species participates and source due to retention or capture of
mercury species into the particulate or ash residues, as follows:
= + +
(10.17)
= source of i (
Cl,...

= source of i (

), where i = Hg, HgCl2,..., HCl,

) from fuel, where i = Hg, HCl

or Cl

= source of i (

) from gas phase reactions,

where i = Hg, HgCl2,..., HCl, Cl,...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

59

Pollutants

= source of i ( ) due to capture into solid


particles
or retention in ash residues, where i = Hg, HgCl2,..., HCl, Cl,...
Each respective source term will be discussed further in detail in Species Production Sources from Different Fuel Types (p. 62) and Species Production/Consumption due to Elementary Reactions (p. 64).

10.3.1.3. Mercury Speciation Model


The rate of elemental mercury (Hg) release during coal particle devolatilization may be assumed proportional to the rate of devolatilization. Chlorine (in the form of HCl) may also be released in a similar
manner (i.e. at a rate proportional to the rate of devolatilization). It is generally accepted that chlorine
is released to the gas-phase mainly in the form of HCl [1]. Cl radical formation then occurs via the decomposition of HCl and , where is formed from those original radicals of HCl.
Dajnak and Lockwood [1] reported a single step mercury chlorination model proposed by Hall [4] while
Wilcox [5] proposed a complete set of elementary reaction mechanism for mercury speciation, involving
12 species and 13 reactions. In this version of ANSYS Fluent, you have access to both models.
All reactions considered here are assumed to have Arrhenius type rate constants of the form:

(10.18)

10.3.1.3.1. One Step Mechanism


The single step reaction for mercury chlorination estimated by Hall et al. [4] and reported by Dajnak
and Lockwood [1], considered only , and .

+ +

(10.19)

Rate constant for the above reaction were reported as pre-exponential factor,
=
+ = and activation energy E = 18 kJ/mol. Gasper et al. [9] reported a slightly different set of rate constants for the same reaction, in which
=
+ = and E = 28.77 kJ/mol, respectively. For the present implementation, Hall [4] constants were used.

10.3.1.3.2. Two Step Mechanism


In addition to the oxidized product, , mercury may be oxidized into the product HgO as well. In
order to accommodate the second oxidized species, a two step model is proposed by combining the
Hall [4] global reaction (Equation 10.19 (p. 60)) with the following oxidation reaction.
+ + +
(10.20)
Here, the rate constants for the above reaction (Equation 10.20 (p. 60)) were as proposed in the Wilcox
model (see Table 10.2: Reaction Rate Constant for Mercury Speciation [1] (p. 61), reaction R7). While the
Wilcox model may need considerably larger number of iterations to converge a solution, two-step
model was found to give comparable accuracy for predicted and concentrations with
much less CPU penalty.

60

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation

10.3.1.3.3. Detailed (Wilcox) Mechanism


The following set of reactions were proposed by Wilcox [5] to model the gas-phase mercury speciation.
In addition to the mercury related reactions, chlorine also undergoes a set of reactions on its own and
must be considered together with the mercury chlorination reactions. Figure 10.2: Mercury Chlorination
Pathway (p. 61) and Figure 10.3: Chlorine Only Reaction Subset (p. 61) show the pathways of mercury
chlorination and HCl/Chlorine reaction set.
Figure 10.2: Mercury Chlorination Pathway

Figure 10.3: Chlorine Only Reaction Subset

, , , , ,

Wilcox [5] mercury chlorination/oxidation model consists of 12 species (

, , , , , and ). All reactions considered here are assumed to be reversible. Rate

constants for the complete set of mercury reaction mechanism are given in Table 10.2: Reaction Rate
Constant for Mercury Speciation [1] (p. 61) and Table 10.3: Chlorine Specific Reactions [2] (p. 62).

Table 10.2: Reaction Rate Constant for Mercury Speciation [1]


Reaction
Number
R1
R2
R3
R4
R5
R6
R7
R8

Reaction

Forward A
(cm3molsec)

+ = + + 4.25e13
+ = + 4.50e13
1.93e13
+ = +
6.15e13
+ = +
+ = + + 1.35e8
+ = + 1.8115e10
3.09e9
+ = + +
+ = + 3.06e13

Forward
b

Forward
E
(kcal/mol)

Reverse
A
(cm3molsec)

716.13

30.27

93.3

2.55e12

13.8

43.3

7.23e12

11.8

76.08

8.8

36.6

6.2

6.87e11

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

ReReverse verse
b
E
(kcal/mol)

61

Pollutants
Reaction
Number

Reaction

Forward A
(cm3molsec)

+ = + 1.827e10
+ = + + 3.19e11

R9
R10

Forward
b

Forward
E
(kcal/mol)

Reverse
A
(cm3molsec)

ReReverse verse
b
E
(kcal/mol)

0.5

87.0

[1] Rate constants for some reactions are different to those reported in Wilcox [5]. New constants for
R1 are from Wilcox et. al [6], R2 from Wilcox et. al [7], R3, R4 and R8 from Wilcox [8], R6 updated with
new values (A = 1.43e9 3.48e10, average value used), R7 updated using RRKM (to be published), R9
updated with new values (A = 1.74e9 3.48e10, average value used). Note: Details about RRKM may be
obtained at http://en.wikipedia.org/wiki/RRKM_theory.
Table 10.3: Chlorine Specific Reactions [2]
Reaction
Number

Reaction

Forward
A
(cm3molsec)

+ = + 8.51e15
+ = + 1.47e12
+ = + 8.59e13
+ + = + 7.19e21

R11
R12
R13
R14

Forward
b

Forward
E
(kcal/mol)

Reverse
A
(cm3molsec)

Reverse
b

Reverse
E
(kcal/mol)

55.84

2.23e14

0.0

-1.8

1.63

3.16

1.45e12

1.44

2.46

1.17

1.0e17

0.0

47.49

-2

0.0

4.4e13

0.0

81.67

[2] Rate constants were taken from NIST data base (except forward rate of R14, which was obtained
using RRKM).

10.3.1.4. Species Production Sources from Different Fuel Types


Here, it is assumed that only Hg and HCl are released into gas phase due to combustion of fuel or char
in coal or due to coal volatile release. Hence, for other species, the respective source term,
, is set

to zero.

10.3.1.4.1. Hg and HCl Production in a Gaseous Fuel


The rate of Hg or HCl production is proportional to the rate of combustion of the gaseous fuel:


=



62

source of i (
or Cl

(10.21)

), where i = Hg, HCl

= mean limiting reaction rate of fuel

(
)

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation

= mass fraction of j" in fuel, where j = Hg or


Cl

10.3.1.4.2. Hg and HCl Production in a Liquid Fuel


The rate of Hg or HCl production is proportional to the rate of fuel release into the gas phase through
droplet evaporation:

(10.22)

= source of i ( ), where i = Hg, HCl or Cl


= rate of fuel release from the liquid droplets to the gas

(
)
= mass fraction of j" in fuel, where j = Hg or Cl
= cell volume ()
10.3.1.4.3. Hg and HCl Production from Coal
For coal, it is assumed that both mercury and chlorine are distributed between volatiles and char. Since
there is no reason to assume that mercury (or chlorine) is equally distributed between the volatiles and
char, the fraction of mercury (or chlorine) in the volatiles and char should be specified separately.
Combined source of Hg and HCl may be expressed as

= +

(10.23)

= source of i ( ), where i = Hg, HCl or Cl


= source of i ( ) from char, where i = Hg, HCl or
Cl

= source of i ( ) from volatiles, where i = Hg, HCl


or Cl

10.3.1.4.4. Hg and HCl from Char


The source of Hg or HCl from the char is related to the rate of char combustion:

(10.24)

= char burnout rate ( )


qr st = mass fraction of j" in char, where j = Hg
or Cl

= cell volume ( )

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

63

Pollutants

10.3.1.4.5. Hg and HCl from Volatiles


The source of Hg or HCl from the volatiles is related to the rate of volatile release:

(10.25)

= volatile release (devolatilization) rate from coal


particles

into the gas phase (

= mass fraction of j" in volatiles, where j = Hg or


Cl

= cell volume ( )

10.3.1.5. Species Production/Consumption due to Elementary Reactions


In addition to the production sources from combusting fuel to the Hg and HCl, each species considered
in the mercury chlorination and oxidation reaction mechanism will have further source/sink term from
each participating reaction, as described in Mercury Speciation Model (p. 60), depending on the respective
speciation mechanism used. The source/sink term of the
variable ( ) of the

species in terms of the rate-of-progress

reaction may be expressed as follows:

= =

(10.26)

where = and J is the total number of reactions involved. The stoichiometric coefficients
are related by the general form of J elementary reactions (reversible or irreversible) involving I
chemical species.

= = = =

(10.27)

The rate-of-progress variable for the reaction is given by the difference of the forward and reverse
rates as
(10.28)
= = =

is the molar concentration of the species and and are the forward and reverse

rate constants of the reaction.

Where

10.3.1.6. Mercury Species Capture and Retention in Ash Residue


Mercury containing species such as , , and qr may be retained by the ash residue
in coal combustion applications or be captured by sorbent injection. Instead of proposing a global
model for adsorption due to sorbent injection, which is usually dependent upon the type of sorbent
stream used (e.g. activated carbon), a user defined function hook will be provided to incorporate the
sink term due to mercury capture. On the other hand, retention of mercury species in the ash residue

64

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


(for coal applications) may be modeled following the work of Dajnak and Lockwood [1]. However, they
have not provided the model constants in their publication.

10.3.1.7. Mercury Species Capture using Sorbent Injection


You may implement your own sorbent injection and capture model using the ANSYS Fluent UDF utility.
Please refer to the UDF Manual for further details.

10.3.1.8. Mercury Formation in Turbulent Flows


The kinetic mechanisms of Mercury formation and destruction are obtained from laboratory experiments
in a similar fashion to the NOx model. In any practical combustion system, however, the flow is highly
turbulent. The turbulent mixing process results in temporal fluctuations in temperature and species
concentration that will influence the characteristics of the flame.
The relationships among Mercury formation rate, temperature, and species concentration are highly
nonlinear. Hence, if time-averaged composition and temperature are employed in any model to predict
the mean Mercury formation rate, significant errors will result. Temperature and composition fluctuations
must be taken into account by considering the probability density functions which describe the time
variation.

10.3.1.8.1. The Turbulence-Chemistry Interaction Model


In turbulent combustion calculations, ANSYS Fluent solves the density-weighted time-averaged NavierStokes equations for temperature, velocity, and species concentrations or mean mixture fraction and
variance. To calculate Mercury species concentration, a time-averaged Mercury species formation rate
must be computed at each point in the domain using the averaged flow-field information.

10.3.1.8.2. The PDF Approach


The PDF method has proven very useful in the theoretical description of turbulent flow [10]. In the
ANSYS Fluent Mercury model, a single- or joint-variable PDF in terms of a normalized temperature,
species mass fraction, or the combination of both is used to predict the Mercury emission. If the nonpremixed combustion model is used to model combustion, then a one- or two-variable PDF in terms
of mixture fraction(s) is also available. The mean values of the independent variables needed for the
PDF construction are obtained from the solution of the transport equations.

10.3.1.8.3. The Mean Reaction Rate


The mean turbulent reaction rate described in NOx Formation in Turbulent Flows for the NOx model
also applies to the Mercury model. The PDF is used for weighting against the instantaneous rates of
production of Mercury species and subsequent integration over suitable ranges to obtain the mean
turbulent reaction rate as described in Equation 14.105 and Equation 14.106 for NOx.

10.3.1.8.4. The PDF Options


As is the case with the NOx model, P can be calculated as either a two-moment beta function or as a
clipped Gaussian function, as appropriate for combustion calculations [12], [11]. Equation 14.108 to

Equation 14.112 apply to the Mercury model as well, with the variance computed by solving a
transport equation during the combustion calculation stage, using Equation 14.113 or Equation 14.114.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

65

Pollutants

10.3.2. Using the Mercury Model


Mercury species concentrations, generally in parts per million (ppm) levels, generated in combustion
have minimal influence on the predicted flow field, temperature, and major combustion product concentrations. The most efficient way to use the Mercury model is as a postprocessor to the main combustion calculation.
The procedure for activating and setting up the model for a decoupled solution is as follows:
1. Calculate your combustion problem using ANSYS Fluent.

Important
The premixed combustion model is not compatible with the Mercury model.

2. Enable the Mercury model, define the fuel streams, and set the appropriate parameters, as described in
this section.
Models

Mercury Edit...

3. Define the boundary conditions for all Mercury and Chlorine species at flow inlets.
Boundary Conditions
4. In the Equations dialog box, turn off the solution of all variables except Mercury and Chlorine species.
Solution Controls Equations...
5. Perform calculations until convergence (i.e., until the Mercury and Chlorine species residuals are below

) to ensure that the Mercury and Chlorine concentration fields are no longer evolving.
Run Calculation
6. Review the mass fractions of Mercury and Chlorine species with alphanumerics and/or graphics tools in
the usual way.
7. Save a new set of case and data files, if desired.
File Write Case & Data...

10.3.2.1. Setting Up the One Step Model


You can enable and set up the One Step Mercury formation model by using the Mercury Model dialog
box (Figure 10.4: The Mercury Model Dialog Box for the One Step Model (p. 67)).
Models

66

Mercury Edit...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


Figure 10.4: The Mercury Model Dialog Box for the One Step Model

Under Model, select One Step. The dialog box will expand to show the appropriate inputs.
Next, you must define the Fuel Streams data and Turbulence Interaction Mode data as described in
detail later in this document.

10.3.2.2. Setting Up the Two Step Model


You can enable and set up the Two Step Mercury formation model by using the Mercury Model dialog
box (Figure 10.5: The Mercury Model Dialog Box for the Two Step Model (p. 68)).
Models

Mercury Edit...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

67

Pollutants
Figure 10.5: The Mercury Model Dialog Box for the Two Step Model

Under Model, select Two Step. The dialog box will expand to show the appropriate inputs.
Next, you must define the Fuel Streams data and Turbulence Interaction Mode data and Model
Parameters (i.e. [O] model) as described in detail later in this document.

10.3.2.3. Setting Up the Detailed (Wilcox) Model


You can enable and set up the Detailed (Wilcox) Mercury formation model by using the Mercury
Model dialog box (Figure 10.6: The Mercury Model Dialog Box for the Detailed (Wilcox) Model (p. 69)).
Models

68

Mercury Edit...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


Figure 10.6: The Mercury Model Dialog Box for the Detailed (Wilcox) Model

Under Model, select Detailed. The dialog box will expand to show the appropriate inputs.
Next, you must define the Fuel Streams data, Turbulence Interaction Mode data, and Model Parameters (i.e. [O] and [OH] models) as described in detail later in this document.

10.3.2.4. Defining the Fuel Streams


ANSYS Fluent allows you to define multiple fuel streams when you are modeling Mercury formation, as
shown in the following steps:
1. Specify the Number of Fuel Streams in the Fuel Streams group box. You are allowed up to three separate fuel streams.
2. Define the first fuel stream.

a. Select the fuel stream to be defined by using the arrow keys of the Fuel Stream ID text box.
b. When the non-premixed combustion model is not enabled, select the fuel species from the Fuel
Species list. You cannot select more than 5 fuel species for each fuel stream, and the total number
of fuel species selected for all the fuel streams combined cannot exceed 10.
c. When the non-premixed combustion model is enabled (Figure 10.7: The Mercury Model Dialog Box
with Non-Premixed Combustion (p. 71)), make a selection from the PDF Stream drop-down list to
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

69

Pollutants
define the species for this stream. You can select either the primary or secondary fuel stream species,
as defined in the PDF table.
d. Specify the parameters for this particular fuel stream in the Fuel Stream Settings group box. See
Defining the Fuel Streams
3. Repeat steps 2.(a)-2.(c) for each additional fuel stream.
4. Set the model parameters that apply to all of the fuel streams in the Model Parameters group box (only
required by the Two Step and Detailed (Wilcox) models):

Specify the method by which O and OH (for the Detailed model only) will be calculated. The Mercury
model routines employ three methods for reduction calculations of Mercury:
You can select equilibrium, partial-equilibrium, or instantaneous in the [O] Model drop-down
list.
You can select none, partial-equilibrium, or instantaneous in the [OH] Model drop-down list.

Important
To use the predicted O and/or OH concentration, select instantaneous in the [O] Model or
[OH] Model drop-down list.

70

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


Figure 10.7: The Mercury Model Dialog Box with Non-Premixed Combustion

Note that the following limitations apply when you are modeling Mercury formation with multiple fuel
streams, if more than one fuel stream has the same fuel type (as defined in the Fuel Type list in the
Fuel Stream Settings group box):
For multiple liquid fuel streams or multiple solid (coal) fuel streams, the injectors associated with the fuel
streams should have different destination species, as defined in the Devolatilizing Species drop-down
list in the Set Injection Properties dialog box (see Defining Injection Properties for details). The Mercury
calculations will be erroneous if the destination species are the same.
For multiple solid (coal) fuel streams, the fuel streams should have the same char-related parameter values
in the Fuel Stream Settings group box, i.e., the Char HG and CL Mass Fraction and the Partition Fractions
(for char HCL) values. Note that even if different values are set for these char-related parameters, ANSYS
Fluent will only recognize those specified for the solid fuel stream with the lowest ID number, and then
apply them to all of the other solid fuel streams.
For more information about the limitations associated with multiple fuel streams with the same fuel
type, contact your ANSYS Fluent support engineer.

10.3.2.5. Defining the Mercury Fuel Stream Settings


When using the Mercury model, you must set the parameters in the Fuel Stream Settings group box
for each fuel stream specified in the Fuel Stream ID text box.
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

71

Pollutants
To begin, specify the fuel type in the following manner:

To calculate Mercury formation from a solid fuel, select Solid under Fuel Type.
To calculate Mercury formation from a liquid fuel, select Liquid under Fuel Type.
To calculate Mercury formation from a gaseous fuel, select Gas under Fuel Type.
Figure 10.8: The Mercury Model Dialog Box Displaying Liquid Fuel Parameters

Note that you can use only one of the fuel types for a given fuel stream. The Gas option is available
only when the Species Transport model is enabled (see Enabling Species Transport and Reactions and
Choosing the Mixture Material).

10.3.2.6. Setting Mercury Parameters for Gaseous and Liquid Fuel Types
If you have selected Gas or Liquid as the Fuel Type, you will also need to specify the following:
Set the correct mass fraction of Hg in the fuel (kg Hg per kg fuel) in the Fuel HG Mass Fraction field.
Select the Chlorine intermediate species (hcl, cl, or hcl/cl) in the CL intermediate drop-down list.
Set the correct mass fraction of Cl in the fuel (kg Cl per kg fuel) in the Fuel CL Mass Fraction field.

72

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


If you selected hcl/cl as the Chlorine intermediate, you will need to set the fraction of the converted fuel
chlorine, by mass, that will become HCl under HCL Partition Fraction. The fraction of fuel chlorine that
will become Cl will be calculated by the remainder.
Note that setting a partition fraction of 0 for HCl is equivalent to assuming that all fuel chlorine is
converted to the final product Cl.

Important
Note that there is a limitation that must be considered when defining more than one liquid
fuel stream. See Using the NOx Model for details.

10.3.2.7. Setting Mercury Parameters for a Solid Fuel


For solid fuel, several inputs are required for the Mercury model.
Figure 10.9: The Mercury Model Dialog Box Displaying Solid Fuel Parameters

Specify the mass fraction of Hg in the volatiles in the Volatile HG Mass Fraction field.
Specify the mass fraction of Hg in the char in the Char HG Mass Fraction field.
Select the Chlorine intermediate species (hcl, cl, or hcl/cl) in the CL Intermediate drop-down list.
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

73

Pollutants
Set the correct mass fraction of Cl in the volatiles (kg Cl per kg volatiles) in the Volatile CL Mass Fraction
field.
If you selected hcl/cl as the Chlorine intermediate, you will need to set the fraction of the converted fuel
chlorine, by mass, that will become HCl under HCL Partition Fraction. The fraction of fuel chlorine that
will become Cl will be calculated by the remainder.
Select the char chlorine conversion path from the Char CL Conversion drop-down list as hcl, cl, or hcl/c.
Specify the mass fraction of chlorine in the char in the Char CL Mass Fraction field.
If you selected hcl/cl from the Char CL Conversion drop-down list, you will need to specify the fraction
of the converted char chlorine, by mass, that will become HCl under Char HCL Partition Fraction. The
fraction of char chlorine that will become Cl will be calculated by the remainder.

Important
Note that there are limitations that must be considered when defining more than one
solid fuel stream. See Using the NOx Model for details.

The equations, described in Using the SOx Model (Equation 22.8 to Equation 22.13), are used in a similar
manner to determine the mass fraction of mercury or chlorine in the volatiles and char.

10.3.2.8. Setting Turbulence Parameters


If you want to take into account turbulent fluctuations when you compute the specified Mercury
formation, define the turbulence parameters in the Turbulence Interaction Mode group box.

74

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


Figure 10.10: The Mercury Model Dialog Box for a Gas Fuel Type with Turbulence

Select one of the options in the PDF Mode drop-down list:


Select temperature to take into account fluctuations of temperature.
Select temperature/species to take into account fluctuations of temperature and mass fraction of the
species selected in the Species drop-down list (which appears when you select this option).
(non-premixed and partially premixed combustion calculations only) Select mixture fraction to take into
account fluctuation in the mixture fraction(s).

Important
When modeling the formation of other pollutants along with Mercury, you should compare
the selections made in the PDF Mode drop-down lists in the Turbulence Interaction Mode
tab of the NOx Model dialog box and the Turbulence Interaction Mode group boxes of

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

75

Pollutants
the SOx Model and Soot Model dialog boxes. If mixture fraction is selected in any of these
dialog boxes, then it must be selected in all of the others as well.
The mixture fraction option is available only if you are using either the non-premixed or partially premixed combustion model to model the reacting system. If you use the mixture fraction option, the
instantaneous temperatures and species concentrations are taken from the PDF look-up table as a
function of mixture fraction and enthalpy and the instantaneous Mercury and Chlorine rates are calculated
at each cell. The PDF used for convoluting the instantaneous Mercury or Chlorine rates is the same as
the one used to compute the mean flow-field properties. For example, for single-mixture fraction
models the beta PDF is used, and for two-mixture fraction models, the beta or the double delta PDF
can be used. The PDF for mixture fraction is calculated from the values of mean mixture fraction and
variance at each cell, and the instantaneous Mercury and Chlorine rates are convoluted with the mixture
fraction PDF to yield the mean rates in turbulent flow.
If you selected temperature or temperature/species for the PDF Mode, you should define the following
parameters in the Turbulence Interaction Mode group box:
PDF Type
allows you to specify the shape of the PDF, which is then integrated to obtain mean rates for the temperature and (if you selected temperature/species for the PDF Mode) the species. If you select beta,
the PDF will be modeled using Equation 14.108 in the Fluent Theory Guide of the Theory Guide. If you
select gaussian, the PDF will be modeled using Equation 14.111 in the Fluent Theory Guide of the Theory
Guide.
PDF Points
allows you to specify the number of points used to integrate the beta or Gaussian function in Equation 14.105 in the Fluent Theory Guide or Equation 14.106 in the Fluent Theory Guide of the Theory Guide on
a histogram basis. The default value of 10 will yield an accurate solution with reasonable computation
time. Increasing this value may improve accuracy, but will also increase the computation time.
Temperature Variance
allows you to specify the form of transport equation that is solved to calculate the temperature variance.
The default selection is algebraic, which is an approximate form of the transport equation (see Equation 14.114 in the Fluent Theory Guide of the Theory Guide). You have the option of selecting transported
to instead solve Equation 14.113 in the Fluent Theory Guide of the Theory Guide. Though the transported
form is more exact, it is also more expensive computationally.
Tmax Option
provides various options for determining the maximum limit(s) for the integration of the PDF used to
calculate the temperature:
The default selection is global-tmax, which sets the limit as the maximum temperature in the flow
field.
You can select local-tmax if you would rather obtain cell-based maximum temperature limits by
multiplying the local cell mean temperature by the value entered in Tmax Factor.
You can select specified-tmax to set the limit for each cell to be the value entered in Tmax.
If you have selected a user-defined function from the Hg Rate drop-down menu in the User-Defined
Functions group box, then you can select user-defined so that the limit is specified by a UDF. See
the separate UDF Manual for details about user-defined functions.

76

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


Species
only appears if you have selected temperature/species for the PDF Mode. Your selection in this dropdown menu determines which species mass fraction is included in the Mercury formation calculations.

Important
Note that the species variance will always be calculated using the algebraic form of the
transport equation (Equation 14.114 in the Fluent Theory Guide in the separate Theory Guide).

10.3.2.9. Specifying a User-Defined Function for the Hg Rate


You can choose to specify a user-defined function for the rate of Mercury production. By default, the
rate returned from the UDF is added to the rate returned from the standard Mercury production options.
You also have the option of replacing ANSYS Fluents Mercury rate calculations with your own userdefined Mercury rate.
In addition to or instead of using the UDF to specify the Mercury rate, you can use it to specify custom
values for the maximum limit () that is used for the integration of the temperature PDF (when
temperature is accounted for in the turbulence interaction modeling).
To use a UDF to add a rate to ANSYS Fluents Mercury rate calculations, you must compile and load the
desired function, and then select it from the Hg Rate drop-down list in the User-Defined Functions
group box. After you have selected the UDF, you have the following options:
You can specify that your custom rate is added to the ANSYS Fluent Mercury rate calculations, by retaining
the default selection of Add to the ANSYS Fluent Rate in the UDF Rate group box.
You can replace the ANSYS Fluent Mercury rate calculations with your custom rate, by selecting Replace
ANSYS Fluent Rate in the UDF Rate group box.
You can specify custom values for , by selecting user-defined from the Tmax Option drop-down
list in the Turbulence Interaction Mode group box.
See the separate UDF Manual for details about user-defined functions.

10.3.2.10. Defining Boundary Conditions for the Mercury Model


At flow inlet boundaries, you will need to specify the Pollutant HG Mass Fraction, and if necessary,
the Pollutant HGCL2 Mass Fraction, Pollutant HCL Mass Fraction, Pollutant HGO Mass Fraction,
Pollutant CL Mass Fraction, Pollutant CL2 Mass Fraction, Pollutant HGCL Mass Fraction and Pollutant
HOCL Mass Fraction in the Species tab, as demonstrated in Figure 10.11: The Mass-Flow Inlet Dialog
Box and the Species Tab (Detailed Mercury Model) (p. 78).
Boundary Conditions
You can retain the default inlet values of zero for these quantities or you can input nonzero numbers
as appropriate for your combustion system.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

77

Pollutants
Figure 10.11: The Mass-Flow Inlet Dialog Box and the Species Tab (Detailed Mercury Model)

10.3.3. Solution Strategies


To solve for Mercury products:
(optional) If the discrete phase model (DPM) is activated (by turning on the Interaction with Continuous
Phase) to run with the Mercury model, then set the Number of Continuous Phase Iterations per DPM
Iteration to 0 such that no DPM iterations are performed as the Mercury case is being solved.
In the Equations dialog box, turn off the solution of all variables except Pollutant hg, Pollutant hgcl2
and Pollutant hcl (Pollutant hgo, Pollutant cl, Pollutant cl2, Pollutant hgcl, and Pollutant hocl, if applicable).
Solution Controls Equations...
Also in the Solution Controls task page, set suitable values for the pollutant HG, HGCL2, HCL (and HGO,
CL, CL2, HGCL and HOCL, if applicable) under-relaxation factors. A value of 0.95 is suggested, although

78

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


lower values may be required for certain problems. That is, if convergence cannot be obtained, try a lower
under-relaxation value.
Solution Controls
Under Spatial Discretization, in the Solution Methods task page select the desired scheme for each of
the pollutants, HG, HGCL2, HCL (and HGO, CL, CL2, HGCL, and HOCL, if applicable)
Solution Methods
In the Residual Monitors dialog box, decrease the convergence criterion for the pollutants, HG, HGCL2,

.
HCL (and HGO, CL, CL2, HGCL, and HOCL, if applicable) to
Monitors

Residuals Edit...

Perform calculations until convergence (i.e., until the HG, HGCL2, HCL (and HGO, CL, CL2, HGCL, and HOCL,

) to ensure that the HG, HGCL2, HCL (and CL, CL2, HGCL,
if applicable) pollutant residuals are below
HGO, and HOCL, if applicable) concentration fields are no longer evolving.
Review the mass fractions of pollutants, HG, HGCL2, HCL (and HGO, CL, CL2, HGCL, and HOCL, if applicable)
alphanumerics and/or graphics tools.

10.3.4. Postprocessing
When you compute Mercury formation, the following additional variables will be available for postprocessing. They are contained in the Hg... category of the variable selection drop-down list that appears
in postprocessing dialog boxes.
Mass fraction of pollutant hg
Mass fraction of pollutant hgcl2
Mass fraction of pollutant hcl
Mass fraction of pollutant hgo
Mass fraction of pollutant cl
Mass fraction of pollutant cl2
Mass fraction of pollutant hgcl
Mass fraction of pollutant hocl
Mole fraction of pollutant hg
Mole fraction of pollutant hgcl2
Mole fraction of pollutant hcl
Mole fraction of pollutant hgo
Mole fraction of pollutant cl
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

79

Pollutants
Mole fraction of pollutant cl2
Mole fraction of pollutant hgcl
Mole fraction of pollutant hocl
hg Density
hgcl2 Density
hcl Density
hgo Density
cl Density
cl2 Density
hgcl Density
hocl Density
Rate of hg
Rate of hgcl2
Rate of hcl
Rate of hgo
Rate of cl
Rate of cl2
Rate of hgcl
Rate of hocl

10.3.5. DEFINE_HG_RATE UDF Macro


10.3.5.1. Description
You can use DEFINE_HG_RATE to specify a custom Mercury rate that can either replace the internallycalculated Mercury rate in the source term equation, or be added to the ANSYS Fluent rate. Example 1
demonstrates this use of DEFINE_HG_RATE. The default functionality is to add user-defined rates to
the ANSYS Fluent-calculated rates. If the Replace with UDF Rate option is enabled in the Mercury
Model dialog box, then the ANSYS Fluent-calculated rate will not be used and it will instead be replaced
by the Mercury rate you have defined in your UDF. When you hook a Mercury rate UDF to the graphical
interface without checking the Replace with UDF Rate box, then the user-defined Mercury rate will
be added to the internally-calculated rate for the source term calculation. DEFINE_HG_RATE may also
be used to calculate the upper limit for the integration of the temperature PDF (when temperature is
accounted for in the turbulence interaction modeling). You can calculate a custom maximum limit
() for each cell and then assign it to the POLLUT_CTMAX(Pollut_Par) macro (see Hg Mac-

80

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


ros (p. 85) of the UDF Manual for further details about data access macros). Example 1 demonstrates
this use of DEFINE_HG_RATE.

Important
If you want to use DEFINE_HG_RATE only for the purpose of specifying , be sure that
the user-defined Mercury rate does not alter the internally-calculated rate for the source
term calculation.

10.3.5.2. Usage
DEFINE_HG_RATE (name,c,t,Pollut,Pollut_Par,Hg)
Argument Type

Description

symbol name

UDF name.

cell_t c

Cell index.

Thread *t

Pointer to cell thread on which the Mercury rate is to be


applied.

Pollut_Cell*Pollut

Pointer to the data structure that contains the common


data at each cell.

Pollut_Parameter *Pollut_Par

Pointer to the data structure that contains auxiliary data.

Hg_Parameter *Hg

Pointer to the data structure that contains data specific to


the Mercury model.

Function returns
void
There are six arguments to DEFINE_HG_RATE: name, c, t, Pollut, Pollut_Par, and Hg. You will
supply name, the name of the UDF. c, t, Pollut, Pollut_Par, and Hg are variables that are passed
by the ANSYS Fluent solver to your function. A DEFINE_HG_RATE function does not output a value.
The calculated HG rates (or other mercury pollutant species rates) are returned through the Pollut
structure as the forward rate POLLUT_FRATE(Pollut) and reverse rate POLLUT_RRATE(Pollut),
respectively.

Important
The data contained within the Hg structure is specific only to the Mercury model. Alternatively,
the Pollut structure contains data at each cell that is useful for all pollutant species (e.g.,
forward and reverse rates, gas phase temperature, density). The Pollut_Par structure
contains auxiliary data common for all pollutant species (e.g. equation solved, universal gas
constant, species molecular weights). Note that molecular weights extracted from the Pollut_Par structure (i.e., Pollut_Par sp[IDX(i)].mw for pollutant speciesHG, HCL,
etc.and Pollut_Par sp[i].mw for other species, such as O2) has units of kg/kg-mol.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

81

Pollutants

10.3.5.3. Example 1

The following compiled UDF, named user_hg, computes the rate for
formation according to
the reaction given in Equation 10.29 (p. 82). Note that this UDF will replace the ANSYS Fluent rate only
if you select the Replace with UDF Rate option in the Mercury Model dialog box. Otherwise, the rate
computed in the UDF will be added to ANSYS Fluents default rate. See Hooking DEFINE_HG_RATE
UDFs (p. 84) for details.
It is assumed that the release of Hg and Cl from fuel is proportional to the rate of release of volatiles
and all chlorine is in the form of HCl when released to the gas phase. The irreversible reaction for
is given below:


+ +

with forward rate of reaction

(10.29)

(Gasper et al., 1997) in the Arrhenius form:

Here, all constants are given in SI units.


The molar rates of release of Hg and Cl from volatiles (
given by:

and respectively) are


=


=

qrstt is the rate of release of volatiles in kg/sec, is the mass fraction of mercury
species in volatiles, is the mass fraction of chlorine species in volatiles, and

are the molecular weights of mercury and chlorine in kg/kg-mol, and is the cell volume in .
where

See Hg Macros (p. 85) of the UDF Manual for details about the Hg macros (e.g., POLLUT_EQN, MOLECON,
ARRH) that are used in pollutant rate calculations in this UDF.
/*********************************************************************
UDF example of User-Defined Hg Rate: compute the rates of mercury
formation according to the rate constants provided by Gasper et al. (1997).
Hg + 2 HCl --> HgCl2 + H2
A = 22.0e+03, b = 0.0, E = 28770.0 (SI units)
*
* Arguments:
* char hg_func_name
- UDF name
* cell_t c
- Cell index
* Thread *t
- Pointer to cell thread on
*
which the Hg rate is to be
*
applied
* Pollut_Cell *Pollut
- pointer to Pollut structure
* Pollut_Parameter *Pollut_Par - pointer to
*
Pollut_Par structure
* Hg_Parameter *Hg
- pointer to Hg structure
*
Description of Pollut_Par->pollut_io_pdf:
1. Pollut_Par->pollut_io_pdf == IN_PDF

82

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


All rate terms which are subjected to turbulent fluctuations
must be included within this flag.
2. Pollut_Par->pollut_io_pdf == OUT_PDF
All rate terms which must be outside of the pdf integration
(are not affected by turbulence) must be included within
this flag. e.g. Char contributions to pollutant formation.
3. Pollut_Par->pollut_io_pdf == SET_VAR
To modify a parameter value, user may use this flag.
e.g. Top temperature setting for pdf integration.
4. Pollut_Par->pollut_io_pdf == GET_VAR
This flag may be used to obtain a mean rate of reaction or
any other cell based value at the end of the source term
computation.
Pollut_Par->nfstreams : Number of fuel streams
Pollut->r_fuel_gls[i] : rate of volatile release for stream "i"
per unit volume in kg/m3-sec
Hg->Yhg_fuelvolat[i] : mass fraction of Hg in fuel/vol stream "i"
Hg->Yhcl_fuelvolat[i] : mass fraction of HCl in fuel/vol stream "i"
Hg->Ycl_fuelvolat[i] : mass fraction of Cl in fuel/vol stream "i"
Hg->Yhg_char[i]
: mass fraction of Hg in char stream "i"
Hg->Yhcl_char[i]
: mass fraction of HCl in char stream "i"
Hg->Ycl_char[i]
: mass fraction of Cl in char stream "i"
*********************************************************************/
#include "udf.h"
DEFINE_HG_RATE(user_hg, c, t, Pollut, Pollut_Par, Hg)
{
int ifstream;
real rf=0., rr = 0., kf1=0.;
/*Rate_Const KF_HG = {1.204409e4, 0.0, 18000.0};*/ /* Hall (1991)*/
Rate_Const KF_HG = {2.2e4, 0.0, 28770.0}; /* Gasper et al. (1997)*/
POLLUT_FRATE(Pollut) = 0.0;
POLLUT_RRATE(Pollut) = 0.0;
kf1 = ARRH(Pollut, KF_HG);
switch (Pollut_Par->pollut_io_pdf) {
case IN_PDF:
/* Include source terms other than those from char */
switch (POLLUT_EQN(Pollut_Par)) {
case EQ_HG:
/* Hg production */
for(ifstream=0; ifstream<Pollut_Par->nfstreams; ifstream++) {
rf += Pollut->r_fuel_gls[ifstream]*Hg->Yhg_fuelvolat[ifstream]
*1000./Pollut_Par->sp[IDX(HG)].mw;
}
rr = -kf1*MOLECON(Pollut, IDX(HG))*MOLECON(Pollut, IDX(HCL));
break;
case EQ_HGCL2:
rf = kf1*MOLECON(Pollut, IDX(HG))*MOLECON(Pollut, IDX(HCL));
break;
case EQ_HCL:
for(ifstream=0; ifstream<Pollut_Par->nfstreams; ifstream++) {
rf +=Pollut->r_fuel_gls[ifstream]*Hg->Yhcl_fuelvolat[ifstream]
*1000./Pollut_Par->sp[IDX(CL)].mw;
}
rr = -2.*kf1*MOLECON(Pollut, IDX(HG))*MOLECON(Pollut, IDX(HCL));
break;
default:
break;
}
break;
case OUT_PDF:
/* Char Contributions are not included in PDF integral */
switch (POLLUT_EQN(Pollut_Par)) {
case EQ_HG:
for(ifstream=0; ifstream<Pollut_Par->nfstreams; ifstream++) {
if (Pollut_Par->pollut_type[ifstream] == FUEL_S) {
rf += Pollut->r_char[ifstream]*Hg->Yhg_char[ifstream]*

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

83

Pollutants
1000./Pollut_Par->sp[IDX(HG)].mw;
break; /*char stream cannot be split at present*/
}
}
break;
case EQ_HCL:
for(ifstream=0; ifstream<Pollut_Par->nfstreams; ifstream++) {
if (Pollut_Par->pollut_type[ifstream] == FUEL_S) {
if (Hg->char_cl_conv[ifstream] == 0 ||
Hg->char_cl_conv[ifstream] == 2) {
rf += Pollut->r_char[ifstream]*Hg->Yhcl_char[ifstream]*
1000./Pollut_Par->sp[IDX(CL)].mw;
break; /*char stream cannot be split at present*/
}
}
}
break;
default:
break;
}
break;
case SET_VAR:
/* Set a value at each cell before Hg rate computations */
break;
case GET_VAR:
/* Get values at the end of Hg computations */
break;
default:
/* Not used */
break;
}
POLLUT_FRATE(Pollut) = rf;
POLLUT_RRATE(Pollut) = rr;
}

10.3.5.4. Hooking DEFINE_HG_RATE UDFs


After you have interpreted or compiled your DEFINE_HG_Rate UDF, the name of the function you
supplied as a DEFINE macro argument will become visible and selectable in the Mercury Model dialog
box (Figure 10.12: The Mercury Model Dialog Box (p. 85)) in ANSYS Fluent.
To hook the UDF to ANSYS Fluent, open the Mercury Model dialog box (Figure 10.12: The Mercury
Model Dialog Box (p. 85)).
Models

84

Mercury Edit...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


Figure 10.12: The Mercury Model Dialog Box

Select the function name (e.g., user_hg::libudf) from the Hg Rate drop-down list in the Mercury
Model dialog box, and click OK.
See DEFINE_HG_RATE UDF Macro (p. 80) for details about DEFINE_HG_RATE functions.

10.3.5.5. Hg Macros
The following macros can be used in Mercury model UDFs in the calculation of pollutant rates. These
macros are defined in the header file sg_pollut.h, which is included in udf.h. They can be used
to return real Hg variables in SI units and are available in both the pressure-based and the densitybased solver. See DEFINE_HG_RATE UDF Macro (p. 80) for examples of DEFINE_HG_RATE UDFs
that utilize these macros.
Table 10.4: Macros for Mercury UDFs Defined in sg_pollut.h
Macro

Returns

POLLUT_EQN(Pollut_Par)

index of pollutant equation being solved (see below)

MOLECON(Pollut,SPE)

molar concentration of species specified by SPE (see below)

NULLIDX(Pollut_Par,SPE)

TRUE if the species specified by SPE does not exist in a ANSYS


Fluent case (i.e., in the Species dialog box)
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

85

Pollutants
Macro

Returns

ARRH(Pollut,K)

Arrhenius rate calculated from the constants specified by K


(see below)

ARRH_TR(Pollut,K,
Tref)

Arrhenius rate calculated from the constants specified by K


and Tref (see below)

POLLUT_FRATE(Pollut)

production rate of the pollutant species being solved

POLLUT_RRATE(Pollut)

reduction rate of the pollutant species being solved

POLLUT_FLUCTDEN(Pollut)

fluctuating density value (or, if no PDF model is used, mean


density at a given cell)

POLLUT_FLUCTTEM(Pollut)

fluctuating temperature value (or, if no PDF model is used,


mean temperature at a given cell)

POLLUT_FLUCTYI(Pollut,SPE)

fluctuating mass fraction value (or, if no PDF model is used,


mean mass fraction at a given cell) of the species given by index
SPE

POLLUT_CTMAX(Pollut_Par)

upper limit for the temperature PDF integration (see below)

Important
Pollut_Par is a pointer to the Pollut_Parameter data structure that contains auxiliary
data common to all pollutant species and Hg is a pointer to the Hg_Parameter data
structure that contains data specific to the Mercury model.
POLLUT_EQN(Pollut_Par) returns the index of the pollutant equation currently being solved. The
, etc.
indices are EQ_HG for Hg and EQ_HGCL2 for

MOLECON(Pollut, SPE) returns the molar concentration of a species specified by SPE. SPE is either
the name of the species or IDX(i) when the species is a pollutant (like Hg). For example, for
molar
concentration you should call MOLECON(Pollut, O2), whereas for Hg molar concentration the call
should be MOLECON(Pollut, IDX(HG)).

ARRH(Pollut,K) returns the Arrhenius rate calculated from the constants specified by K. K is defined
using the Rate_Const data type and has three elements - , , and . The Arrhenius rate is given in
the form of

=
where is the temperature.
Note that the units of must be in m-gmol-J-s.
ARRH_TR(Pollut,K,Tref) returns the Arrhenius rate calculated from the constants specified by K
and Tref. K is defined using the Rate_Const data type and has three elements - , , and . Tref is
of data type real and is the reference temperature in Kelvin (setting Tref = 1 degenerates the ARRH_TR
to ARRH). The Arrhenius rate is given in the form of

=
86

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


POLLUT_CTMAX(Pollut_Par) can be used to modify the value used as the upper limit for the
integration of the temperature PDF (when temperature is accounted for in the turbulence interaction
modeling). You must put this macro under the SET_VAR condition within the UDF and must make sure
not to put this macro under any other conditions within the UDF (e.g., IN_PDF, OUT_PDF or GET_VAR).
DEFINE_POLLUT_RATE UDF conditions (where POLLUT can be either NOX, SOX or HG):
IN_PDF is used to specify rates that are included within the PDF integration loop for turbulence interaction.
OUT_PDF is used to specify rates that are not allowed to fluctuate (e.g. sources due to char combustion).
SET_VAR is used to set or modify a common pollutant model parameter or cell dependant value (e.g.
upper limit of the temperature integral). This condition will be checked at each computational cell before
fluctuating rate computations.
GET_VAR is used to obtain computed values (e.g. species rates due to each individual reaction) at each
computational cell at the end of pollutant rate computations.

10.3.6. Mercury Model Dialog Box A Quick Reference Guide


The Mercury Model dialog box allows you to set parameters related to the mercury model. See Using
the Mercury Model (p. 66) for details about the items below.

Controls

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

87

Pollutants
Model
specifies which model should be used for mercury speciation.

Off
disables the calculation of mercury formation.
One-Step
enables the one-step mercury model described in One Step Mechanism (p. 60).
Two-Step
enables the two-step mercury model described in Two Step Mechanism (p. 60).
Detailed
enables the detailed (Wilcox) model described in Detailed (Wilcox) Mechanism (p. 61).
Fuel Streams
allows you to define multiple fuel streams for mercury formation.
Number of Fuel Streams
sets the number of fuel streams. You are allowed up to three fuel streams.
Fuel Stream ID
specifies the fuel stream you are defining in the PDF Stream drop-down list or the Fuel Species
selection list.
PDF Stream
specifies the PDF stream species associated with a particular Fuel Stream ID, when calculating
mercury formation in conjunction with the non-premixed combustion model. You can select either
the primary or secondary fuel streams, as defined in the PDF table.
Fuel Species
is a list containing all of the defined species. Specify the species that is associated with a particular
Fuel Stream ID. You cannot select more than 5 fuel species for each fuel stream, and the total
number of fuel species selected for all the fuel streams combined cannot exceed 10.
Turbulence Interaction Mode
contains inputs that specify how turbulent fluctuations are accounted for in the mercury formation calculations. For further details on these inputs, see Setting Turbulence Parameters (p. 74).

PDF Mode
is a drop-down list that contains the options for addressing turbulent fluctuations in the mercury
rate calculations. Note that mixture fraction is the most accurate option, and should be used if it
is available.
none
specifies the use of laminar mercury rate calculations, so that the effects of turbulence are ignored.
temperature
specifies that the mercury rate calculations include the effect of temperature fluctuations.

88

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


temperature/species
specifies that the mercury rate calculations include the effect of fluctuations of temperature, as
well as fluctuations of the mass fraction of the species selected in the Species drop-down list
(which appears when you select this option).
mixture fraction
(non-premixed and partially premixed combustion calculations only) is the most accurate option,
specifying that the mercury rate calculations include the effect of fluctuations of mixture fraction(s).
Note that this option is not available if you are using the eddy-dissipation model.
PDF Type
allows you to specify the shape of the PDF.
beta
models the PDF using Equation 14.108 in the Fluent Theory Guide in the Theory Guide.
gaussian
models the PDF using Equation 14.111 in the Fluent Theory Guide in the Theory Guide.
PDF Points
controls the number of points at which the beta function will be integrated on a histogram basis.
Increasing this number may improve accuracy, but will also increase compute time. This field is only
available when temperature or temperature/species is selected from the PDF Mode drop-down
list.
Temperature Variance
allows you to specify the form of transport equation that is solved to calculate the temperature
variance.
algebraic
is an approximate form of the transport equation (see Equation 14.114 in the Fluent Theory Guide
in the Theory Guide).
transported
solves Equation 14.113 in the Fluent Theory Guide in the Theory Guide.
Tmax Option
provides various options for determining the maximum limit(s) for the integration of the PDF used
to calculate the temperature.
global-tmax
sets the limit as the maximum temperature in the flow field.
local-tmax-factor
yields cell-based maximum temperature limits by multiplying the local cell mean temperature
by the value entered in Tmax Factor.
specified-tmax
sets the limit for each cell to be the value entered in Tmax.
user-defined
allows you to hook a user-defined function that specifies custom values for the maximum limit
(), which is used for the integration of the temperature PDF. This option is only available if
you have already compiled a UDF.
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

89

Pollutants
Species
is a drop-down list which appears when temperature/species is selected from the PDF Mode dropdown list. Here you will select the species whose mass fraction fluctuations will be factored into the
mercury rate calculations.
User-Defined Functions
allows you to use a user-defined function (UDF) to contribute to the rate of mercury production. See the
separate UDF Manual for details. Note that you may also use a UDF to specify custom values for the
maximum limit () that is used for the integration of the temperature PDF (when temperature is accounted for in the turbulence interaction modeling).

Hg Rate
allows you to select a compiled UDF.
UDF Rate
provides options for the treatment of the mercury production specified by the UDF.
Replace FLUENT Rate
replaces ANSYS Fluents mercury rate calculations with the custom mercury rate produced by
your UDF.
Add to FLUENT Rate
adds the custom mercury rate produced by your UDF to ANSYS Fluents mercury rate calculations.
Fuel Stream Settings
contains the parameters associated with a particular fuel stream of the mercury model, as specified in
the Fuel Stream ID text box in the Fuel Streams group box.

Fuel Type
enables selection of the fuel.
Solid
enables the calculation of mercury from a solid fuel.
Liquid
enables the calculation of mercury from a liquid fuel.
Gas
enables the calculation of mercury from a gaseous fuel.
Fuel HG Mass Fraction
field sets the correct mass fraction of Hg in the fuel (kg Hg per kg fuel).
Volatile HG Mass Fraction
specifies the mass fraction of mercury in the volatiles. This parameter appears only for Solid fuel
streams.
Char HG Mass Fraction
specifies the mass fraction of mercury in the char. This parameter appears only for Solid fuel streams.

90

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Mercury Pollutant Formation


CL Intermediate
drop-down list enables you to select Chlorine intermediate species (hcl, cl, or hcl/cl).
Volatile CL Mass Fraction
specifies the mass fraction of chlorine in the volatiles (kg Cl per kg volatiles). This parameter appears
only for Solid fuel streams.
Fuel CL Mass Fraction
field sets the value for correct Chlorine intermediate species (hcl, cl, or hcl/cl) mass fraction in the
fuel (kg chlorine per kg fuel). This parameter appears only for Liquid and Gas fuel streams.
HCL Partition Fraction
specifies the fraction of fuel chlorine that will become Cl. A partition fraction of 0 for HCl is equivalent
to assuming that all fuel chlorine is converted to the final product Cl.
Char CL Conversion
drop-down list enable you to select the char chlorine path as hcl, cl, or hcl/cl. This parameter appears
only for Solid fuel streams.
Char CL Mass Fraction
specifies the mass fraction of chlorine in the char. This parameter appears only for Solid fuel streams.
Model Parameters
contains parameters that control the formation of mercury.

[OH] Model
is a drop-down list that allows you to specify the method by which the OH radical concentration is
calculated, i.e., none, instantaneous, or partial-equilibrium. This list appears only for the Detailed
mercury model.
[O] Model
is a drop-down list that specifies the method by which the O radical concentration is calculated, i.e.,
equilibrium, partial-equilibrium, or instantaneous.

Important
To use the concentration of OH or O predicted by the combustion model, select instantaneous for [OH] Modelor [O] Model.
hg?
Enable/disable the mercury model.
hg-parameters/
Enter the mercury parameters menu.
hg-chemistry
Select mercury chemistry model.
hg-turbulence-interaction
Set mercury-turbulence interaction model.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

91

Pollutants
inlet-diffusion?
Enable/disable inclusion of diffusion at inlets.

10.3.7. References
1. D. Dajnak and F. C. Lockwood., Modelling of Toxic Heavy Metal Mercury Partitioning from Pulverized
Fuel Combustion, IFRF Combustion Journal, March 2001
2. J. I. Madsen, W. A. Rogers, and T. J. OBrien, Unstructured Multigrid Through Agglomeration In Computational Modelling of Mercury Control by Sorbent Injection, Baltimore, Maryland, 2004
3. B. Toole-ONeil, S. J. Tewalt, R. B. Finkleman, and D. J. Akers, "Mercury Concentration in Coal Unravelling
the Puzzle", Fuel, 78(1), 4774, 1999
4. B. Hall, An Experimental Study of Mercury Reactions in Combustion Flue Gases, PhD thesis, Chalmers
University of Technology, Sweden, 1991
5. J. Wilcox, "On the Path to Elucidating the Speciation of Mercury in the Flue Gases of Coal Combustion,
PhD thesis, Dept. of Chemical and Environmental Engineering, he University of Arizona, Arizona, U.S.A.,
2004
6. J. Wilcox, D. C. J. Marsden, and P. Blowers, "Evaluation of Basis Sets and Theoretical Methods for Estimating
Rate Constants of Mercury Oxidation Reactions Involving Chlorine", Fuel Processing Technology, v85(5),
391400, 2004
7. J. Wilcox, J. Robles, D. C. J. Marsden, and P. Blowers, Theoretically Predicted Rate Constants for Mercury
Oxidation by Hydrogen Chloride in Coal Combustion Flue Gases, Environmental Science and Technology,
v37(18), 41994204, 2003
8. J. Wilcox, , "A Kinetic Investigation of High-Temperature Mercury Oxidation by Chlorine", Journal of
Physical Chemistry A, v113(24), 66336639, 2009
9. J. A. Gasper, N. C. Widmer, J. A. Cole, and W. R. Seeker, Study of Mercury Speciation in a Simulated Municipal Waste Incinerator Flue", In Proceedings of 1997 International Conference on Incineration and Thermal
Treatment Technologies, Oakland, California, 1997
10. J. Janicka and W. Kollmann, A Numerical Study of Oscillating Flow Around a Circular Cylinder, Combustion
and Flame, v44, 319336, 1982
11. M. Missaghi, Mathematical Modelling of Chemical Sources in Turbulent Combustion, PhD thesis, The
University of Leeds, England, 1987
12. G. Hand, M. Missaghi, M. Pourkashanian, and A. Williams, "Experimental Studies and Computer Modeling
of Nitrogen Oxides in a Cylindrical Furnace", In Proceedings of the Ninth Members Conference, volume
2. IFRF Doc No K21/g/30, 1989

92

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 11: Acoustics


11.1. Modal Analysis
ANSYS Fluent implements a finite-volume method for computing the resonance frequencies and natural
acoustic modes for any enclosure. Sound wave propagation, reflection, diffraction, and convection are
taken into account. The formulation requires an input of the mean flow obtained from a steady state
solution, together with prescribed boundary conditions. The method involves solving the Linearized
Navier-Stokes Equations with the iterative Implicitly Restarted Arnoldi method to find the eigenvalues
(frequencies) and eigenvectors (mode shapes of the pressure and velocity fluctuations).

11.1.1. Limitations
The following limitations apply to the modal analysis model currently implemented in ANSYS Fluent:
The modal analysis model is applicable to a steady-state, compressible ideal-gas solution.
The modal analysis model is available for the double precision, serial ANSYS Fluent version.
The modal analysis model treats all domain boundaries as sound reflecting boundaries. Fluid particles can
enter and leave the domain but acoustic waves are reflected.

11.1.2. Modal Analysis Theory


The system of 3D Linearized Navier-Stokes equations, in a Cartesian coordinate system are:



+
+
+ +
=



+ + +





+
+
+
+

(11.1)





+
+ +
+

(11.2)

(11.3)

where is the molecular stress tensor

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

93

Acoustics

(11.4)

and the subscript represents the mean values, and superscript represents the acoustic fluctuation
about this mean (e.g. = + ). Note that a thermally perfect ideal gas is assumed. is the Kronecker
delta function, is the molecular viscosity, is the conductive heat diffusivity coefficient, and
are the specific heats at constant volume and constant pressure, respectively.
The mean flow conditions are first solved from a steady-state solution of the Reynolds-Averaged NavierStokes equations. The fluctuating quantities are assumed harmonic functions in time, so that
= , where = . Substituting this into the linearized
Navier-Stokes gives

The Jacobians

and

(11.5)

are the direct linearizations of the discretized flow equations.

With = , this system of equations can be written as:


(11.6)

and = , is the solution of

the eigenvalues problem. is the eigenvector for the complex eigenvalue = . The proper
acoustic response of boundaries is included in the modal analysis model [1].

where

Equation 11.6 (p. 94) is an eigen-system and the iterative Implicitly Restarted Arnoldi method is use to
compute a small set of eigenvalues and eigenvectors in a limited range of interest. The Implicitly Restarted
Arnoldi method uses the ARPACK package (http://www.caam.rice.edu/software/ARPACK/), which is a
collection of Fortran 77 subroutines designed to solve large-scale eigenvalue problems.

11.1.3. Using the Modal Analysis Model


Make sure you first enable beta feature access, as described in Introduction (p. 1). The procedure for
computing the resonance frequencies and acoustic modes using the modal analysis model in ANSYS
Fluent is as follows:
1. Calculate a converged steady state compressible RANS solution.
2. Enable the Modal Analysis acoustics model.
Models

Acoustics Edit...

3. Set the associated Model Constants in the Acoustics Model dialog box.
4. Compute the resonance frequencies and acoustic modes by clicking the Solve button.
5. Postprocess the acoustic modes.

94

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Modal Analysis
Graphics and Animations

Contours Set Up...

11.1.4. Setting Model Parameters


Under Model Constants in the Acoustics Model dialog box (Figure 11.1: The Acoustics Model Dialog
Box (p. 95)), specify the relevant acoustic parameters used by the model.
Figure 11.1: The Acoustics Model Dialog Box

Number of Frequencies
is the requested maximum number of eigenvalues (natural acoustic frequencies). The default of 30.
Frequency Shift
is the frequency around which the eigenvalues will be solved. When the frequency shift is zero, the
Arnoldi algorithm computes the eigenvalues around the smallest magnitude (SM). The default is 200Hz.
Maximum Number of Arnoldi Iterations
: the Implicitly Restarted Arnoldi Method is terminated after this many iterations if not converged. The
default is 500.
Residual Tolerance
is the convergence criterion for the Arnoldi algorithm. The default is 0.001.

11.1.5. Postprocessing of the Modal Analysis Model


Postprocessing of the acoustic modes is accomplished by selecting the Acoustics category in the
postprocessing dialog boxes:
Acoustic Pressure Mode n
where n ranges from 1 to 10.

11.1.5.1. References
1. Caraeni M., Devaki R. K., Aroni M., Oswald M., Srikanth KVSS, Efficient Acoustic Modal Analysis for Industrial CFD, AIAA-2009-1332, 2009
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

95

Acoustics

11.2. Band Analysis of Acoustic Sources


During a transient flow simulation, the time histories of the instant surface pressure values can be
written into the binary Acoustic Source Data (ASD) files. This operation is performed for all grid faces
of those surface zones that are selected as acoustic sources. The primary purpose of the ASD files is to
supply input data for the Ffowcs Williams-Hawkings acoustic solver. With ANSYS Fluent 15.0, these files
can also be used to visualize the spectral properties of the stored pressure signals. At present, you can
compute and visualize the Sound Pressure Level (SPL) values for each octave, in decibels.

Note
Despite the use of the common term SPL, the calculated values characterize the transient
flow pressure on a surface, and not the acoustic pressure.
The new feature is only accessible through the TUI. The source-band-analysis command appears
under the following conditions:
The beta feature setting is enabled.
The simulation is set up as a transient case.
The Export Acoustic Source Data in ASD Format option is activated in the acoustic
model setup.
This feature can be accessed using the following text command:
/define/models/acoustics/source-band-analysis

The TUI dialog box will ask you to specify the name of the index file, which is an ASCII file containing
a list of the source zones and a list of the ASD file names. The default index file name is taken from the
acoustic sources setup. In the next step, the dialog asks whether you want to select each following ASD
file from the list, and which source zones must be processed, as seen by the sample TUI dialog:
/define/models/acoustics> source-band-analysis
Index filename ["source.index"]
Reading "source.index"...
select the file source11001.asd? [yes]
select the file source12001.asd? [yes]
...
select the file source39001.asd? [yes]
select source zone bottom? [yes]
select source zone mirror-front? [yes]
select source zone mirror-rear? [yes]
Number of ASD face zones: 3
Number of ASD files to read: 29

After reading in the ASD files, a FFT is performed for the pressure history at each grid face of the source
zones. No window function is applied to the source signals. The resulting Fourier amplitudes are combined
within the standard octaves to obtain the octave SPL values, which are then stored in the 17 new field
variables:
SPL
SPL
SPL
...
SPL

96

for Octave Band at 1Hz (dB)


for Octave Band at 2Hz (dB)
for Octave Band at 4Hz (dB)
for Octave Band at 63kHz (dB)

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Band Analysis of Acoustic Sources


A frequency value in each variable name indicates the center frequency for the correspondent octave.
The LES-resolved vortices and the distributions of the octave SPL values for a flow past a wall-mounted
generic car mirror are shown in Figure 11.2: Resolved Turbulent Vortices colored by Z Velocity (p. 97)
to Figure 11.5: SPL for Octave at 500 Hz (p. 98). These values are obtained using 30,000 timesteps.
Figure 11.2: Resolved Turbulent Vortices colored by Z Velocity

Figure 11.3: SPL for Octave at 8 Hz

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

97

Acoustics
Figure 11.4: SPL for Octave at 63 Hz

Figure 11.5: SPL for Octave at 500 Hz

98

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 12: Discrete Phase


12.1. Extended Collision Stencil
The extended collision stencil uses particles in neighboring cells to calculate the collision probability.
The current model only uses particles in the current cell to calculate the collision frequency, where in
this case particles in the closest N cells to the current particle location (where N is set by the user) are
also allowed to collide.
The model should be used when the mesh is very fine and the spray is represented by relatively few
particles per cell. Using a larger sample volume improves the statistics of the collision calculation. Note
that the cost for calculating collision depends on the square of n, where n is the number of particles
in the sampled volume, so increasing the number of cells beyond 3 or 4 can increase the computation
time significantly.
To use this model (after enabling beta feature access, described in Introduction (p. 1) ), enter the
following text command:
define models dpm spray-model droplet-collision? and enter the following responses to the commands:
Spray collision model [yes]
Spray collision model type [0-ORourke, 1-Stencil, 2-NTC] [0] 1
Spray collision stencil size [1]
Spray collision event type [0-All, 1-Eff.Diam, 2-Impinging] [0]

12.2. Tracking of Child Droplets Within the Same Time Step


The DPM model is extended to consider the tracking of child droplets within the same time step when
transient breakup models are enabled. The new child droplets are collected and tracked when the
droplets are advanced within the time step.
After enabling beta feature access, described in Introduction (p. 1), you can enable Consider Child
Particles in the Same Tracking Step in the Physical Models tab of the Discrete Phase Model dialog
box, as shown in Figure 12.1: The Discrete Phase Model Dialog Box (p. 100).

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

99

Discrete Phase
Figure 12.1: The Discrete Phase Model Dialog Box

You can also enable this feature using the following text command: /define/models/dpm/spraymodel/consider-childs-in-the-same-tracking-step? Yes

12.3. Linearized Source Terms


Source terms for discrete phase momentum, energy, and species can be linearized with respect to the
cell variable, :

= +

100

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

(12.1)

Volume Injections
This linearization strongly increases numerical stability for steady flows. For transient flows, it typically
allows the use of larger time steps and larger under-relaxation factors for the DPM model.
The source term linearization can be combined with the Average DPM Source Terms (Node Based
Averaging of Particle Data in the Fluent User's Guide) and Update DPM Sources Every Flow Iteration
(Options for Interaction with the Continuous Phase in the Fluent User's Guide) options. However, you
should disable Average DPM Source Terms when using linearized DPM source terms for vaporizing
particles. Combination of these two features in vaporization cases may lead to numerical instabilities
and unphysical results for the gas temperature.
To enable source term linearization, use the TUI command:
/define/models/dpm/interaction/linearized-dpm-source-terms? yes

12.4. Volume Injections


With beta features and transient particle tracking enabled an additional injection type, volume, is
available in the Set Injection Properties dialog box and under the define/injections/createinjection TUI command. This feature allows you to inject particles directly into a single or multiple
fluid zones. This eliminates the need to populate a volume with particles by using UDFs or by creating
surface injections on interior faces which has the drawback of introducing particles only on the cell
faces and not directly within the cells.
In the context of DEM, the initial particle positions are adjusted to ensure that no particle overlap exists
in order to prevent un-physical behavior. You can specify either the total flow rate of the total mass of
particles injected and you can specify either the total number of parcels or the number of parcels per
CFD cell. Note that for injections using DEM, the initial volume fraction is limited to 30%-40% depending
on size distribution. Standard DPM injections do not have an initial volume fraction limitation.

Tip
If you are performing a DEM simulation and require an initial volume fraction higher
than the 30%-40% guideline (for example, to initialize a packed bed), you can specify a
larger volume for the initial seeding and run a preliminary calculation to allow the
particles to settle.

12.4.1. Limitations
The volume injection type is not compatible with the Shared Memory DPM parallel option.

12.4.2. Using the Volume Injection


To create a volume injection, select volume under Injection Type in the Set Injection Properties
dialog box.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

101

Discrete Phase

You can then set up your injection in the usual way. The following additional controls are available to
configure the volume injection:
Release From
Currently zone is the only available option.
List of Zones
Select one or more zones in which the particle injection will occur.
Parcel Specification
Select parcels-per-cell to specify the number of parcels released per cell in the specified zones.
This option is recommended for cases where the CFD mesh shows little variation in cell volume.
Select total-parcel-count to specify the total number of parcels over all the specified zones.
This option is recommended when using DEM for better initial parcel distribution.
Note that when using either rosin-rammler or rosin-rammler-logarithmic for Diameter Distribution the number of parcels injected will be determined by the product of the number of
parcels specified in Parcel Specification and the Number of Diameters specified in the Point
Properties tab.

102

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Discrete Element Method with Periodic Boundary Conditions


Use Mass Input Instead of Flow Rate (in the Point Properties tab)
Enable this option to specify Total Mass rather than Total Flow Rate in the Point Properties tab.

12.5. Discrete Element Method with Periodic Boundary Conditions


After enabling beta features, you can use the discrete element method (DEM) in models containing
periodic boundary conditions. These can be translational or rotational periodic boundaries with conformal or non-conformal interfaces.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

103

104

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 13: Multiphase Modeling


This chapter contains information relating to the multiphase models implemented as beta features in
ANSYS Fluent 15.0.
13.1. Interphase Species Mass Transfer
13.2. Implicit Virtual Mass Force
13.3. Wave Spectrum for Random Wave Open Channel Boundaries

13.1. Interphase Species Mass Transfer


13.1.1. Overview
As a beta feature, you can use Fluent to model Interphase species mass transfer. Interphase species
mass transfer can occur across a phase interface (between a gas and a liquid, or between a liquid and
a solid) depending directly on the concentration gradient of the transporting species in the phases. For
example,
evaporation of a liquid into a gaseous mixture including its vapor, such as the evaporation of liquid
water into a mixture of air and water vapor.
absorption/dissolution of a dissolved gas in a liquid from a gaseous mixture. For example, the absorption of oxygen by water from air.
The interphase species mass transfer can be solved in either the Mixture model (with Slip Velocity enabled) or the Eulerian model subject to the following conditions:
Both phases consist of mixtures with at least two species, and at least one of the species is present
in both phases.
The two mixture phases are in contact and separated by an interface.
Species mass transfer can only occur between the same species from one phase to the other. For
example, evaporation/condensation between water liquid and water vapor.
As in all interphase mass transfer models in Fluent, if a gas mixture is involved in an interphase species
mass transfer process, it is always treated as a to-phase and the liquid mixture as a from-phase.
For the species involved in the mass transfer, the mass fractions in both phases must be determined
by solving transport equations. For example, the mass fractions of water liquid and water vapor in
an evaporation/condensation case must be solved directly from the governing equations, rather than
algebraically or from the physical constraint relations.

13.1.2. Theory
To model interphase species mass transfer, phase species transport equations are solved along with

the phase mass, momentum and energy equations. The transport equation for , the local mass fraction

of species in phase , is:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

105

Multiphase Modeling

+ +


(13.1)

denotes the pth phase, and is the number of phases in the system. , , and are the

phase volume fraction, density, and velocity for the qth phase. is the net rate of production of ho
mogeneous species through chemical reaction in phase . is the rate of production from external
sources, and is the heterogeneous reaction rate. denotes the mass transfer source from species
on phase to species on phase . Similarly, denotes the mass transfer from species on phase
to species on phase .
where

In practice, the source term for mass transfer of a species between phase
single term, either

and phase is treated a

or depending on the direction of the mass transfer. The volumetric

rate of species mass transfer is assumed to be a function of mass concentration gradient of the transported species.

(13.2)
=
where (= ) is the volumetric mass transfer coefficient between the pth phase and the qth phase,

and is the interfacial area. is the mass concentration of species in phase , and is the equilibrium mass concentration of species in phase . In order to solve the species mass transfer it is ne
cessary to determine appropriate values for and .

13.1.2.1. Modeling Approach


You can use one of two modeling approaches for species mass transfer. These are the Equilibrium
Model and the Two-Resistance Model. The Equilibrium Model enforces equilibrium between the two
phases, while the Two-Resistance Model enforces equilibrium only at the interface.

13.1.2.1.1. Equilibrium Model


The Equilibrium Model considers the case in which the species on the two phases are in dynamic
equilibrium. The interphase mass transfer rate is determined from the relationship between the equilibrium species concentrations on the two phases.
Typically at equilibrium the species concentrations on the two phases are not the same. However, there
exists a well-defined equilibrium curve relating the two concentrations. For binary mixtures, the equilibrium curve depends on the temperature and pressure. For multi-component mixtures, it is also a function
of the mixture composition. The equilibrium curve is usually monotonic and nonlinear, and is often
expressed in terms of equilibrium mole fractions of species and on phases and :

r = q r

106

(13.3)

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Interphase Species Mass Transfer


The simplest curve or relationship is quasi-linear and assumes that at equilibrium the mole fractions of
the species between the phases are in proportion:

=
(13.4)
where is the mole fraction equilibrium ratio. This relationship can, alternatively, be expressed in

terms of , , or :
=
=
(13.5)
=
There are several well-known interphase equilibrium models to define or determine
physical processes. ANSYS Fluent offers three ways to determine

for various

: Raoults Law, Henrys Law, and

Equilibrium Ratio. These are described in detail in Species Mass Transfer Models (p. 109).

13.1.2.1.2. Two-Resistance Model


In situations where there are discontinuities in phase concentrations at dynamic equilibrium, it is in
general not possible to simulate multi-component species mass transfer with the use of a single overall
mass transfer coefficient. The two-resistance model, first proposed by Whitman [4] (p. 124), is a more
general approach analogous to the two-resistance heat transfer models. It considers separate mass
transfer processes with different mass transfer coefficients on either side of the phase interface.
Again, consider a single species dissolved in the qth and pth phases with concentration of

and ,

respectively, and with a phase interface, . Interphase mass transfer from the qth phase to the pth phase
involves three steps:
The transfer of species from the bulk qth phase to the phase interface, .
The transfer of species across the phase interface. It is identified as species in the pth phase.
The transfer of species

from the interface, , to the bulk pth phase.

The two-resistance model has two principal assumptions:


The rate of species transport between the phases is controlled by the rates of diffusion through the
phases on each side of the interface.
The species transport across the interface is instantaneous (zero-resistance) and thus equilibrium
conditions prevail at the phase interface at all times.
In other words, there exist two resistances for species transport between two phases, and they are
the diffusions of the species from the two bulk phases and to the phase interface, .This situation
is illustrated graphically in Figure 13.1: Distribution of Molar Concentration in the Two-Resistance Model (p. 108).

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

107

Multiphase Modeling
Figure 13.1: Distribution of Molar Concentration in the Two-Resistance Model

Using Equation 13.2 (p. 106) with the assumption that and are the mass transfer coefficients for
the qth and pth phases, respectively, the volumetric rates of phase mass exchange can be expressed as
follows:
From the interface to the qth phase,

= =

(13.6)

From the interface to the pth phase,

(13.7)
= =
Under the dynamic equilibrium condition on the phase interface the overall mass balance must be
satisfied:

+ =

(13.8)

The equilibrium relation in Equation 13.5 (p. 107) also applies at the interface:

=
(13.9)

From Equation 13.6 (p. 108) Equation 13.9 (p. 108), one can determine the interface mass concentrations:

= =
(13.10)

+

and then obtain the interface mass transfer rates:

= =

=
+

(13.11)

The phase-speciific mass transfer coefficients, and , can each be determined from one of the
methods described in Mass Transfer Coefficient Models (p. 111). It is also possible to specify a zero-resistance condition on one side of the interface. This is equivalent to an infinite phase-specific mass
108

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Interphase Species Mass Transfer


transfer coefficient. For example, if its effect is to force the interface concentration to be the
same as the bulk concentration in phase .

13.1.2.2. Species Mass Transfer Models


There are several different, but related, variables used to quantify the concentration of a species, , in
phase .

Molar concentration of species in phase

Mass concentration of species in phase

Molar fraction of species in phase

Mass fraction of species in phase


These four quantities are related as follows:

where is the sum of the molar concentrations of all species in phase , and is the phase density
of phase .

13.1.2.2.1. Raoults Law


In gas-liquid systems, the equilibrium relations are most conveniently expressed in terms of the partial
pressure of the species in the gas phase. It is well known that for a pure liquid in contact with a gas
mixture containing its vapor dynamic equilibrium occurs when the partial pressure of the vapor species
is equal to its saturation pressure (a function of temperature). Raoults law extends this statement to
an ideal liquid mixture in contact with a gas. It states that the partial pressure of the vapor species in

, and the molar fraction in the liquid


phase , , is equal to the product of its saturation pressure,

phase, :


(13.12)
=

If the gas phase behaves as an ideal gas, then Daltons law of partial pressure gives:

(13.13)
=
Using Equation 13.4 (p. 107), Equation 13.12 (p. 109), and Equation 13.13 (p. 109), Raoults law can be rewritten in terms of a molar fraction ratio:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

109

Multiphase Modeling

(13.14)

= . With Equation 13.14 (p. 110), the equilibrium mole fraction of


the liquid species can be computed which is then used to compute the mass concentration, in

where the equilibrium ratio,

Equation 13.2 (p. 106) which can be solved with the models for interfacial area and volumetric mass
transfer coefficient.

13.1.2.2.2. Henrys Law


Raoults Law applies only for a phase with an ideal liquid mixture. To handle the case of a gas species
dissolved into a non-ideal liquid phase, Henrys law provides a more generalized equilibrium relationship

, in Equation 13.12 (p. 109) with a constant, , for the liquid


by replacing the saturation pressure,

species , referred to as Henrys constant:

(13.15)

has units of pressure and is known empirically for a wide range of materials, in particular for common
gases dissolved in water. It is usually strongly dependent on temperature.

As with Raoults law, Henrys law can be combined with Daltons law to yield an expression in terms of
equilibrium ratio:

(13.16)

where the equilibrium ratio is

= .

In addition to the molar fraction Henrys constant, , the molar concentration Henrys constant,
is also commonly used:

(13.17)

Fluent offers three methods for determining the Henrys constants: constant, the Vant Hoff correlation,
and user-defined. In the Vant Hoff correlation, the Henrys constant is a function of temperature:

(13.18)

and

(13.19)

where is the enthalpy of solution and is the Henrys constant at the reference temperature,
qrs . The temperature dependence is:

=
t

(13.20)

When using the Vant Hoff correlation in Fluent you specify the value of the reference Henrys constant,

, and the temperature dependence defined in Equation 13.20 (p. 110). These are material-dependent
110

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Interphase Species Mass Transfer


constants and can be found in [3] (p. 124). By default, the constants for oxygen are used. You can also
choose user-defined constants.

Important
Regardless of the units selected in the Fluent GUI, is always expressed in units of

for consistency with the presentation in most reference data tables. Appropriate
unit conversions are applied inside Fluent.

13.1.2.2.3. Equilibrium Ratio


In situations where neither Raoults law nor Henrys law apply, such as liquid-liquid extraction, or multiple
species mass transfers, Fluent offers you the option to directly specify the equilibrium ratios. You may
choose to specify the equilibrium ratio in the following forms:
Molar concentration equilibrium ratio,


Mass fraction equilibrium ratio,

Molar fraction equilibrium ratio,

These specify the ratio of the concentration variable for the To-phase divided by that for the From-phase
as defined in Equation 13.4 (p. 107) and Equation 13.5 (p. 107). You can specify either a constant value
or a user-defined function.

13.1.2.3. Mass Transfer Coefficient Models


In Fluent, the mass transfer coefficient, can be modeled as a constant, as a user-defined function,
or as a function of the Sherwood number of the qth phase,

(13.21)

where is the diffusivity of the qth phase, is the bubble diameter and
is either specified as a
=

constant or determined from one of several empirical correlations.


These methods are detailed in the following sections:
13.1.2.3.1. Constant
13.1.2.3.2. Sherwood Number
13.1.2.3.3. Ranz-Marshall Model
13.1.2.3.4. Hughmark Model
13.1.2.3.5. User-Defined

13.1.2.3.1. Constant
When modeled as a constant the constant volumetric mass transfer coefficient, is specified by the
user.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

111

Multiphase Modeling

13.1.2.3.2. Sherwood Number


In the Sherwood number method the user specifies a constant value for

and is computed from

Equation 13.21 (p. 111).

13.1.2.3.3. Ranz-Marshall Model


The Ranz-Marshall model uses an analogous approach to that for the Ranz-Marshall heat transfer coefficient model. The expression for the Sherwood number for flow past a spherical particle has the same
form as that for the Nusselt number in the context of heat transfer, with the Prandtl number replaced
by the Schmidt number:

(13.22)
= +

where

is the Schmidt number of the q

th

phase and

is the relative Reynolds number:

where and are, respectively, the dynamic viscosity and density of the qth phase. is
the magnitude of the relative velocity between phases. The Ranz-Marshall model is based on boundary
layer theory for steady flow past a spherical particle. It generally applies under the conditions:

<

<

13.1.2.3.4. Hughmark Model


Like the Ranz-Marshall model, the Hughmark model [2] (p. 124) for mass transfer coefficient is also analogous to its heat transfer coefficient counterpart. The Ranz-Marshall model is extended to a wider
range of Reynolds numbers by the Hughmark correction:

+
+

<

<

(13.23)

<

The Reynolds number crossover point is chosen to ensure continuity. The model should not be used
outside of the recommended Schmidt number range.

13.1.2.3.5. User-Defined
You can also use a user defined function for the mass transfer coefficient. To create a user-defined
function, use the DEFINE_MASS_TRANSFER macro as you would in other mass transfer cases.

13.1.3. Using the Species Mass Transfer Models


You can include interphase species mass transfer in either the Mixture model (when Slip Velocity is
enabled) or the Eulerian model under the following conditions:

112

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Interphase Species Mass Transfer


Both phases consist of mixtures with at least two species, and at least one of species is present in both
phases.
The two mixture phases are in contact and separated by an interface.
Species mass transfer can only occur between the same species from one phase to the other. For example,
evaporation/condensation between water liquid and water vapor.
As in all interphase mass transfer models in Fluent, if a gas mixture is involved in an interphase species
mass transfer process, it is always treated as a to-phase and the liquid mixture as a from-phase.
For the species involved in the mass transfer, the mass fractions in both phases must be determined by
solving transport equations. For example, the mass fractions of water liquid and water vapor in an evaporation/condensation case must be solved directly from the governing equations, rather than algebraically
or from the physical constraint relations.
To include interphase species mass transfer, perform the following steps:
1.

Enable beta features.


> /define/beta-feature-access
Enable beta features? [no] yes
It is recommended that you save your case/data files before enabling beta features.
This will assist in reverting to released functionality if needed.
OK to proceed? [cancel] OK
Beta features enabled.

2.

In the Mass tab in the Phase Interaction dialog box, specify the Number of Mass Transfer Mechanisms.
Select species-mass-transfer under Mechanism.

3.

In the Species Mass Transfer Model dialog box, choose Equilibrium Model or Two Resistance Model.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

113

Multiphase Modeling

Equilibrium Model
models the species mass transfer based on equilibrium between the bulk phases.
Two-Resistance Model
models the species mass transfer based on equilibrium at the phase interface.
4.

Under Model Options, choose the sub-model for determining the dynamic equilibrium relations between
the same species in a pair of phases.
Raoults Law
Use Raoults Law as described in Raoults Law (p. 109). This model is appropriate for gas-liquid cases
in which the liquid phase can be modeled as an ideal liquid mixture. If you use Raoults Law, you
must specify the saturation pressure as a constant, polynomial, piecewise-linear, piece-wise polynomial, or as a user-defined function using the DEFINE_PROPERTY macro.
Henrys Law
Use Henrys Law as described in Henrys Law (p. 110). This model is appropriate for cases in which
a gas species is dissolved into a non-ideal liquid mixture phase. If you use Henrys Law you must
specify the method for the Molar Fraction Henry Coeff or Molar Concentration Henry Coeff. You
can choose a constant, the vant-hoff correlation, or a user-defined function using the
DEFINE_MASS_TRANSFER macro. For the vant-hoff correlation, you will need to specify Reference

Henry Constant ( in Equation 13.18 (p. 110)) and Temperature Dependence (

).

Equilibrium Ratio
Use the Equilibrium Ratio method as described in Equilibrium Ratio (p. 111). This model allows you
to specify the equilibrium ratio as a constant, or as a user-defined function. If you use Equilibrium
Ratio you must specify a constant or user-defined function using the DEFINE_MASS_TRANSFER

114

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Interphase Species Mass Transfer


macro for Molar Fraction Equilibrium Ratio, Molar Concentration Equilibrium Ratio, or Mass
Fraction Equilibrium Ratio.
5.

Choose the sub-model for determining the Mass Transfer Coefficient. If you are using the Two Resistance
Model, you will need to specify sub-models for both Continuous-Interface Mass Transfer Coeff. and
Dispsersed-Interface Mass Transfer Coeff..
constant
Specify a constant value for the mass transfer coefficient.
sherwood-number
Specify a constant value for the Sherwood Number. The mass transfer coefficient is calculated from
Equation 13.21 (p. 111).
ranz-marshall
Use the Ranz-Marshall model as described in Ranz-Marshall Model (p. 112). The Ranz-Marshall model
is based on boundary layer theory for steady flow past a spherical particle. It is applicable at low
under the following flow conditions:

<

<

hughmark
Use the Hughmark model as described in Hughmark Model (p. 112). The Hughmark model extends
the the Ranz-Marshall model for a wider range of relative Reynolds number,
.
zero-resistance
Specify zero-resistance mass transfer between the bulk phase and interface (available only for the
Two-Resistance model).
user-defined
Use a user-defined function for the mass transfer coefficient defined with the
DEFINE_MASS_TRANSFER macro.
When using the Two-Resistance model, the selection of physically correct mass transfer correlations
is highly problem dependent. In the case of mass transfer between a continuous phase and a dispersed phase of approximately spherical particles, the following should be adequate under most
situations:
ranz-marshall or hughmark for the continuous phase
zero-resistance for the dispersed phase
Using zero-resistance for the dispersed phase implies that the mass transfer occurs very quickly
from the interface to the bulk of the dispersed phase. Consequently the interface concentration
and bulk concentration in the dispersed phase are equal. This is usually valid for droplet evaporation
or gas absorption/dissolution in bubbles. If there exists significant resistance to the mass transfer
on the dispersed phase side, one of the other correlations should be chosen for the dispersed
phase.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

115

Multiphase Modeling

13.2. Implicit Virtual Mass Force


Normally, the virtual mass in Fluent is implemented as an explicit momentum source for the primary
and secondary phases. However, in certain steady-state simulations, the magnitude of this source term
can become large and have a negative effect on the convergence behavior. As a beta feature, you can
use an implicit treatment for the virtual mass force that may improve convergence.
To use the implicit virtual mass treatment, perform the following steps:
1.

Enable beta features.


> /define/beta-feature-access
Enable beta features? [no] yes
It is recommended that you save your case/data files before enabling beta features.
This will assist in reverting to released functionality if needed.
OK to proceed? [cancel] OK
Beta features enabled.

2.

Enable Virtual Mass in the Mass tab of the Phase Interaction dialog box.

3.

Enable Implicit Treatment? in the VM Parameters dialog box.

a.

If desired, you can also adjust the virtual mass coefficient in the VM Coeff text box (default 0.5).

b.

Select Default to use the complete virtual mass source term or Option 2 to use a truncated version
which may further aid convergence in some cases.

You can also access these controls using the /define/phases/interaction-domain TUI command.

13.3. Wave Spectrum for Random Wave Open Channel Boundaries


For VOF simulations with open channel boundaries you can specify a wave spectrum to simulate random
wave boundary conditions. Random waves on the sea surface are generated by the action of the wind
over the free surface. The higher the wind speed, the longer the wind duration, and the longer the
distance over which the wind blows (fetch), the larger the resulting waves. You can simulate random
wave action for open channel wave boundary conditions by specifying a wave spectrum that describes
the distribution of energy over a range of wave frequencies. Fluent provides several formulations for
wave spectra based on wind speed, direction, duration, and fetch.

116

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Wave Spectrum for Random Wave Open Channel Boundaries

13.3.1. Definitions
Fully Developed Sea State
When the wind blown over the sea imparts its maximum energy to the waves, the sea is said to be fully
developed. This means that the sea state is independent of the distance over which the wind blows
(fetch) and the duration of the wind. Sea elevation can be assumed as statistically stable in this case.
The sea state is often characterized by the following parameters which can be estimated from the
wind speed and fetch:
Significant Wave Height (Hs)
Mean wave height of the largest 1/3 of waves.
Peak Wave Frequency (p) or Period
The frequency or period corresponding to the highest wave energy.
Long-Crested Sea
If the irregularity of the observed waves are only in the dominant wind direction, such that there are
mainly unidirectional waves with different amplitudes but parallel to each other, the sea is referred to
as a long-crested irregular sea.
Short-Crested Sea
When irregularities are apparent along the wave crests in multiple directions, the sea is referred to as
short-crested.

13.3.2. Wave Spectrum Implementation Theory


13.3.2.1. Long-Crested Random Waves (Unidirectional)
Long-crested random wave spectrums are unidirectional and are a function of frequency only.
ANSYS Fluent provides the following wave frequency spectrum formulations:
13.3.2.1.1. Pierson-Moskowitz Spectrum
13.3.2.1.2. Jonswap Spectrum
13.3.2.1.3.TMA Spectrum

13.3.2.1.1. Pierson-Moskowitz Spectrum


The Pierson-Moskowitz spectrum is valid for a fully developed sea and assumes that waves come in
equilibrium with the wind over an unlimited fetch [1] (p. 124).


(13.24)

where:

= Wave frequency
= Peak wave frequency
= Significant Wave Height

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

117

Multiphase Modeling

13.3.2.1.2. Jonswap Spectrum


The Jonswap spectrum is a fetch-limited version of the Pierson-Moskowitz spectrum in which the wave
spectrum is considered to continue to develop due to non-linear wave-wave interactions for a very long
time and distance. The peak in the wave spectrum is more pronounced compared to the PiersonMoskowitz spectrum [1] (p. 124).

(13.25)

where:

= Pierson-Moskowitz spectrum
= Wave frequency
= Peak wave frequency
= Peak shape parameter
=

= Spectral width parameter

=
=


>

13.3.2.1.3. TMA Spectrum


The TMA spectrum is a modified version of the Jonswap wave spectrum that is valid for finite water
depth [1] (p. 124).
(13.26)
=

is a depth function given by:



=

(13.27)

k is the wave number calculated from the dispersion relation

where g is the magnitude of gravity and h is the liquid depth.

13.3.2.2. Short-Crested Random Waves (Multi-Directional)


Short-crested random waves are multidirectional and are a function of both frequency and direction.
The short-crested wave spectrum is expressed as:
(13.28)
=
where:

= Frequency spectrum
118

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Wave Spectrum for Random Wave Open Channel Boundaries

= Directional spreading function

The following equation must be satisfied:


=
which imposes the following condition on the spreading function:

=
where:

=
= +
= Principal (mean) wave heading angle
= Angular spread from

ANSYS Fluent offers two options for specifying the directional spreading function,
13.3.2.2.1. Cosine-2s Power Function (Frequency Independent)
13.3.2.2.2. Hyperbolic Function (Frequency Dependent)

13.3.2.2.1. Cosine-2s Power Function (Frequency Independent)


In the cosine-2s power function formulation, the directional spreading function,
independent and is given by:

, is frequency

(13.29)

where:

= positive integer between 1 and n


13.3.2.2.2. Hyperbolic Function (Frequency Dependent)
In the hyperbolic function formulation, the directional spreading function,
pendent and is given by:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

, is frequency de(13.30)

119

Multiphase Modeling

<

<

>

in which:

13.3.2.3. Superposition of Individual Wave Components Using the Wave Spectrum


Series of individual wave components are generated for the given frequency range and angular spread.
These are then superposed using linear wave theory.
Figure 13.2: Typical Wave Spectrum

For each wave component, the amplitude is calculated from:

+ +
=

(13.31)

The final wave profile after superposing all the individual wave components is given by:

120

= =

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

(13.32)

Wave Spectrum for Random Wave Open Channel Boundaries


where:

= Number of frequency components


= Number of angular components
= Amplitude of individual wave component
= + +
=

=
= Wave number for nth frequency component
= Heading angle for the mth angular component
= Random phase difference uniformly distributed
between 0 and

13.3.3. Using the Wave Spectrum Boundary Condition


After enabling beta features using the define/beta-feature-access TUI command, you can
specify a wave spectrum boundary condition by enabling Open Channel Wave BC and selecting Wave
Spectrum for Wave Modeling Options in the Multiphase tab of the boundary condition dialog box.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

121

Multiphase Modeling

Description of Inputs
Wave Modeling Options
For shallow/intermediate or short gravity wave regimes you can model the waves using either Wave
Theories or Wave Spectrum. Wave Theories is usually selected for simulating regular waves. To simulate
random waves, select Wave Spectrum.

122

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Wave Spectrum for Random Wave Open Channel Boundaries


Frequency Spectrum Method
You can select Pierson-Moskowitz (appropriate for fully-developed seas), Jonswap (appropriate for
fetch-limited seas), or TMA (appropriate for fetch-limited, finite-depth seas).
Peak Shape Parameter
controls the shape and amplitude of the frequency peak in the Jonswap and TMA formulations. This
corresponds to in Equation 13.25 (p. 118).
Significant Wave Height
is the mean wave height of the largest 1/3 of waves. This corresponds to in Equation 13.24 (p. 117).
Peak Wave Frequency
is the wave frequency corresponding to the highest wave energy. This corresponds to in Equation 13.24 (p. 117) and Equation 13.25 (p. 118). can be expressed in terms of the peak wave period, ,
as = .
Minimum/Maximum Wave Frequency
specify the frequency range for the spectrum. Note that the Peak Wave Frequency must fall in between
Minimum Wave Frequency and Maximum Wave Frequency.
Number of Frequency Components
specifies the number of components into which the frequency spectrum is divided.
Direction Spreading Method
specifies the method to use for specifying the directional spreading characteristics. You can choose
Unidirectional (for long-crested waves), Frequency Independent Cosine Function (for short-crested
waves where the directional component does not depend on frequency), and Frequency Dependant
Hyperbolic Function (for short-crested waves where the directional component depends on frequency).
Frequency Independent Cosine Exponent
specifies the exponent in the Frequency Independent Cosine Function formulation. This corresponds to
in Equation 13.29 (p. 119).
Mean Wave Heading Angle
specifies the principal wave heading direction.
Angular Spread
specifies the deviation from the mean wave direction for calculating the angular range.
Number of Angular Components
specifies the number of components into which the angular range is divided.

13.3.4. Reporting During Initialization and Wave Spectrum Analysis


Basic information will be printed to the TUI console at the time of initialization. You can obtain more
detailed information by setting the verbosity to 1 (verbose) or 2 (very verbose) using one of the following
Scheme commands prior to initialization:
(rpsetvar 'vof/oc/wave/verbosity 1)

or
(rpsetvar 'vof/oc/wave/verbosity 2)

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

123

Multiphase Modeling
You can invoke wave spectrum analysis by using the TUI command:
> define/boundary-conditions/open-channel-wave-settings

Bibliography
[1] Recommended Practice DNV-RP-C205. Environmental Conditions and Environmental Loads. Det Norske
Veritas. October 2010.
[2] G.A. Hughmark. Mass and heat transfer from rigid spheres. AIChE J.. 13. 12191221. 1967.
[3] R. Sander. Compilation of Henrys Law Constants for Inorganic and Organic Species of Potential Importance
in Environmental Chemistry. http://www.henrys-law.org/.
[4] W.G. Whitman. Chem. Met. Eng.. 29. 146. 1923.

124

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 14: Solver


This chapter contains information about the beta features related to the following topics:
14.1. Recursive Projection Method
14.2. Reduced Rank Extrapolation (RRE) Method
14.3. Executing Commands at a User-specified Iteration or Time Step
14.4. Alternative Rhie-Chow Flux With Moving Or Dynamic Meshes
14.5. Automatic Solver Defaults Based on Setup

14.1. Recursive Projection Method


When using the density-based solver, in the Multigrid tab (Figure 14.1: The Multigrid Tab in the Advanced
Solution Controls Dialog Box (p. 126)), you can choose the stabilization method to be the recursive
projection method (RPM) in order to improve the convergence of the linear solver.

Note
Make sure you enable the access to the beta features (Introduction (p. 1)).

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

125

Solver
Figure 14.1: The Multigrid Tab in the Advanced Solution Controls Dialog Box

For information about the Recursive Projection method, see Setting Algebraic Multigrid Parameters in
the User's Guide.

14.2. Reduced Rank Extrapolation (RRE) Method


The Reduced Rank Extrapolation method (RRE) is a technique used to accelerate the convergence of
numerical methods involving non-linear iterative solution algorithms. A Finite Volume simulation of the
Navier-Stokes flow equations, as performed in ANSYS Fluent, is such a method. Benefits of the application
of RRE include better convergence rates, removal of residual stalling, and improved coupling between
equations among different numerical models. The algorithm is independent of the type of flow solver

126

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Reduced Rank Extrapolation (RRE) Method


and equally applicable to explicit, implicit, and pressure and density based algorithms. The drawback
is an increased memory consumption.
The RRE method is representative of the set of so called Krylov type methods. Such methods explore
the idea originally proposed by Krylov [1] that the solution of the linear system = lies within the
space defined as

(14.1)

which is also known as the Krylov subspace.

as a linear combination of orthogonal basis vectors of , which


minimizes the Euclidian norm of the residual vector = . This is usually a better approximation
The RRE method obtains a vector

of the solution at the given iteration. A linear least squares procedure is applied in order to solve the
minimization problem. Due to the memory requirements imposed by the need to keep solution vectors
from previous iterations in memory, only a limited subset of the entire Krylov space is stored. The

method operates on that subset once the user specified size (i.e. number of non-linear flow solver iterations) is reached. Then a new subspace is populated with the solution vectors from the following
iterations and subsequently the RRE procedure is restarted. It was found that in certain cases it might
be beneficial to not store the solution vector at each iteration, but to skip a certain number of iterations.
This is because of the fact that two subsequent solution vectors are almost linearly dependent and do
not provide much new information for the Krylov subspace. The number of skipped iterations is also a
user specifiable value.
ANSYS Fluents RRE method operates simultaneously on a predefined set of main flow variables, which
are stored into a shared solution vector and uses the regular flow solver as a preconditioner to
generate the products

It can be shown that when applied to a linear problem, the RRE method is equivalent to the GMRES
method derived by Y. Saad and M. H. Schultz [4]. Details of the method as well as investigations of its
behavior when applied to the Navier-Stokes problems can be found in [2] and [3].

Note
The Krylov subspace data is not written into the data file for reasons of keeping the file size
small and the i/o times limited. A certain jump of residual values if a precomputed data is
read into a new ANSYS Fluent session is expected.
To use the Reduced Rank Extrapolation option, follow the steps outlined below:
1. Make sure you enable access to the beta features (Introduction (p. 1)).
2. In the Solution Methods task page, enable the Reduced Rank Extrapolation option.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

127

Solver
Figure 14.2: The Solution Methods Task Page

3. Click the Options... button to specify the RRE settings in the RRE Options dialog box.
Figure 14.3: The RRE Options Dialog Box

a. Specify the size of the subspace in the RRE Options dialog box.

128

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Executing Commands at a User-specified Iteration or Time Step


b. Specify the number of iterations to skip while building it.

Note
In certain cases, it may be beneficial to increase the size of the Krylov subspace to
25 and store each 10th vector.

4. Run the solution.

14.2.1. References
1. A.N. Krylov, On the numerical solution of the equation by which in technical questions frequencies of
small oscillations of material systems are determined, Izvestija AN SSSR (News of Academy of Sciences
of the USSR), Otdel. mat. i estest. nauk, 1931, VII, Nr.4, 491-539 (in Russian).
2. A. Sidi, Efficient Implementation of Minimal Polynomial and Reduced Rank Extrapolation Methods. NASA
Technical Memorandum 103240, ICOMP-90-20
3. A. Jemcov and J. P. Maruszewski, Nonlinear Flow Solver Acceleration by Reduced Rank Extrapolation.
AIAA journal 2008-609
4. Y. Saad and M.H. Schultz, "GMRES: A generalized minimal residual algorithm for solving nonsymmetric
linear systems", SIAM J. Sci. Stat. Comput., 7:856-869, 1986. doi:10.1137/0907058

14.3. Executing Commands at a User-specified Iteration or Time Step


You can make modifications at a particular point during a simulation with the Execute command
only once? command. This command gives you a choice to execute commands:
at the beginning of a particular iteration, or
at the end of a particular time step.
The purpose of this option is to give you greater control over when modifications are applied; changes
are made at a specified iteration or time step even if you halt the run and write the files. The Execute
command only once? command is available through the text user interface (TUI) console.
To activate this feature, enable beta feature access (Introduction (p. 1)) and set the scheme session
variable execute-command-at? to true:
> (set! execute-command-at? #t)

14.3.1. Executing a Command at a Particular Iteration


The following example demonstrates how to execute a command at the beginning of a given iteration:
/solve/execute-commands> add-edit
Name of the command [command-1] command-1
Adding command-1
Execute command only once? [no] yes

Options: "iteration"
When ["iteration"] "iteration"

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

129

Solver
iteration no. [1] 5
Command [""] "display close-window 1"

Note
This is available for both transient and steady-state cases.

14.3.2. Executing a Command at a Particular Time Step


The following example demonstrates how to execute a command at the end of a particular time step:
/solve/execute-commands> add-edit
Name of the command [command-1] command-2
Adding command-2
Execute command only once? [no] yes

Options: "iteration" "time-step"


When ["iteration"] "time-step"
time-step no. [1] 5
Command [""] "display close-window 1"

Note
This is available only for transient cases.

14.4. Alternative Rhie-Chow Flux With Moving Or Dynamic Meshes


In single phase unsteady simulations that use sliding, moving, or dynamic meshes, an alternative RhieChow flux treatment can be enabled that includes an additional transient term in the formulation. This
is expected to yield improved results in these cases. To enable the alternative Rhie-Chow formulation,
enable beta features and use the following TUI command:
> /solve/set/moving-mesh-numerics
Alternative Rhie-Chow flux treatment for unsteady sliding, moving, and/or dynamic mesh? [no] yes

14.5. Automatic Solver Defaults Based on Setup


As a beta feature, you can have ANSYS Fluent automatically adjust various solver parameters to recommended settings based on certain characteristics of the problem you are trying to solve. For example,
the recommended settings often vary depending on whether the problem is steady or unsteady, compressible or incompressible, etc. To enable the automatic solver defaults, perform the following steps:
1. Enable beta features using the following TUI command:
> define beta-feature-access
Enable beta features? [no] yes
It is recommended that you save your case/data files before enabling beta features.
This will assist in reverting to released functionality if needed.
OK to proceed? [cancel] OK
Beta features enabled.

2. Enable Adjust Solver Defaults Based on Setup in the General task page.

130

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Automatic Solver Defaults Based on Setup

Once enabled, Fluent will automatically adjust solver settings to recommended values based on predefined contexts that correspond to various classes of problem. As settings are adjusted, Fluent will
print information messages to the text console alerting you to the changes it has made. The currently
implemented contexts are:
pressure-based solver: single-phase, steady
pressure-based solver: single-phase, buoyant
pressure-based solver: single-phase, transient
density-based solver: compressible, steady
density-based solver: incompressible, steady
density-based solver: compressible, transient
density-based solver: incompressible, transient
Eulerian multiphase: steady and unsteady
mixture multiphase: steady and unsteady
You can override the automatically chosen settings through the GUI or TUI as you normally would. Your
changes to the context are persistent.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

131

132

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 15: Custom Field Functions


15.1. Postprocessing Unsteady Statistics
You can postprocess unsteady statistics of any variable in your ANSYS Fluent simulation, by performing
the following steps:
1. Set up your transient problem.
2. Create a custom field function for the each of the variables for which you want to postprocess unsteady
statistics, using the Custom Field Function Calculator (Figure 15.1: The Custom Field Function Calculator
Dialog Box (p. 133)). For detailed instructions, see Creating a Custom Field Function.
Define Custom Field Functions...
Figure 15.1: The Custom Field Function Calculator Dialog Box

Important
The maximum number of custom field functions that can be calculated and postprocessed
for unsteady statistics is 50.

3. Enable the beta feature access (as described in Introduction (p. 1)).
4. Enable data sampling for the unsteady calculation.
Run Calculation

Data Sampling for Time Statistics

5. Enable unsteady statistics for custom field functions by using the following text command:
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

133

Custom Field Functions


solve set unsteady-statistics-cff
You will be prompted to enter the frequency at which the unsteady statistics will be sampled, as
well as to specify the custom field functions you want to postprocess.
6. Run the calculation.
Run Calculation Calculate
7. When the calculation is complete, the unsteady statistics for your custom field functions will be available
for postprocessing as field variables. The root-mean-square of the function will be named RMS-function_name, and the mean value of the function will be named Mean-function_name, where function_name
is the name of the custom field function you defined in step 2. For example, in the Contours dialog box,
you could select Unsteady Statistics... and RMS-uns-custom-functon-0 for the Contours of drop-down
lists (see Figure 15.2: The Contours Dialog Box (p. 134)).
Figure 15.2: The Contours Dialog Box

134

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 16: Turbomachinery


16.1. Pitch-Scale Model
In most turbomachines, the number of blades in the rotor row and the stator row are not equal.
Therefore, the pitch angles of the rotor and stator passages are different. The most accurate simulations
necessitate full domain modeling or whenever full pitchwise periodicity can be achieved. However, full
domain modeling is demanding in terms of CPU and memory requirements. The pitch-scaling method
will alleviate these requirements by modeling the flow between the rotor and stator passages by using
a single or a few blades per row. It is important to note that this method is an approximation. The accuracy of the solution will improve as the pitch ratio between the rotor and stator section approaches
unity. Therefore, if the pitch difference is large, it can be made small by adding an appropriate number
of blade passages until the ensemble pitch-ratio is within acceptable limits.
To activate this feature, enable beta feature access, as described in Introduction (p. 1).
Now in the situation when a "Periodic Repeat" interface is created between two blade passages of different pitch angles, the pitch-scaling mechanism will be automatically deployed on the non-conformal
interface. If the pitch between the blade passage is equal to unity, then the standard interface will be
deployed. The pitch-scale method will maintain connectivity and full flow conservation between blade
passages by stretching or compressing the solution profile on both sides of the interfaces. In the
density-based implicit, and pressure-based segregated and coupled solvers, the pitch-scale implementation is fully coupled.
Pitch-scaling is valid for 3D rotational turbomachines, such as radial or axial turbines and compressors.
In steady-state modeling, it is used with the Multiple Reference Frame method (MRF) for modeling flow
in an unequal-pitch rotor-stator problem.
In order to maintain an acceptable solution accuracy, it is recommended that the pitch ratio between
the two passages will not be more than 10%. In situations where the pitch difference is larger than
10%, it is recommended that a sufficient number of blade passages are added into the computational
domain on each side of the interface to reduce the pitch difference.
Compatibilities and limitations of the pitch-scale method, implemented as a beta feature, include the
following:
Applies to a 3D rotational turbomachine rotor-stator configuration, such as axial or radial compressors
or turbines, or a torque converter
Not available in 2D configuration or 3D translational problems (such as linear cascade)
Not available currently with FMG initialization
Available for steady-state simulations only
Not available with the following models:
Multiphase
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

135

Turbomachinery
Radiation
DPM
Species
Acoustics

16.2. Implicit Mixing-Plane Model


This beta feature is an alternate implementation of the mixing-plane model described in The Mixing
Plane Model in the Theory Guide. However, in this implementation the non-conformal interfaces are
utilized to provide full conservation as well as the mixing process instead of using boundary profile
exchange as in the standard mixing plane model.
The implicit nature of this implementation should provide a much more robust mixing-process as well
as fast convergence when used with implicit solution methods, such as the density-based implicit
solver or both pressure-based solvers. This model is not available with the density-based explicit solver.
To activate this feature, enable beta feature access, as described in Introduction (p. 1).

136

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Implicit Mixing-Plane Model


Figure 16.1: The Create/Edit Mesh Interfaces Dialog Box

This implementation works in conjunction with Periodic Repeats. Therefore, the upstream and downstream boundaries should be of interface types. Once Periodic Repeats is selected or created, the
Mixing Plane model will be available for use. If you have already created Periodic Repeats and you
want to apply a mixing process to it, then you should enable the Mixing Plane option and then click
Update. Otherwise, if you have not yet created the Periodic Repeats, you can engage the Mixing
Plane model at the same time you are creating the Periodic Repeats.
The Interpolation Points are the number of radial or axial pitch-wise (depending on the machine type)
locations used in reconstructing the circumferential averaging.

Note
If you want to convert the old standard mixing plane model and use this mixing plane
model you must do the following:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

137

Turbomachinery
1. Delete the old mixing plane.
2. Change the boundary type from inflow and outflow to interface type.
3. Follow the steps mentioned earlier to enable beta feature access and engage the mixing
plane model with Periodic Repeats.
Restrictions applied to Periodic Repeats in terms of model availability also apply to this
model.

138

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 17: Parallel Processing


This chapter contains information related to parallel processing beta features in ANSYS Fluent 15.0.
17.1. Laplace Partitioning

17.1. Laplace Partitioning


The Laplace partitioning method can be used to prevent partition boundaries from passing through
areas of high aspect ratio cells. This can resolve convergence difficulties that can arise in dynamic mesh
cases and other problems with regions of highly stretched cells. The Laplace partitioning method is an
extension of the Laplace coarsening method that is available as an AMG solver option.

Note
The Laplace partitioning method is not available for cases that contain parent cells.
To use the Laplace partitioning scheme you can use either of the following approaches:
Set the partition/smooth/aspect-ratio rpvar
(rpsetvar 'partition/smooth/aspect-ratio AspectRatioCutoff)

Once this rpvar is set, repartitioning will use the Laplace partitioning method.
Call the Laplace partitioning Scheme command:
(%laplace-partition AspectRatioCutoff NumPartitions Verbosity)

This will perform a one-time partitioning using the Laplace partitioning method.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

139

140

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 18: Fluent in Workbench


This chapter contains information relating to using beta features in ANSYS Fluent 15.0 in Workbench.
18.1. Performing Transient Two-Way Simulations with Fluent and ANSOFT
18.2. Working with Custom Input Parameters
18.3. Using UDFs to Compute Output Parameters
18.4. Creating Output Parameters for Surface/Volume Monitors

18.1. Performing Transient Two-Way Simulations with Fluent and ANSOFT


If Beta Options are enabled in Workbench, you can perform transient two-way coupling simulations
between Fluent and ANSOFT. If Beta Options are disabled in Workbench, then Fluent will not generate
the feedback temperature file. Also note that once Beta Options are enabled in Workbench, you may
also have to restart the Fluent application and/or Workbench to proceed with the simulation.
The following table illustrates the current support scenarios for Fluent and ANSOFT coupling.
Table 18.1: Current Support Scenarios for Fluent and ANSOFT Coupling
ANSOFT (Maxwell)

Fluent

One-way Support?

Two-way Support?

Steady

Steady

Yes

Yes

Steady

Transient

Yes

Yes

Transient

Steady

Yes

BETA

Transient

Transient

BETA

BETA

Note
Since automatic system updates are not available for coupled Ansoft-FLUENT systems, you
must perform cyclic updates of individual system components until the solution stops
changing within a desired level of tolerance using Python scripts. For more information, see
the Fluent in Workbench Users Guide.

18.2. Working with Custom Input Parameters


Various ANSYS Fluent setup related input quantities can be assigned to an input parameter. You can
define a series of simulations based on a set of parametric values that are managed both in ANSYS
Fluent and in Workbench. These parameters may be defined for numeric cell zone and boundary condition settings using the New Input Parameter option in the corresponding drop-down list or by
a small p icon adjacent to a specific input setting. However, various ANSYS Fluent settings are not
supported by these methods.
If the beta-feature-access option is enabled in ANSYS Fluent (as described in Introduction (p. 1)),
you can mitigate this limitation using custom input parameters, and define input parameters for various
ANSYS Fluent simulation related settings. The define/parameters/custom-input-parameters/create command is used to define custom input parameters that will use other text user interface
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

141

Fluent in Workbench
(TUI) commands in Fluent to change the desired simulation settings in a parametric manner. Each numerical component of the TUI command string can be marked and treated as a parameter. Setting up
custom input parameters requires using Scheme functions that convert TUI commands into
Scheme variables. Once defined, the Scheme variables are set as custom input parameters and are displayed in the Parameters dialog box alongside other input parameters. The input parameter passes a
constant numeric value to the registered scheme function. Therefore, the associated Scheme function
(and corresponding Fluent text command) uses the constant parameter values using the units that were
already defined for the designated text command quantity.
/custom-input-parameters/
Enter the custom input parameters menu.
create/
Create a custom input parameter. The following example demonstrates the create command.
where you create a custom input parameter using a Scheme file called my-funct:
/define/parameters/custom-input-parameters> create
Name of parameter ["parameter-1"]
parameter-1 value [0] 0.3
Enter the name of custom-input-var variable as symbol [custom-input-var1]
Enter the name of apply-function [()] my-funct
/solve/set/under-relaxation/pressure 0.3

where the my-funct Scheme file contents are:


(define my-funct
(lambda (value )
(ti-menu-load-string (format #f "/solve/set/under-relaxation/pressure ~g" value))))

delete
Delete a selected custom input variable, but not the associated input parameter (the input parameter
has to be deleted separately). Using the wildcard * allows you to delete all custom input variable
at once. For example:
/define/parameters/custom-input-parameters> delete
(custom-input-var3)
custom-input-var name(1) [custom-input-var3] *
custom-input-var name(2) [()]
Are you sure you want to delete input parameter ("custom-input-var1" "custom-input-var2" "custom-input-var3")?

list
Shows a list of defined custom input parameters along with their associated variables and apply
functions. For example:
parameter-name
-------------------parameter-3
parameter-2
parameter-1
--------------------

custom-input-var
-----------------------------custom-input-var3
custom-input-var2
custom-input-var1
------------------------------

apply-function
-------------------my-funct
my-funct
my-funct
--------------------

18.3. Using UDFs to Compute Output Parameters


ANSYS Fluent allows you to create output parameters that let you compare reporting values for different
cases. Output parameters are typically defined and computed through the graphical user interface and
not accessible through user defined functions (UDFs).
If the beta-feature-access option is enabled in ANSYS Fluent (as described in Introduction (p. 1)),
you can compute and publish real output parameter values computed by UDFs to Workbench (or ANSYS
Fluent). When the beta feature is enabled, a new output parameter type called udf is available once

142

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Creating Output Parameters for Surface/Volume Monitors


you invoke the create command in the define/parameters/output-parameters menu. The
create command has been extended to allow you to create a UDF-based output parameter. Using a
registered UDF, you can compute your own output quantity. Currently, this command is called by Fluent
in Workbench at the end of a calculation. When you select the udf type, you are prompted for information regarding the name of the output parameter, the user-defined function, the name of any input
parameters, etc. When you are finished, you are left with a specific output parameter that uses a UDF
that in turn may consume one or more input parameters. For example:
define/parameters/output-parameters> create
Output Parameter Type>
drag-coefficient
lift-coefficient
flux
moment-coefficient
force
surface-integral

udf
volume-integral

Name of Output Parameter ["parameter-1"]


Available udf of type output-parameter: ("mylibudf::libudf")
output-parameter UDF function name ["mylibudf::libudf"]
Do you want to use Input Parameters in the UDF Output Parameter? [no] yes
Enter the no. of Input Parameters to be used in UDF [0] 2
Name of Input Parameter ["parameter-3"]
parameter-3 value [0] 2
Name of Input Parameter ["parameter-4"]
parameter-4 value [0] 3

To see the value of a particular output parameter, run the calculation for a few iterations (or initialize
the solution), then type the define/parameters/outputparameters/printtoconsole
text command.

18.4. Creating Output Parameters for Surface/Volume Monitors


Once you enable the beta-feature-access option in Fluent, you will be able to create the output parameters from within the Surface Monitor and Volume Monitor dialog boxes.
To access this functionality:
1.

Ensure that you have enabled the beta features, as described in Introduction (p. 1).

2.

Save your case file.

3.

Reread the case file into Fluent.

You can use the Save Output Parameter button that appears in the Surface Monitor and Volume
Monitor dialog boxes to open the Save Output Parameter dialog box and create a new output parameter or overwrite an existing output parameter of the same type.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

143

144

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 19: User-Defined Functions


This chapter contains information about the beta features related to the following topics:
19.1. Six-DOF Motion Constraint Using UDFs

19.1. Six-DOF Motion Constraint Using UDFs


For each moving object you have an associated 6DOF properties UDF in which you set e.g. the mass
and the moments of inertia:
prop[SDOF_MASS]
prop[SDOF_IXX] =
prop[SDOF_IYY] =
prop[SDOF_IZZ] =

= 907.185;
27.116;
488.094;
488.094;

and other 6DOF properties. The entries of the 6DOF properties array are explained in
DEFINE_SDOF_PROPERTIES in the UDF Manual.
To constrain the motion of a 6DOF object, i.e. to set the motion to 0, you simply set in the UDF the
corresponding 6DOF property array entries to TRUE, e.g.
prop[SDOF_ZERO_TRANS_X] = TRUE;
prop[SDOF_ZERO_ROT_Y] = TRUE;

where SDOF_ZERO_TRANS_X, SDOF_ZERO_TRANS_Y, and SDOF_ZERO_TRANS_Z are the components


of the translation and SDOF_ZERO_ROT_Y, SDOF_ZERO_ROT_Y, and SDOF_ZERO_ROT_Z are the components of the rotation.
By default these entries are FALSE, i.e. the motion is not constrained.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

145

146

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 20: Fluent as a Server


This chapter describes certain capabilities of the Fluent as a Server feature that are released as beta
features.

20.1. ANSYS Session Manager


ANSYS Session Manager provides a flexible approach to starting and managing multiple Fluent as a
Server sessions. It provides an abstraction layer through which the FLUENT Remote Console as well as
client applications using the Fluent as a Server SDK can start, stop, and access Fluent solver sessions.
ANSYS Session Manager is typically run on a Server machine on which the Fluent as a Server sessions
will be run. Once running, ANSYS Session Manager listens for connections from client applications and
performs the requested session management actions.
When ANSYS Session Manager receives a request for a new solver session to be started, it creates a
folder for the new solver session in the TEMP folder belonging to the user running ANSYS Session
Manager. It then starts the solver application in server mode and makes the connection information
available to the client.

20.1.1. Using ANSYS Session Manager


The ANSYS Session Manager utility is provided as an executable and is located in the following directory
within the ANSYS FLUENT install tree:
v150\fluent\fluent15.0.0\addons\corba\<arch>

Note
If you are using the Fluent Client Package instead of a full Fluent installation, the ANSYS
Session Manager files are located in a Beta subdirectory of the path above.
Usage of the ANSYS Session Manager utility is as follows:
Windows
C:\> AnsysSessionManager.exe -f<configfile> -p<portnumber>
Linux
> AnsysSessionManager.cmd -f<configfile> -p<portnumber>
The following arguments and environment variables are recognized:
<configfile>
the name of a configuration file containing available installed solvers. For more information on the
configuration file, see Configuring ANSYS Session Manager (p. 148).
<portnumber>
the port on which ANSYS Session Manager should listen for client connections.
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

147

Fluent as a Server
AAS_HOST
an environment variable that is used to specify the IP address on which to listen for connections. Default
value is localhost which will allow connections only from the local machine. To enable connections
from remote clients, set this to the IP address of a network adapter on the local machine that is accessible
remotely.

Important
When started, ANSYS Session Manager will display a message indicating two consecutive
port numbers. The first of these is the port number used for connection from a client application.

20.1.2. Configuring ANSYS Session Manager


Before using ANSYS Session Manager you must create a configuration file. This file specifies which ANSYS
solvers are installed on the Server machine and how to instantiate them.
The configuration file is a text file of the following form where <userinput> indicates an item to be
specified according to your specific installation:
__AnsysSessionManagerIni__
_NrAvailableApplications
<integer>
_Application_001
<solver 1 name>
<solver 1 executable> <arguments> -aas
CORBA ICoFluentUnit
_Application_002
<solver 2 name>
<solver 2 executable> <arguments> -aas
CORBA ICoFluentUnit
<etc...>

An example configuration file is included with the ANSYS Fluent installation in the following location:
%AWP_ROOT150%\fluent\fluent15.0.0\addons\corba\<arch>\AnsysSessionManager.ini
You may need to edit or amend this file to reflect the local installation details on your Server Machine.

20.2. Fluent Remote Console


20.2.1. Connecting to ANSYS Session Manager
To expose additional commands to connect to the ANSYS Session Manager from Fluent Remote Console
issue the following Fluent Remote Console command:
>beta.enable asm

The ANSYS Session Manager commands are used to start, connect to, and disconnect from FLUENT
solvers through an ANSYS Session Manager instance running on a local or remote machine. ANSYS
Session Manager commands begin with the prefix asm.
asm.connect_to_server <hostname> <portnumber>
connect to the ANSYS Session Manager listening on <hostname>:<portnumber>. The portnumber
is that specified with the -p command line option to ANSYS Session Manager.

148

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Fluent Remote Console


asm.list_applications
list the available applications that can be started by the connected ANSYS Session Manager.
asm.start_application <appname>
start a session of the application <appname> and connect to it.
asm.list_sessions
list the runnings sessions managed by the conntected ANSYS Session Manager that are available for
connection.
asm.connect_to_session <session_name>
connect to the session <session_name> that is being managed by the connected ANSYS Session
Manager.
ANSYS Session Manager takes care of brokering the connection from the Fluent Remote Console to the
Fluent as a Server session. However, once the client is connected to a solver session, it provides commands directly to the Component Session as described in Fluent as a Server User's Guide without using
the Session Manager as an intermediary.

20.2.2. Concurrent Access


Concurrent access allows you to control a Fluent as a Server session that may already be processing a
batch file or initiate batch processing from Fluent Remote Console through an asynchronous call.

Important
No checking is currently performed to prevent conflicting commands when using concurrent access. Therefore you must use caution to prevent command conflicts that might
result in corrupted files or unstable simulations. For example, reading a new case file
into a paused simulation and then attempting to continue.
You can enable concurrent access to a Fluent as a Server session from the Fluent Remote Console by
issuing the following command in the Fluent Remote Console:
>beta.enable concurrent

This feature exposes several additional commands in the Fluent Remote Console:
fluent.interrupt
interrupt the batch processing. This is the equivalent of pressing Ctrl+C in an interactive Fluent session.
fluent.pause
pause the batch processing.
fluent.continue
continue processing a batch job that has been paused with fluent.pause.
fluent.read_journal <filename>
instruct Fluent to load and execute a remote journal file. This is an asynchronous call meaning Fluent
will return to Fluent Remote Console immediately and then load and execute the journal file. Note the
difference from file read-journal <filename> which is a TUI command and results in a syn-

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

149

Fluent as a Server
chronous call Fluent will load and execute the journal file and return to Fluent Remote Console after
execution is complete.

Note
It is highly recommended that you set the listening interval using fluent.set_aaslistening_step_at prior to loading a batch file to ensure consistent
behavior.
fluent.set_aaslistening_step_at <number> iterations|timesteps
sets the listening frequency on the Fluent server to <number>\ iterations (or timesteps). For example,
to specify that Fluent should listen for Fluent as a Server commands every 5 iterations use:
fluent.set_aaslistening_step_at 5 iterations

Once defined, the listening interval will be saved in the case file on case write and will be restored
when the case file is read.

20.2.3. Interactive Prompts for Text Commands


Normally, if you enter a Fluent TUI command in the Fluent Remote Console without specifying arguments,
Fluent will process the command using default values. As a beta feature, you can instead enable interactive prompts for text commands that are entered without arguments by issuing the following command
in the Fluent Remote Console:
>beta.enable questions

Once enabled, the following commands become available in the Fluent Remote Console.
fluent.set_server_questions_verbose
Instruct the attached Fluent session to perform interactive prompting for text commands which are issued
without all required arguments. This is the default behavior once the beta feature is enabled.
fluent.set_server_questions_silent
Instruct the attached Fluent session to suppress interactive prompting for text commands which are issued
without all required arguments and use default answers.

20.3. Fluent as a Server SDK


Note
If you are using the Fluent Client Package instead of a full Fluent installation, the SDK files
described in the following sections are located in a Beta subdirectory of the paths below.

20.3.1. IAnsysSessionManager CORBA Interface


The IAnsysSessionManager interface is a CORBA interface that includes methods to communicate with
a running ANSYS Session Manager instance to query, start, and connect to solver sessions. In order to
use the CORBA interface you must compile the AnsysSessionManager.idl file with a CORBA
compiler suitable for your client development environment. This file is located in the following directory
within the Fluent install tree:
v150\fluent\fluent15.0.0\addons\corba\<ARCH>\AnsysSessionManager.idl
150

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Fluent as a Server SDK


IAnsysSessionManager
long getNrAvailableApplications();
returns the number of applications that ANSYS Session Manager has registered.
string getApplicationNameByIndex(in long p_iApplicationIndex);
returns the name of the application with index p_iApplicationIndex.
string getApplicationInterfaceInfo(in string p_stringApplicationName);
returns information about the interface of the named application.
CoArrayString getApplicationAttributeNames(in string p_stringApplicationName);
returns the attribute names of the named application.
CoArrayString getApplicationAttributeDefaultValues(in string p_stringApplicationName);
returns the default values of the attributes of the named application.
string startSession(in string p_stringApplicationName);
starts a session of the application p_bstrApplicationName.
string startSessionWithAttributes(in string p_stringApplicationName, in CoArrayString
p_astringAttributeNames, in CoArrayString p_astringAttributeValues);
starts a session of the application p_bstrApplicationName, with the specified attribute values.
long cleanUp();
attempt to connect to all sessions started by the current session manager. If a session fails to connect
it will be removed from the list of running sessions.

Important
If a Fluent session is active but slow to respond (due to a long process of reading a
case, for example) CleanUp will wait until the session responds. Thus, depending on
the status of the running sessions this call may take a long time to complete. Use
with caution.
long getNrRunningSessions();
returns the number of running solver sessions being managed by ANSYS Session Manager.
string getRunningSessionNameByIndex(in long p_iRunningSessionIndex);
returns the name of the solver session with index p_iRunningSessionIndex.
string getRunningSessionInterfaceInfo(in string p_stringRunningSessionName);
returns information about the interface of the named solver session.
string connectToRunningSession(in string p_stringRunningSessionName);
connect to the managed session named p_stringRunningSessionName.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

151

Fluent as a Server
string resuscitateSession(in string p_stringApplicationName, in string p_stringLocation);
similar to startSession, but instead of creating a new working folder, resuscitateSession will start the
application in the remote folder designated by p_stringLocation.

Note
p_stringLocation should be either the absolute path of an existing folder on
the remote machine or a path relative to the folder in which ANSYS Session Manager
is running.

20.3.2. COM Connectors


The CORBA interfaces described in Fluent as a Server Software Development Kit (SDK) are also available
as pre-compiled COM connectors in DLL libraries included with the Fluent as a Server SDK.

20.3.2.1. Interfaces
You can make use of COM implementations of the ICoFluentUnit and ICoFluentSchemeController interfaces by including the following library in your application:
...\v150\fluent\fluent15.0.0\addons\corba\%ARCH%\COMCoFluentUnit.dll
This will make the following classes available:
class CCoFluentUnit
Calculate(void);
iterates the solution for the number of iterations specified with put_NrIterations. This is mainly
for use with steady simulations as it does not perform dual-time iteration. For transient cases you
can issue the solve/dual-time-iterate TUI command using CCoSchemeController::DoMenuCommand
get_ComponentName(void);
returns the name of the connected component
get_ComponentDescription(void);
returns the description of the connected component
get_NrInputParameters(void);
returns the number of input parameters defined in the current case
get_NrIterations(void);
returns the number of iterations currently set for a Calculate command to perform
get_NrOutputParameters(void);
returns the number of output parameters defined in the current case
getInputParameterNameByIndex(VARIANT &p_variantInputParameterIndex);
returns the name of the input parameter with index p_variantInputParameterIndex
getOutputParameterNameByIndex(VARIANT &p_variantOutputParameterIndex);
returns the name of the output parameter with index p_variantOutputParameterIndex

152

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Fluent as a Server SDK


getOutputParameterValueByIndex(VARIANT &p_variantOutputParameterIndex);
returns the value of the output parameter with index IOutputParameterIndex
getOutputParameterValueByName(LPCTSTR p_bstrOutputParameterName);
returns a string containing the name of the output parameter with name p_bstrOutputParameterName
getSchemeControllerInstance(void);
returns an object that can be used to send TUI or scheme commands to the Fluent session and
perform more advanced functions using the ICoFluentSchemeController Interface
LoadCase(LPCTSTR p_bstrCaseFileName);
load the case file p_bstrCaseFileName from the Fluent working directory into Fluent
LoadData(LPCTSTR p_bstrDataFileName);
load the data file p_bstrDataFileName from the Fluent working directory into Fluent
put_ComponentDescription(LPCTSTR newValue);
sets the connected component description to newValue
put_ComponentName(LPCTSTR newValue);
sets the connected component name to newValue
put_NrIterations(VARIANT &newValue);
sets the number of iterations that Calculate will perform to newValue.
SaveCase(LPCTSTR p_bstrCaseFileName);
save the current Fluent case to p_bstrCaseFileName in the Fluent working directory
SaveData(LPCTSTR p_bstrDataFileName);
save the current Fluent data to p_bstrDataFileName in the Fluent working directory
setInputParameterValueByIndex(VARIANT &p_variantInputParameterIndex, VARIANT
&p_variantInputParameterValue);
sets the value of the input parameter with index p_variantInputParameterIndex to
p_variantInputParameterValue
setInputParameterValueByName(LPCTSTR p_bstrInputParameterName, VARIANT
&p_variantInputParameterValue);
sets the value of the input parameter with index p_lInputParameterIndex to p_lfInputParameterValue
Terminate(void);
terminate the connected Fluent as a Server session
setMaximumVerbosity(VARIANT &p_variantMaximumVerbosity);
Reserved for future implementation
setLoggingObject(LPDISPATCH p_pIDispatchCoLogger);
Reserved for future implementation
class CCoFluentSchemeController
DoMenuCommand(LPCTSTR p_bstrMenuCommand);
issues a TUI command to the connected Fluent session. Output from the command is not returned
Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

153

Fluent as a Server
DoMenuCommandToString(LPCTSTR p_bstrMenuCommand);
issues a TUI command to the connected Fluent session and returns the output
DownloadFileToBuffer(LPCTSTR p_bstrRemoteFileName);
returns the contents of the file named p_bstrRemoteFileName in the remote Fluent session
working directory.
DownloadFileToFile(LPCTSTR p_bstrRemoteFileName, LPCTSTR p_bstrLocalFileName);
writes the contents of the file named p_bstrRemoteFileName in the remote Fluent session
working directory to the local file p_bstrLocalFileName.
ExecScheme(LPCTSTR p_bstrSchemeCommand);
issues a scheme command to the connected Fluent session. Output from the command is not returned
ExecSchemeToString(LPCTSTR p_bstrSchemeCommand);
issues a scheme command to the connected Fluent session and returns the output
SetRpVar(LPCTSTR p_bstrRpVar, LPCTSTR p_szRpVarValue);
sets the value of the rpvar p_szRpVar to p_szRpVarValue.
GetRpVar(LPCTSTR p_bstrRpVar);
returns a string with the value of the rpvar p_bstrRpVar.
UploadFileFromBuffer(LPCTSTR p_bstrRemoteFileName, VARIANT &p_variantLocalBufferContent);
writes a file named p_bstrRemoteFileName in the remote Fluent session working directory with
the contents of p_variantLocalBufferContent. If p_bstrRemoteFileName exists, it is
overwritten.
UploadFileFromFile(LPCTSTR p_bstrRemoteFileName, VARIANT p_bstrLocalFileName);
writes a file named p_bstrRemoteFileName in the remote Fluent session working directory with
the contents of p_bstrLocalFileName. If p_bstrRemoteFileName exists, it is overwritten.
There is also a DLL library with an interface, IAnsysSessionManager, for connecting to ANSYS Session
Manager. You can use this interface by including the following library in your application:
...\v150\fluent\fluent15.0.0\addons\corba\%ARCH%\COMAnsysSessionManager.dll
class CAnsysSessionManager
CleanUp(void);
attempt to connect to all sessions started by the current session manager. If a session fails to connect
it will be removed from the list of running sessions.

Important
If a Fluent session is active but slow to respond (due to a long process of reading a
case, for example) CleanUp will wait until the session responds. Thus, depending on
the status of the running sessions this call may take a long time to complete. Use
with caution.
ConnectToRunningSession(LPCTSTR p_bstrRunningSessionName);
connect to the managed session named p_bstrRunningSessionName.

154

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Fluent as a Server SDK


ConnectToSessionManager(LPCTSTR p_bstrHost, VARIANT &p_variantPort)
establish a connection to the ANSYS Session Manager listening on the specified host and port.
get_NrAvailableApplications(void);
returns the number of applications that ANSYS Session Manager has registered.
get_NrRunningSessions(void);
returns the number of running solver sessions being managed by ANSYS Session Manager.
getApplicationAttributeDefaultValues(LPCTSTR p_bstrApplicationName);
returns the default attribute values of the named application.
getApplicationAttributeNames(LPCTSTR p_bstrApplicationName);
returns the attribute names of the named application.
getApplicationInterfaceInfo(LPCTSTR p_bstrApplicationName);
returns information about the interface of the named application.
getApplicationNameByIndex(VARIANT &p_variantApplicationIndex);
returns the name of the application with index &p_variantApplicationIndex.
getRunningSessionInterfaceInfo(LPCTSTR p_bstrRunningSessionName);
returns information about the interface of the named solver session.
getRunningSessionNameByIndex(VARIANT &p_variantRunningSessionIndex);
returns the name of the solver session with index &p_variantRunningSessionIndex.
ResuscitateSession(LPCTSTR p_bstrApplicationName, LPCTSTR p_bstrLocation);
similar to StartSession, but instead of creating a new working folder, ResuscitateSession will start the
application in the remote folder designated by p_bstrLocation.

Note
p_bstrLocation should be either the absolute path of an existing folder on the
remote machine or a path relative to the folder in which ANSYS Session Manager is
running.
StartSession(LPCTSTR p_bstrApplicationName);
starts a session of the application p_bstrApplicationName.
StartSessionWithAttributes(LPCTSTR p_bstrApplicationName, VARIANT &p_variantAttributeNames, VARIANT &p_variantAttributeValues);
starts a session of the application p_bstrApplicationName with attributes set to the specified
values.

20.3.2.2. Registering the COM Connectors


If you are using a Windows platform you can register the COM connectors by using the following
commands:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

155

Fluent as a Server
C:\>cd <ANSYS Installation>\ANSYS Inc\v150\fluent\fluent15.0.0\addons\corba\%ARCH%\
C:\>regsvr32 ComCoFluentUnit.dll
C:\>regsvr32 ComAnsysSessionManager.dll

Note
You must have Administrator privileges to register the COM objects

20.3.3. Interactive Text User Interface Prompts


As a beta feature, ANSYS Fluent supports interactive Text User Interface prompts in 3rd party client
applications that are built using the Fluent as a Server SDK. This capability allows Fluent to interactively
prompt 3rd party client applications for required inputs when using a text command rather than just
assume default values for any unspecified arguments. This is similar to the way the native text console
in Fluent operates interactively. As an example, consider the report/summary command in Fluent.
This command takes 1 or 2 arguments in Fluent:
> report summary yes|no [filename]

The first argument is a yes/no which tells Fluent whether or not to write the output to a file. If this argument is yes, then the second argument specifies the filename. If the first argument is no the result
is displayed as the command output. In the native Fluent text console, if the user issues the command
with no arguments, Fluent will prompt them for the required information.
> report summary
write to file? [no] yes
report summary filename ["report.sum"] my_report.sum

Normally Fluent as a Server interpret commands given with no arguments as an instruction to use the
default answers (in this case, no as the only argument). The new capability allows a 3rd-party client
application to engage in the same interactive dialog with Fluent that a local user would. To accomplish
this, the CoFluentUnit CORBA interface incorporates four exception structures which are returned by
Fluent to a client application when more information is needed to execute a particular TUI command.
These structures allow a client application to determine the additional information required and reformulate the command. This dialog will continue until Fluent receives a complete command.

20.3.3.1. Using Interactive Prompting


By default, Fluent will use default values for all unspecified arguments to a command issued from a
Fluent as a Server client. In order to trigger interactive prompting for a command, the client must append
the character sequence <space>-? to the command string. For example the following line would
send the report summary command to Fluent through the CORBA scheme interface and request that
Fluent prompt with questions:
fluentSchemeInterface.doMenuCommandToString(report summary -?)

If Fluent requires additional information to execute the command it will throw one of the CORBA exceptions in Exceptions (p. 157) depending on the type of question. The client can catch the exception and
process it as necessary to respond with the additional information.
Thus, a typical sequence for a client application conducting a dialog with Fluent proceeds as follows:
1. Client sends a command to Fluent with the <space>-? sequence appended.
2. Fluent checks whether an argument is required and if so returns a CORBA exception.

156

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Fluent as a Server SDK


3. Client catches the exception and determines how to respond to the question from Fluent.
4. Client reformulates the command with the answer to the question now appended as an argument
(along with <space>-?) and sends the new command to Fluent.
5. Fluent checks whether an additional argument is required and if again returns a CORBA exception.
6. Steps 35 are repeated until Fluent determines that it has a complete command.

20.3.3.2. Exceptions
The following four exception structures are defined to handle the various interactive questions that
Fluent may respond with if an incomplete command is given.
exception EYesNoQuestion
{
long questionType; # An integer representing the type of question: 1 for this type
string questionPromptWithDefaultAnswer; # The prompt as it would be given in Fluent
# with the default given in square brackets
string defaultAnswer; # The default answer by itself
string questionHelp; # A help message if applicable
string questionMessage; # The message Fluent would present if the answer given was invalid
}
exception EReadUnquotedString
>
{
long
questionType; # An integer representing the type of question: 2 for this type
string questionPrompt; # The prompt as it would be given in Fluent (without the default answer)
string defaultAnswer; # The default answer
string questionHelp; # A help message if applicable
string questionMessage; # The message Fluent would present if the answer given was invalid
};
exception EReadQGenericQuestion
{
long
questionType; # An integer representing the type of question: 3 for this type
string questionPromptWithDefaultAnswer; # The prompt as it would be given in Fluent
# with the default given in square brackets
string rawDefaultAnswer; # The default answer
string questionHelp; # A help message if applicable
string questionMessage; # The message Fluent would present if the answer given was invalid
};
exception EMenuGetQuestion
{
long
questionType; # An integer representing the type of question: 4 for this type
string questionPrompt; # The prompt as it would be given in Fluent with the default given in square brackets
string questionHelp; # A help message if applicable
string questionMenu; # A list of items that can be chosen from
};

20.3.3.3. Example Code Listing


The following is a sample Python code block showing a basic implementation of exception handling
to receive prompts from a remote Fluent as a Server session and present them to a user operating the
client application. For each prompt with a default answer, if the user presses Enter without entering
any text, the default value is used.
success=False
while not success:
try:
output=scheme_interface.doMenuCommandToString(''.join([command," -?"]))
success=True
except AAS_CORBA.EYesNoQuestion as e:

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

157

Fluent as a Server
moreinfo=raw_input(''.join([e.questionPromptWithDefaultAnswer," "]))
if not moreinfo:
moreinfo=e.defaultAnswer
command=''.join([command," ",moreinfo])
except AAS_CORBA.EReadUnquotedString as e:
moreinfo=raw_input(''.join([e.questionPrompt," ","[",e.defaultAnswer,"]"]))
if not moreinfo:
moreinfo=e.defaultAnswer
command=''.join([command," ",moreinfo])
except AAS_CORBA.EReadQGenericQuestion as e:
moreinfo=raw_input(''.join([e.questionPromptWithDefaultAnswer," "]))
if not moreinfo:
moreinfo=e.rawDefaultAnswer
command=''.join([command," ",moreinfo])
except AAS_CORBA.EMenuGetQuestion as e:
print(e.questionMenu)
moreinfo=raw_input(''.join([e.questionPrompt," "]))
command=''.join([command," ",moreinfo])
except:
e=sys.exc_info()
print( "Error: %s" % e[0])
print(e[1])
sys.exit(1)

158

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 21: Population Balance


This chapter contains information relating to turbulence models available as beta features in ANSYS
Fluent 15.0.
21.1. Coulaloglou and Tavlarides Breakage

21.1. Coulaloglou and Tavlarides Breakage


The breakage frequency is give by

(21.1)

where and are constants, is the dissipation rate, is the parent diameter, is the surface tension,
is the volume fraction of the dispersed phase, is the dissipation of the primary phase, and is the
density of the dispersed phase [1].

Important
Make sure you first enable beta feature access, as described in Introduction (p. 1).
Please refer to Section 3.3.1 in the Population Balance Module Manual to learn how to enable the
population balance model. Enable the Breakage Kernel option and select tavlarides-model from the
and Frequency drop-down list. Enter the desired Surface Tension in the Surface Tension for Population
Balance dialog box.

21.1.1. References
1. Coulaloglou, C. A. and Tavlarides, L. L., Description of Interaction Processes in Agitated Liquid-Liquid
Dispersions, Chem. Eng. Sci., 32 (1977) 1289-1297.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

159

160

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Chapter 22: Adjoint Module Add-On


This chapter describes certain capabilities of the Adjoint Module Add-On that are released as beta features.

22.1. Multiple Objective Design


22.1.1. Overview
The multiple objective design capability enables you to use the adjoint capability in Fluent to quickly
perform shape optimization for problems in which multiple observables and/or flow conditions must
be considered. You can specify the relative weighting of the observables of interest as well as enforce
constraints on the shape optimization by fixing observable values. Some potential applications of this
feature are:
To reduce the drag on a wing at a variety of different flight speeds.
To reduce the drag on a wing while holding the lift fixed.
To trade off the minimization of pressure drop and mass-flow distribution for an internal flow system.
To accomplish this, the multiple objective design tool seeks to maximize the change in an objective
function that is constructed as a linear combination of individual observables while holding the change
in chosen observables at zero. That is, it maximizes the change to



=
where, for one or more ,

=
As input, the multiple design objective tool uses control-point sensitivity data generated from the
solutions to the adjoint for each observable/flow condition of interest.
At a high level, the steps for performing multiple objective design in Fluent are as follows. The steps
will be explained in more detail below.
1. Enable the adjoint beta feature set.
2. Solve the adjoint equations and export control point sensitivity for each observable and/or flow
condition of interest.
3. Enable the multiple objective design tool and Import the sensitivity data for the various adjoint
cases corresponding to the observables/flow conditions of interest.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

161

Adjoint Module Add-On


4. Specify the weighting of each observable in the objective function and specify any observable(s)
that should be held fixed.
5. Use the multiple objective design tool to compute an optimal mesh deformation that maximizes
the change in the objective function, subject to the constraints imposed, and predict changes in
the individual observables.
6. When satisfactory, commit the mesh changes.
This process is shown schematically in Figure 22.1: Schematic Representation of Multi-Objective Design
in Fluent (p. 162).
Figure 22.1: Schematic Representation of Multi-Objective Design in Fluent

Important
When exporting the individual objective control-point sensitivities, you must ensure that all
of the N sensitivity data sets are computed using the same control-point arrangement.

22.1.2. Using the Multiple Objective Design Tool


1.

Enable Adjoint module beta features using the (adjoint-enable-beta-features) Scheme


command.
> (adjoint-enable-beta-features)

2.

For each observable/flow-condition of interest, compute the adjoint solution and use the Export
Sensitivities... button in the Control-Volume Morphing Controls dialog box to export the controlpoint sensitivities. Refer to Using the Adjoint Solver Module in the Fluent Adjoint Solver Module Manual
for details about using the adjoint solver.
Adjoint Control-Volume Morphing...

162

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Multiple Objective Design

The Scale Factor and the setting for whether the observable is to be minimized or maximized
(from the Adjoint Observables dialog box) are included in the exported data. These are used in
determining the initial weighting factor for the observable in the objective function.
3.

Open the Multi-Objective Design (Beta) dialog box and click the checkbox to Enable multiobjective
design.
Adjoint Multi-Objective Design...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

163

Adjoint Module Add-On

4.

Click Manage... in the Multi-Objective Design (Beta) dialog box and Load... in the Manage MultiObjective Data dialog box to load the previously exported sensitivity data files.

5.

Define weights and constraints in the Multi-Objective Design (Beta) dialog box.

You can specify the following settings:


164

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Multiple Objective Design


Scale Factor
the overall scale factor applied to the mesh modification. This is analogous to the Scale Factor
specified in the Control-Volume Morpher... dialog box for single objective studies.
Active
indicates that the corresponding observable should be considered in computing the optimal
mesh modification for the objective function.
Fixed
indicates that the mesh modification should be computed in such a way that the value of the
corresponding observable remains unchanged.
Weight
the weighting factors ( ) used in the objective function. Initial values are automatically populated when control-point sensitivities are loaded. These initial values are chosen such that if all
other observables are deactivated and the Scale Factor is set to 1, then the resulting Expected
Change for the observable is the same as in the single observable case from which the sensitivity data was exported. Note that the sign corresponds to the originally specified goal of either
increasing or decreasing the observable.
6.

Evaluate design change and update mesh.


a.

Click Expected Changes to evaluate the proposed mesh modification.

The following information is displayed for each observable sensitivity that has been loaded:
Observable
the initial value of the observable from the original single-objective sensitivity analysis
Expected change
the expected change in the observable as a result of the proposed multi-objective mesh
modification
In addition, information is printed to the text console summarizing the interactions among
the observables included in the multi-objective analysis:

Cooperation and conflicts:


( C:\Work\multi-obj-design\d.cpt <-> C:\Work\multi-obj-design\l.cpt ): 109.6 Degrees - Weak conflict
( C:\Work\multi-obj-design\d.cpt <-> C:\Work\multi-obj-design\m.cpt ): 101.3 Degrees - Weak conflict
( C:\Work\multi-obj-design\l.cpt <-> C:\Work\multi-obj-design\m.cpt ): 69.6 Degrees - Weak Cooperatio

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

165

Adjoint Module Add-On


For each pair of observables, an angle and a qualitative description of the interaction is printed.
These represent the degree of orthogonality of the sensitivity vectors.
An angle near 0 indicates that the vectors are aligned and so a design change that improves
the first observable will also improve the second observable.
An angle near 90 indicates that the vectors are nearly orthogonal and so the observables
can be controlled almost independently.
An angle greater than 90 indicates that there is a conflict, so a design change that improves
one observable will degrade the other. An angle of 180 indicates a deadlock situation.
b.

If desired, you can visualize the optimal displacement vectors and normal optimal displacement
at this point before making any changes to the mesh.

c.

If the expected change results are acceptable, click Modify Mesh to implement the mesh changes.
You can click Revert to revert the changes to the mesh.

22.2. Prescribed Displacements


22.2.1. Overview
The prescribed displacements beta feature enables you to predict the effect of specified boundary displacements on an observable of choice using the computed adjoint data for that observable. The
boundary displacement is specified through a user-defined function created using the
DEFINE_GRID_MOTION macro in the same way as in a moving/dynamic mesh problem.

22.2.2. Usage
The workflow for using the prescribed displacements feature is as follows:
1.

Solve the flow problem and the adjoint for the observable of interest as you normally would.

2.

Define the candidate boundary mesh change using the Dynamic Mesh tools in Fluent.
a.

Compile and load user-defined functions using the DEFINE_GRID_MOTION macro as described
in the Fluent UDF Manual.

Note
Although the DEFINE_GRID_MOTION macro supports time-dependent motion in
general, your prescribed displacement should not be a function of time.

b.

Enable Dynamic Mesh in the Dynamic Mesh task page in Fluent. In the Mesh Methods group
box keep Smoothing enabled, click Settings..., and select Linearly Elastic Solid.

Note
The prescribed displacements functionality is intended for use exclusively with the
Linearly Elastic Solid smoothing method.

166

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Prescribed Displacements

c.

Create dynamic mesh zones of type User-Defined for the boundaries to be modified.

d.

Use your user-defined functions for the dynamic mesh zones using the Mesh Motion UDF hook.

For more details about using the DEFINE_GRID_MOTION macro and creating dynamic mesh
zones refer to the Fluent UDF Manual and Using Dynamic Meshes in the Fluent User's Guide.
3.

Enable the adjoint module beta features.


> (adjoint-enable-beta-features)

4.

Evaluate the expected change in the observable of interest.


a.

Open the Prescribed Displacements dialog box


Adjoint Prescribed Displacements...

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

167

Adjoint Module Add-On

The dialog box displays the list of currently defined Dynamic Threads. This list is for information
only and no selection is necessary. All listed dynamic threads will have their prescribed displacements applied.
b.

5.

168

Click Expected Change. Fluent will print the updated mesh statistics and the expected change in
the observable value in the text console. The mesh is not actually changed until you click Modify
Mesh.

If the reported expected change is acceptable and you wish to commit the prescribed displacements
to the mesh, click Modify Mesh.

Release 15.0 - SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates.

Você também pode gostar