Flu PBM

Download as pdf or txt
Download as pdf or txt
You are on page 1of 64

ANSYS FLUENT Population Balance Module

Manual

ANSYS, Inc. Release 13.0


Southpointe November 2010
275 Technology Drive
Canonsburg, PA 15317 ANSYS, Inc. is
[email protected] certified to ISO
http://www.ansys.com 9001:2008.
(T) 724-746-3304
(F) 724-514-9494
Copyright and Trademark Information
© 2010 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 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 document-
ation are furnished by ANSYS, Inc., its subsidiaries, or affiliates under a software license agreement that contains pro-
visions 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, du-
plication, 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.


Table of Contents
Using This Manual ........................................................................................................................................ v
1. The Contents of This Manual ................................................................................................................ v
2. Typographical Conventions ................................................................................................................. v
3. Mathematical Conventions ................................................................................................................. vi
4. Technical Support .............................................................................................................................. vii
1. Introduction ............................................................................................................................................ 1
1.1. The Discrete Method ......................................................................................................................... 1
1.2.The Inhomogeneous Discrete Method ............................................................................................... 1
1.3. The Standard Method of Moments .................................................................................................... 3
1.4. The Quadrature Method of Moments ................................................................................................ 4
2. Population Balance Model Theory .......................................................................................................... 5
2.1. The Particle State Vector .................................................................................................................... 5
2.2. The Population Balance Equation (PBE) ............................................................................................. 5
2.2.1. Particle Growth and Dissolution ............................................................................................... 6
2.2.2. Particle Birth and Death Due to Breakage and Aggregation ....................................................... 7
2.2.2.1. Breakage ......................................................................................................................... 7
2.2.2.2. Luo and Lehr Breakage Kernels ........................................................................................ 8
2.2.2.3. Ghadiri Breakage Kernels ................................................................................................. 9
2.2.2.4. Laakkonen Breakage Kernels ........................................................................................... 9
2.2.2.5. Parabolic PDF ................................................................................................................ 10
2.2.2.6. Generalized PDF ............................................................................................................ 10
2.2.2.7. Aggregation .................................................................................................................. 13
2.2.2.8. Luo Aggregation Kernel ................................................................................................. 14
2.2.2.9. Free Molecular Aggregation Kernel ................................................................................ 15
2.2.2.10. Turbulent Aggregation Kernel ...................................................................................... 15
2.2.3. Particle Birth by Nucleation .................................................................................................... 16
2.3. Solution Methods ........................................................................................................................... 17
2.3.1. The Discrete Method and the Inhomogeneous Discrete Method ............................................. 17
2.3.1.1. Numerical Method ......................................................................................................... 17
2.3.1.2. Breakage Formulations for the Discrete Method ............................................................. 19
2.3.2. The Standard Method of Moments (SMM) ............................................................................... 20
2.3.2.1. Numerical Method ......................................................................................................... 20
2.3.3. The Quadrature Method of Moments (QMOM) ........................................................................ 22
2.3.3.1. Numerical Method ......................................................................................................... 22
2.4. Reconstructing the Particle Size Distribution from Moments ............................................................ 24
3. Using the ANSYS FLUENT Population Balance Model ........................................................................... 25
3.1. Population Balance Module Installation ........................................................................................... 25
3.2. Loading the Population Balance Module ......................................................................................... 25
3.3. Population Balance Model Setup ..................................................................................................... 25
3.3.1. Enabling the Population Balance Model .................................................................................. 26
3.3.2. Defining Population Balance Boundary Conditions ................................................................. 32
3.3.3. Specifying Population Balance Solution Controls .................................................................... 33
3.3.4. Coupling With Fluid Dynamics ................................................................................................ 34
3.3.5. Specifying Interphase Mass Transfer Due to Nucleation and Growth ........................................ 35
4. Postprocessing for the Population Balance Model ............................................................................... 39
4.1. Population Balance Solution Variables ............................................................................................. 39
4.2. Reporting Derived Population Balance Variables .............................................................................. 39
4.2.1. Computing Moments ............................................................................................................. 39
4.2.2. Displaying a Number Density Function ................................................................................... 40
5. UDFs for Population Balance Modeling ................................................................................................ 43

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. iii
ANSYS FLUENT Population Balance Module Manual

5.1. Population Balance Variables ........................................................................................................... 43


5.2. Population Balance DEFINE Macros ............................................................................................... 43
5.2.1. DEFINE_PB_BREAK_UP_RATE_FREQ ................................................................................ 44
5.2.1.1. Usage ............................................................................................................................ 44
5.2.1.2. Example ........................................................................................................................ 44
5.2.2. DEFINE_PB_BREAK_UP_RATE_PDF .................................................................................. 45
5.2.2.1. Usage ............................................................................................................................ 45
5.2.2.2. Example ........................................................................................................................ 45
5.2.3. DEFINE_PB_COALESCENCE_RATE ..................................................................................... 46
5.2.3.1. Usage ............................................................................................................................ 46
5.2.3.2. Example ........................................................................................................................ 46
5.2.4. DEFINE_PB_NUCLEATION_RATE ....................................................................................... 47
5.2.4.1. Usage ............................................................................................................................ 47
5.2.4.2. Example ........................................................................................................................ 47
5.2.5. DEFINE_PB_GROWTH_RATE ................................................................................................ 48
5.2.5.1. Usage ............................................................................................................................ 48
5.2.5.2. Example ........................................................................................................................ 49
5.3. Hooking a Population Balance UDF to ANSYS FLUENT ...................................................................... 50
A. DEFINE_HET_RXN_RATE Macro ........................................................................................................... 51
A.1. Description .................................................................................................................................... 51
A.2. Usage ............................................................................................................................................. 51
A.3. Example ......................................................................................................................................... 52
A.4. Hooking a Heterogeneous Reaction Rate UDF to ANSYS FLUENT ..................................................... 52
Bibliography ............................................................................................................................................... 53

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
iv of ANSYS, Inc. and its subsidiaries and affiliates.
Using This Manual
This preface is divided into the following sections:
1.The Contents of This Manual
2.Typographical Conventions
3. Mathematical Conventions
4.Technical Support

1. The Contents of This Manual


The ANSYS FLUENT Population Balance Model Manual tells you what you need to know to model population
balance with ANSYS FLUENT. In this manual, you will find background information pertaining to the model,
a theoretical discussion of the model used in ANSYS FLUENT, and a description of using the model for your
CFD simulations.

2. Typographical Conventions
Several typographical conventions are used in this manual’s text to facilitate your learning process.

• Different type styles are used to indicate graphical user interface menu items and text interface menu
items (e.g., Iso-Surface dialog box, surface/iso-surface command).
• The text interface type style is also used when illustrating exactly what appears on the screen or exactly
what you need to type into a field in a dialog box. The information displayed on the screen is enclosed
in a large box to distinguish it from the narrative text, and user inputs are often enclosed in smaller
boxes.
• A mini flow chart is used to guide you through the navigation pane, which leads you to a specific task
page or dialog box. For example,

Models → Multiphase → Edit...

indicates that Models is selected in the navigation pane, which then opens the corresponding task
page. In the Models task page, Multiphase is selected from the list. Clicking the Edit... button opens
the Multiphase dialog box.

Also, a mini flow chart is used to indicate the menu selections that lead you to a specific command or
dialog box. For example,

Define → Injections...

indicates that the Injections... menu item can be selected from the Define pull-down menu, and

display → mesh

indicates that the mesh command is available in the display text menu.

In this manual, mini flow charts usually precede a description of a dialog box or command, or a screen
illustration showing how to use the dialog box or command. They allow you to look up information
about a command or dialog box and quickly determine how to access it without having to search the
preceding material.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. v
Using This Manual

• The menu selections that will lead you to a particular dialog box or task page are also indicated (usually
within a paragraph) using a “ /". For example, Define/Materials... tells you to choose the Materials...
menu item from the Define pull-down menu.

3. Mathematical Conventions
ur 
ur
• Where possible, vector quantities are displayed with a raised arrow (e.g., , ). Boldfaced characters
are reserved for vectors and matrices as they apply to linear algebra (e.g., the identity matrix,  ).
• The operator ∇ , referred to as grad, nabla, or del, represents the partial derivative of a quantity with
respect to all directions in the chosen coordinate system. In Cartesian coordinates, ∇ is defined to be

∂ ur ∂ ur ∂ ur
+  +  
∂ ∂ ∂ (1)

∇ appears in several ways:


– The gradient of a scalar quantity is the vector whose components are the partial derivatives; for
example,

∂ ur ∂ ur ∂ ur
∇ = 
+  +  (2)
∂ ∂ ∂

– The gradient of a vector quantity is a second-order tensor; for example, in Cartesian coordinates,

∇  =    +   +      +    +  
ur ∂ ur ∂ ur ∂ ur ur ur ur
(3)
∂ ∂ ∂ 

This tensor is usually written as

 ∂  ∂  ∂  
 ∂ ∂ ∂ 
 
 ∂  ∂  ∂  
 
∂ ∂ ∂
(4)
 
 ∂  ∂  ∂  
 
∂ ∂ ∂
 

– The divergence of a vector quantity, which is the inner product between ∇ and a vector; for example,

∂ % ∂ !& ∂ '
= !" + # + !$
ur
∇⋅ (5)
∂ ∂ ∂

– The operator ∇ ⋅ ∇ , which is usually written as ∇ ( and is known as the Laplacian; for example,

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
vi of ANSYS, Inc. and its subsidiaries and affiliates.
4.Technical Support

 ∂
 ∂
 ∂

∇ =   +  +   (6)
∂ ∂ ∂

∇  is different from the expression ∇ , which is defined as


  
 ∂ ∂ ∂
∇ = +    +
∂ ∂
(7)
∂ 

• An exception to the use of ∇ is found in the discussion of Reynolds stresses in "Modeling Turbulence"
in the User's Guide, where convention dictates the use of Cartesian tensor notation. In this chapter, you
 
will also find that some velocity vector components are written as , , and instead of the conven-

tional with directional subscripts.

4. Technical Support
If you encounter difficulties while using ANSYS FLUENT, please first refer to the section(s) of the manual
containing information on the commands you are trying to use or the type of problem you are trying to
solve. The product documentation is available from the online help, or from the ANSYS Customer Portal
(www.ansys.com/customerportal).

If you encounter an error, please write down the exact error message that appeared and note as much in-
formation as you can about what you were doing in ANSYS FLUENT.

Technical Support for ANSYS, Inc. products is provided either by ANSYS, Inc. directly or by one of our certified
ANSYS Support Providers. Please check with the ANSYS Support Coordinator (ASC) at your company to de-
termine who provides support for your company, or go to www.ansys.com and select Support> Technical
Support> Designated Service Providers. The direct URL is: http://www1.ansys.com/customer/public/sup-
portlist.asp. Follow the on-screen instructions to obtain your support provider contact information. You will
need your customer number. If you don't know your customer number, contact the ASC at your company.

If your support is provided by ANSYS, Inc. directly, Technical Support can be accessed quickly and efficiently
from the ANSYS Customer Portal, which is available from the ANSYS Website (www.ansys.com) under Support>
Technical Support where the Customer Portal is located. The direct URL is: http://www.ansys.com/custom-
erportal.

One of the many useful features of the Customer Portal is the Knowledge Base Search, where you can find
solutions to various types of problems, like FAQ. The Knowledge Base Search feature is located under Online
Support> Search Options> Solutions Search.

Systems and installation Knowledge Resources and FAQs are easily accessible via the Customer Portal under
Online Support > Installation/System FAQs. These Knowledge Resources provide a plethora of solutions and
direction on how to get installation and licensing issues resolved quickly and efficiently.

NORTH AMERICA
All ANSYS, Inc. Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Toll-Free Telephone: 1.800.711.7199

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. vii
Using This Manual

Telephone:1.724.514.3600
Fax: 1.724.514.5096
For installation and licensing questions, visit our Knowledge Resources and FAQs on the Customer Portal.
Support for University customers is provided only through the ANSYS Customer Portal.

GERMANY
ANSYS Mechanical Products
Telephone: +49 (0) 8092 7005-55
Fax: +49 (0) 8092 7005-5
Email: [email protected]
CFX Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +49 (0) 8024 9054-44
Fax: +49 (0) 8024 9054-17
Email: [email protected]
FLUENT Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +49 (0) 6151 3644-0
Fax: +49 (0) 6151 3644-44
Email: [email protected]
ICEM CFD Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +49 (0) 511 288696-4
Fax: +49 (0) 511 288696-66
Email: [email protected]

UNITED KINGDOM
All ANSYS, Inc. Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +44 (0) 870 142 0300
Fax: +44 (0) 870 142 0302
Email: [email protected]
Support for University customers is provided only through the ANSYS Customer Portal.

JAPAN
CFX , ICEM CFD and Mechanical Products
Telephone: +81-3-5324-8333

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
viii of ANSYS, Inc. and its subsidiaries and affiliates.
4.Technical Support

Fax: +81-3-5324-7308
Email: CFX: [email protected]; Mechanical: [email protected]
FLUENT Products
Email: FLUENT: [email protected];POLYFLOW: [email protected];FfC: japan-
[email protected]; FloWizard: [email protected]
Licensing and Installation
Telephone: +81-3-5324-7305
Email: [email protected]

INDIA
ANSYS Products (including FLUENT, CFX, ICEM-CFD)
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +91 1 800 233 3475 (toll free) or +91 1 800 209 3475 (toll free)
Fax: +91 80 2529 1271
Email: FEA products: [email protected];CFD products: [email protected];Installation: installation-
[email protected]

FRANCE
ANSYS, CFX, FLUENT, and ICEM CFD Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +33 (0) 820 480 240
Email: ANSYS: [email protected];CFX: [email protected];FLUENT: fluent-support-
[email protected];ICEM CFD: [email protected]
Support for University customers is provided only through the ANSYS Customer Portal.

BELGIUM
All ANSYS Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +32 (0) 10 45 28 61
Email: [email protected]
Support for University customers is provided only through the ANSYS Customer Portal.

SWEDEN
All ANSYS Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +44 (0) 870 142 0300
Email: [email protected]
Support for University customers is provided only through the ANSYS Customer Portal.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. ix
Using This Manual

SPAIN and PORTUGAL


All ANSYS Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +33 1 30 60 15 63
Email: [email protected]
Support for University customers is provided only through the ANSYS Customer Portal.

ITALY
All ANSYS Products
Web: Go to the ANSYS Customer Portal (http://www.ansys.com/customerportal) and select the appropriate
option.
Telephone: +39 02 89013378
Email: [email protected]
Support for University customers is provided only through the ANSYS Customer Portal.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
x of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 1: Introduction
In ANSYS FLUENT the population balance model is provided as an addon module with the standard ANSYS
FLUENT licensed software.

Several industrial fluid flow applications involve a secondary phase with a size distribution. The size distribution
of particles, including solid particles, bubbles, or droplets, can evolve in conjunction with transport and
chemical reaction in a multiphase system. The evolutionary processes can be a combination of different
phenomena like nucleation, growth, dispersion, dissolution, aggregation, and breakage producing the dis-
persion. Thus in multiphase flows involving a size distribution, a balance equation is required to describe
the changes in the particle population, in addition to momentum, mass, and energy balances. This balance
is generally referred to as the population balance. Cases in which a population balance could apply include
crystallization, precipitative reactions from a gas or liquid phase, bubble columns, gas sparging, sprays, flu-
idized bed polymerization, granulation, liquid-liquid emulsion and separation, and aerosol flows.

To make use of this modeling concept, a number density function is introduced to account for the particle
population. With the aid of particle properties (e.g., particle size, porosity, composition, etc.), different particles
in the population can be distinguished and their behavior can be described.

ANSYS FLUENT offers three solution methods to the population balance equation: discretized population
balance, standard method of moments, and quadrature method of moments.
1.1.The Discrete Method
1.2.The Inhomogeneous Discrete Method
1.3.The Standard Method of Moments
1.4.The Quadrature Method of Moments

1.1. The Discrete Method


In the discrete method, the particle population is discretized into a finite number of size intervals. This ap-
proach has the advantage of computing the particle size distribution (PSD) directly. This approach is also
particularly useful when the range of particle sizes is known a priori and does not span more than two or
three orders of magnitude. In this case, the population can be discretized with a relatively small number of
size intervals and the size distribution that is coupled with fluid dynamics can be computed. The disadvantage
of the discrete method is that it is computationally expensive if a large number of intervals is needed.

1.2. The Inhomogeneous Discrete Method


One of the limitations of the existing homogeneous discrete method is that all bins are assigned to the same
secondary phase and are therefore advected with the same phase momentum. This is unsuitable for modeling
cases where large and small bin sizes are likely to segregate due to different momentum fields. The inhomo-
geneous discrete method overcomes this limitation by allowing groups of bins to be advected by different
phase velocities. Thus when the inhomogeneous discrete model is activated, the Population Balance model
can be applied to more than one secondary phase.

The general transport equation for the discrete bin fraction can be written as

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 1
Chapter 1: Introduction

∂  
uur  

  +∇   =  (1–1)

Since all bins belong to a single phase in the homogeneous discrete method, the net mass source for the
phase in case of breakage and agglomeration is zero and can be expressed as

∑ = (1–2)
=

This is shown schematically in Figure 1.1 (p. 3) where all bins are advected by the same phase velocity  .
In contrast, the inhomogeneous discrete method shown in Figure 1.2 (p. 3) allows bins to be assigned to
   
multiple phases. Here bins per phase are distributed over phases for a total of × bins. Bins  and
 are advected by phase velocity    and so forth. The sum of bin sources in any given phase is not ne-
cessarily equal to zero since bins in a given phase can migrate to another phase through breakage or ag-
glomeration, thus creating a net mass source for that phase.

The net mass source for a given phase can be expressed as the sum of the bin sources belonging to that
phase

 
= ∑  (1–3)
=

For breakage and coalescence the sum over all phase sources is zero


∑ = (1–4)
=

also similar to the homogeneous discrete model


#
!
"∑$ " = (1–5)
=

Important

The inhomogeneous discrete method is currently limited to breakage and coalescence only.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
2 of ANSYS, Inc. and its subsidiaries and affiliates.
1.3.The Standard Method of Moments

Figure 1.1 Homogeneous Discrete Method

Figure 1.2 Inhomogeneous Discrete Method

1.3. The Standard Method of Moments


The standard method of moments (SMM) is an efficient alternative to the discrete population balance ap-
proach. In this approach, the population balance equation is transformed into a set of transport equations
for moments of the distribution. The th moment is defined by integrating the number density throughout

the particle space weighted with the particle property raised to its th power. It is generally sufficient to
solve only a few moment equations, typically three to six. This may provide a significant reduction in the
number of equations to be solved compared with the discretized approach. Apart from the computational
advantage, the SMM approach is useful when the entire distribution is not needed and certain average and

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 3
Chapter 1: Introduction

total quantities are sufficient to represent the particle distribution. Typically, the zeroth moment represents
the total number density, the second moment represents the total surface area per unit volume, and the
third moment represents the total mass density.

In the SMM approach, no assumptions are made about the size distribution, and the moment equations are
formulated in a closed form involving only functions of the moments themselves. However, this exact closure
requirement poses a serious limitation, as aggregation (with the exception of the constant aggregation
kernel) and breakage phenomena cannot be written as functions of moments.

1.4. The Quadrature Method of Moments


The quadrature method of moments (QMOM) has a similar advantage as the SMM in terms of computational
costs, but replaces the exact closure needed by SMM with an approximate closure. This allows application
of QMOM to a broad range of applications without any limitations.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
4 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 2: Population Balance Model Theory
This chapter presents an overview of the theory and the governing equations for the methods used in ANSYS
FLUENT to predict particle growth and nucleation.
2.1.The Particle State Vector
2.2.The Population Balance Equation (PBE)
2.3. Solution Methods
2.4. Reconstructing the Particle Size Distribution from Moments

2.1. The Particle State Vector


ur
The particle state vector is characterized by a set of “external coordinates” ( ), which denote the spatial
position of the particle, and “internal coordinates” (φ ), which could include particle size, composition, and
temperature. From these coordinates, a number density function
 ur φ  can be postulated where
 ur  
φ ∈ φ ,  ∈  ur . Therefore, the average number of particles in the infinitesimal volume
ur φ is
ur
φ  ur   . In contrast, the continuous phase state vector is given by
φ

ur  ur    ur    ur 
≡ … 

The total number of particles in the entire system is then

∫ φ ∫  ur  ur  φ (2–1)

The local average number density in physical space (i.e., the total number of particles per unit volume) is
given by
  
ur !"
= ∫# φ (2–2)
φ

The total volume fraction of all particles is given by

$ ur
% & = * '( φ )(
∫ φ φ (2–3)

+
where φ is the volume of a particle in state φ .

2.2. The Population Balance Equation (PBE)


Assuming that φ is the particle volume, the transport equation for the number density function is given as

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 5
Chapter 2: Population Balance Model Theory

∂   +∇⋅    + ∇  ⋅    =
ur

 (2–4)
1444 

424444
 3

 
 ∫    − ′ ′   − ′   ′   ′
14444444444    2!"""# $
4444444444 3


− ∫ * % & &′ ' & ( ' &′ ( ) &′
+,-./ 01,4.22344444444
14444444
445,4-.627 3

+ ∫ ?L89 : ′ ; : : ′ < : ′ = > : ′


14444444@ABCD EFG CH @BGIJIKG
4244444444 3

− M N O N P
QRS
1TU44
VW4R2
TX444 [S\R
YZRS3

The boundary and initial conditions are given by


] ^ _= =]a ] ^ = _ `a = ]ɺb
(2–5)

c
where ɺd is the nucleation rate in e .

2.2.1. Particle Growth and Dissolution

The growth rate based on particle volume, fg, ( h ) is defined as

i ∂
j = kl (2–6)

The growth rate based on particle diameter (or length) is defined as

m ∂n
= o (2–7)

p q r u w
The volume of a single particle is defined as s t, and therefore the relationship between v and is
x y z x
{= { | (2–8)

~  ‚ ‚
The surface area of a single particle, } , is defined as € . Thus for a cube or a sphere, ƒ = „.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
6 of ANSYS, Inc. and its subsidiaries and affiliates.
2.2.2. Particle Birth and Death Due to Breakage and Aggregation

Important

Dissolution of particles can be represented as negative growth.

2.2.2. Particle Birth and Death Due to Breakage and Aggregation


The birth and death of particles occur due to breakage and aggregation processes. Examples of breakage
processes include crystal fracture in crystallizers and bubble breakage due to liquid turbulence in a bubble
column. Similarly, aggregation can occur due to particle agglomeration in crystallizers and bubble coalescence
in bubble column reactors.

2.2.2.1. Breakage
The breakage rate expression, or kernel [18] (p. 54), is expressed as
′   ′

where
 
  ′ = breakage frequency; i.e., the fraction of particles of volume  ′ breaking per unit time ( − − )


′ = probability density function (PDF) of particles breaking from volume ′ to a particle of



volume

The birth rate of particles of volume due to breakage is given by
         
= ∫  ′ ′ ′ ′ (2–9)

where
  ′   ′   ′ particles of volume  ′ break per unit time, producing   ′  ′ !  ′ particles,
" # # $# %
of which a fraction ′ represents particles of volume . & is the number of child particles produced
per parent (e.g., two particles for binary breakage).

The death rate of particles of volume ' due to breakage is given by


( ,- ) * + *
= (2–10)

. / /
The PDF ′ is also known as the particle fragmentation distribution function, or daughter size distri-
bution. Several functional forms of the fragmentation distribution function have been proposed, though the
following physical constraints must be met: the normalized number of breaking particles must sum to unity,
the masses of the fragments must sum to the original particle mass, and the number of fragments formed
has to be correctly represented.

Mathematically, these constraints can be written as follows:

• For the normalization condition:

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 7
Chapter 2: Population Balance Model Theory


′   
∫ ′ = (2–11)

• For conservation of mass


 ′     ′  =   ′
∫ (2–12)


• For binary breakage, is symmetric about ′= ; i.e.,
      
′− ′ = ′ (2–13)

The following is a list of models available in ANSYS FLUENT to calculate the breakage frequency:

• constant value
• Luo model
• Lehr model
• Ghadiri model
• Laakkonen model
• user-defined model

ANSYS FLUENT provides the following models for calculating the breakage PDF:

• parabolic PDF
• Laakkonen PDF
• generalized PDF for multiple breakage fragments
• user-defined model

The breakage frequency models and the parabolic and generalized PDFs are described in detail in the sections
that follow.

2.2.2.2. Luo and Lehr Breakage Kernels


The Luo and Lehr models are integrated kernels, encompassing both the breakage frequency and the PDF
of breaking particles. The general breakage rate per unit volume is usually written [15] (p. 53) as

           
′ = ′ ′ (2–14)
 


where the original particle has a volume ′ and the daughter particle has a volume . In the previous ex-
  ! ! ′ is the normalized daughter particle distribution
pression,  ′ is the breakage frequency, and
"
function. For binary breakage, the breakage kernel must be symmetrical with respect to " = .

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
8 of ANSYS, Inc. and its subsidiaries and affiliates.
2.2.2. Particle Birth and Death Due to Breakage and Aggregation

The general form is the integral over the size of eddies hitting the particle with diameter (and volume
   
). The integral is taken over the dimensionless eddy size = . The general form is
  
     +
′ = ∫   
−   (2–15)

where the parameters are as shown in Table 2.1: Luo and Lehr Model Parameters (p. 9) :

Table 2.1 Luo and Lehr Model Parameters


  
 "  ! 
 
01 2 31 2 # () * # () * $ % − +& − () *' − ,) * −
Luo - .− /
[12]
+ − −
CD E FD E C CD E 9 :; < =; < 9; <
Lehr >− ?− @A − B − 45 − 6 − 7 − 8 − −
[12]

2.2.2.3. Ghadiri Breakage Kernels


The Ghadiri model [7] (p. 53), [22] (p. 54), in contrast to the Luo and Lehr models, is used to model only
the breakage frequency of the solid particles. You will have to specify the PDF model to define the daughter
distribution.
G
The breakage frequency is related to the material properties and impact conditions:

H LTM UV W IPJ QR S K IPJ QR S


= N XV W = O (2–16)

Y \
where Z is the particle density, [ is the elastic modulus of the granule, and is the interface energy. ] is
^
the impact velocity and is the particle diameter prior to breaking. _ ` is the breakage constant and is
defined as
fg
ab chd i
= e jk l (2–17)

2.2.2.4. Laakkonen Breakage Kernels


m n′
The Laakkonen breakage kernel is expressed as the product of a breakage frequency, and a
o p p′
daughter PDF where

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 9
Chapter 2: Population Balance Model Theory

  
 ′ =          +  

 
 
  
 (2–18)
 

where
 is the liquid phase eddy dissipation,  is the surface tension,  is the liquid density,  is the gas

density,  is the parent particle diameter and  is the liquid viscosity.


! # %&
The constants " = , $= and = .

The daughter PDF is given by


) )
' ( (′ *+
) ) , ) ,
= ′  ′   − ′  (2–19)
   

.′
where - and are the daughter and parent particle volumes, respectively. This model is a useful alternative
to the widely used Luo model because it has a simple expression for the daughter PDF and therefore requires
significantly less computational effort.

2.2.2.5. Parabolic PDF


The breakage PDF function contains information on the probability of fragments formed by a breakage
event. It provides the number of particles and the possible size distribution from the breakage. The parabolic
form of the PDF implemented in ANSYS FLUENT allows you to define the breakage PDF such that

/ 0 0  1 3− 1 4 5  2 5 2 
′ =  2 + 2  2 − 2 +  (2–20)
 ′ ′

′ ′


7
where 6 and ′ are the daughter and parent particle volumes, respectively. Depending on the value of the
8
shape factor , different behaviors will be observed in the shape of the particle breakage distribution
9
function. For example, if = , the particle breakage has a uniform distribution. If : , a concave parabola
is obtained, meaning that it is more likely to obtain unequally-sized fragments than equally-sized fragments.
The opposite of this is true for ; . Values outside of the range of 0 to 3 are not allowed, because the PDF
cannot have a negative value.
< <
Note that the PDF defined in Equation 2–20 (p. 10)is symmetric about ′= .

2.2.2.6. Generalized PDF


The generalized form of the PDF implemented in ANSYS FLUENT allows you to simulate multiple breakage
fragments ( ) and to specify the form of the daughter distribution (e.g., uniform, equisized, attrition, power
law, parabolic, binary beta). The model itself can be applied to both the discrete method and the QMOM.

Considering the self-similar formulation [25] (p. 54) where the similarity
= is the ratio of daughter-to-parent

size (i.e., > ≡ ? ), then the generalized PDF is given by


?′

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
10 of ANSYS, Inc. and its subsidiaries and affiliates.
2.2.2. Particle Birth and Death Due to Breakage and Aggregation
 
   ′ = 
(2–21)



The moment of is
   
       ′
=∫ =  (2–22)

where

  ′     
′ = ∫ "! ′ (2–23)

The conditions of number and mass conservation can then be expressed as


)
#( ( $ % &% '
=∫ = (2–24)

.
*. +, + -+
= ∫/ = (2–25)

0 1
The generalized form of [6] (p. 53) can be expressed as
?@ − B; < = A @ − B
2 3 64 65
=∑ 6 7 8 9 −:7@ (2–26)
@>

C D E
where can be 0 or 1, which represents as consisting of 1 or 2 terms, respectively. For each term, FG
LM
is the weighting factor, H I is the averaged number of daughter particles, JK and are the exponents, and
N O PQ
Q is the beta function. The following constraints are imposed on the parameters in Equa-
tion 2–26 (p. 11) :

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 11
Chapter 2: Population Balance Model Theory

∑ = (2–27)

∑    = (2–28)




∑     
 =
 
+ 
(2–29)

In order to demonstrate how to transform the generalized PDF to represent an appropriate daughter distri-
bution, consider the expressions shown in Table 2.2: Daughter Distributions (p. 12).

Table 2.2 Daughter Distributions


Type
Constraints
  ≥
Equalized [12]     −  
 
    ≪
Attrition [12] − − + − 2
Power Law [29] + − + < ≤

#+ #+ $%−& ! +"
−$ < ≤
Parabolic -a [29]
!
Austin [2] . /2 + 0 1 3− 2 * +
, '( ') >
 + -
  >
+ −4 58 + 6 7 : − 9 ≥ ; ≥ <> 
 =?− 
C = ? − = @ 
−A  + BD 
  
+
 
Binary Beta -a E F −E F 2 N/A
[11]
K J O J−O G
Binary Beta -b
I L J MJ N H −
− H 2
[20]
R R− Q P≥
−S T −U
Uniform [29]

Table 2.2: Daughter Distributions (p. 12), V is the Dirac delta function, W is a weighting coefficient, and
X,
YIn, Z[, and
\] are user-defined parameters.
The generalized form can represent the daughter distributions in Table 2.2: Daughter Distributions (p. 12) by
using the values shown in Table 2.3: Values for Daughter Distributions in General Form (p. 12).

Table 2.3 Values for Daughter Distributions in General Form


Type e d c b a ` _ ^ Constraints
Equal- 1
g ∞∗ ∞∗ N/A N/A N/A N/A f≥
ized

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
12 of ANSYS, Inc. and its subsidiaries and affiliates.
2.2.2. Particle Birth and Death Due to Breakage and Aggregation

Type        Constraints


Attrition 0.5 2 1 0.5 2 1 ≪
+
Power 1 1 N/A N/A N/A N/A < ≤
Law
 + 
Parabol- 1 2 N/A N/A N/A N/A < ≤
ic 
!  +  +     
Austin 1 − 1 >
 
%
 $&− 
≥ " ≥ #%  
 $ & −$ '
* ) (
Binary 1 2 N/A N/A N/A N/A >
Beta **
- , +
Uniform 1 1 − N/A N/A N/A N/A ≥

(*)You can approximate ∞ by using a very large number, such as 1e10.


.
(**)Binary Beta -a is a special case of Binary Beta -b when = .

Important

Note that for the ANSYS FLUENT implementation of the generalized form of the PDF, you will
/0 7 9: =>
only enter values for , 1 2, 34, 56, and 8, and the remaining values ( , ; <, and ) will be calcu-
lated automatically.

2.2.2.7. Aggregation
The aggregation kernel [18] (p. 54) is expressed as
? @ @′

A
The aggregation kernel has units of , and is sometimes defined as a product of two quantities:
C
• the frequency of collisions between particles of volume B and particles of volume ′
D
• the “efficiency of aggregation” (i.e., the probability of particles of volume coalescing with particles of
E
volume ′).
F
The birth rate of particles of volume due to aggregation is given by
O N
G H I I I J I I J I KI
LM = P ∫ Q − ′ ′ − ′ ′ ′ (2–30)

R R S
where particles of volume − ′ aggregate with particles of volume ′ to form particles of volume T. The
factor is included to avoid accounting for each collision event twice.

The death rate of particles of volume U due to aggregation is given by

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 13
Chapter 2: Population Balance Model Theory

 = ∫ ∞  ′    ′  ′ (2–31)

Important

The breakage and aggregation kernels depend on the nature of the physical application. For ex-
ample, in gas-liquid dispersion, the kernels are functions of the local liquid-phase turbulent dis-
sipation.

The following is a list of aggregation functions available in ANSYS FLUENT:

• constant
• Luo model
• Free molecular model
• Turbulent model
• user-defined model

The Luo, free molecular, and turbulent aggregation functions are described in detail in the sections that
follow.

2.2.2.8. Luo Aggregation Kernel


For the Luo model [17] (p. 53), the general aggregation kernel is defined as the rate of particle volume
formation as a result of binary collisions of particles with volumes and : 

   =          
  (2–32)

where
 ! "  #   is the frequency of collision and $&' %( %) is the probability that the collision
 
results in coalescence. The frequency is defined as follows:

*/0 +1 +2 = 34 , 15 + , 2 5 - 1- 2 . 12 (2–33)

where 6 78 is the characteristic velocity of collision of two particles with diameters 9: and ;< and number
=> ?@
densities and . Two physical mechanisms are behind the calculation of this velocity. The first mechanism

D
is turbulent mixing. Assuming that the particles’ size lies in the inertial range of turbulence, and the turbulence
is isotropic, the mixing velocity A BC of the two particles can be expressed as
H I I JKI
E FG = E F + E G (2–34)

where

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
14 of ANSYS, Inc. and its subsidiaries and affiliates.
2.2.2. Particle Birth and Death Due to Breakage and Aggregation


=    (2–35)

The expression for the probability of aggregation is



         
 +    
 
 
  +
 =  −        (2–36)
  + +  
  

where
! is a constant of order unity, " $% = # $ # % , &' and () are the densities of the primary and secondary
phases, respectively, and the Weber number is defined as

/ 0
*+,- . 2 3 34 5 6
= 1 (2–37)

2.2.2.9. Free Molecular Aggregation Kernel


Real particles aggregate and break with frequencies (or kernels) characterized by complex dependencies
over particle internal coordinates [28] (p. 54). In particular, very small particles (say up to 78) aggregate
because of collisions due to Brownian motions. In this case, the frequency of collision is size-dependent and
usually the following kernel is implemented:
F
A C @ D +@ E
9 : ; : < = =B > @ @
? D E
(2–38)

GH
where is the Boltzmann constant, I is the absolute temperature, J is the viscosity of the suspending
fluid. This kernel is also known as the Brownian kernel or the perikinetic kernel.

2.2.2.10. Turbulent Aggregation Kernel


During mixing processes, mechanical energy is supplied to the fluid. This energy creates turbulence within
the fluid. The turbulence creates eddies, which in turn help dissipate the energy. The energy is transferred
from the largest eddies to the smallest eddies in which it is dissipated through viscous interactions. The size
of the smallest eddies is the Kolmogorov microscale, K, which is expressed as a function of the kinematic
viscosity and the turbulent energy dissipation rate:
OP Q
R
L = M  (2–39)
N
 

In the turbulent flow field, aggregation can occur by two mechanisms:

• viscous subrange mechanism: this is applied when particles are smaller than the Kolmogorov microscale,
S
• inertial subrange mechanism: this is applied when particles are bigger than the Kolmogorov microscale.
In this case, particles assume independent velocities.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 15
Chapter 2: Population Balance Model Theory

For the viscous subrange, particle collisions are influenced by the local shear within the eddy. Based on work
by Saffman and Turner [27] (p. 54), the collision rate is expressed as,

 
    = 
 ɺ +  (2–40)

where
 is a pre-factor that takes into account the capture efficiency coefficient of turbulent collision, and
ɺ is the shear rate:
 
ɺ = 
 (2–41)

For the inertial subrange, particles are bigger than the smallest eddy, therefore they are dragged by velocity
fluctuations in the flow field. In this case, the aggregation rate is expressed using Abrahamson’s model
[1] (p. 53),

!" # %+ & ' # #


     =   $   +  (2–42)

()* +
where is the mean squared velocity for particle .

The empirical capture efficiency coefficient of turbulent collision describes the hydrodynamic and attractive
interaction between colliding particles. Higashitani et al. [9] (p. 53) proposed the following relationship:
4
0 1 23 3
,. = /  -. ≥
 5 (2–43)
 

67
where is the ratio between the viscous force and the Van der Waals force,

? ; < A < B C=ɺ


89 : +
= @> (2–44)

D E
Where is the Hamaker constant, a function of the particle material, and ɺ is the deformation rate,

Fɺ JG M NL
= KLHI (2–45)

2.2.3. Particle Birth by Nucleation


Depending on the application, spontaneous nucleation of particles can occur due to the transfer of molecules
from the primary phase. For example, in crystallization from solution, the first step is the phase separation
or “birth” of new crystals. In boiling applications, the creation of the first vapor bubbles is a nucleation process
referred to as nucleate boiling.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
16 of ANSYS, Inc. and its subsidiaries and affiliates.
2.3.1.The Discrete Method and the Inhomogeneous Discrete Method

The nucleation rate is defined through a boundary condition as shown in Equation 2–5 (p. 6).

2.3. Solution Methods


As discussed in Introduction (p. 1), the population balance equation can be solved by the four different
methods in ANSYS FLUENT: the discrete method, the inhomogeneous discrete method, the standard method
of moments (SMM), and the quadrature method of moments (QMOM). For each method, the ANSYS FLUENT
implementation is limited to a single internal coordinate corresponding to particle size. The following sub-
sections describe the theoretical background of each method and list their advantages and disadvantages.
2.3.1.The Discrete Method and the Inhomogeneous Discrete Method
2.3.2.The Standard Method of Moments (SMM)
2.3.3.The Quadrature Method of Moments (QMOM)

2.3.1. The Discrete Method and the Inhomogeneous Discrete Method


The discrete method (also known as the classes or sectional method) was developed by Hounslow [10] (p. 53),
Litster [16] (p. 53), and Ramkrishna [25] (p. 54). It is based on representing the continuous particle size
distribution (PSD) in terms of a set of discrete size classes or bins, as illustrated in Figure 2.1 (p. 17). The
advantages of this method are its robust numerics and that it gives the PSD directly. The disadvantages are
that the bins must be defined a priori and that a large number of classes may be required.

The solution methods for the inhomogeneous discrete method are based on the discrete method and
therefore share many of the same fundamentals.

Figure 2.1 A Particle Size Distribution as Represented by the Discrete Method

2.3.1.1. Numerical Method


In ANSYS FLUENT, the PBE is written in terms of volume fraction of particle size :


+   = 
∂ ∂   
  

 

+∇⋅   



 
−  
+  
−  
+   ɺ (2–46)
∂ ∂  

  
where  is the density of the secondary phase and is the volume fraction of particle size , defined as

!
=  ! ! = ⋯ 
− (2–47)

where

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 17
Chapter 2: Population Balance Model Theory
     
  = ∫  + (2–48)

and

is the volume of the particle size . In ANSYS FLUENT, a fraction of , called , is introduced as the
solution variable. This fraction is defined as
  
= (2–49)

where
 is the total volume fraction of the secondary phase.

The nucleation rate ɺ appears in the discretized equation for the volume fraction of the smallest size .

 
The notation  signifies that this particular term, in this case   ɺ, appears in Equation 2–46 (p. 17) only
in the case of the smallest particle size.

The growth rate in is discretized as follows Equation 2–46 (p. 17) [10] (p. 53):
!'"(# ) ! & !' )& ) 
∂   =   ' * ) − + ) − +  −  * 
  $ % ) − )   ) + + − )  (2–50)
∂    −+  

The volume coordinate is discretized as [10] (p. 53)


,- / ,- = . where 0 = … and is referred to as
+
the “ratio factor”.

The particle birth and death rates are defined as follows:


: :
167 8 9∑=;∑=29; 393 ; 4 9; 59;
< =
= =
(2–51)

E
>AB C D∑G? CD @ C@ D
F =
=
(2–52)

Q
HMN O P ∑O SI JP K P L JO JP
R =
= +
(2–53)

T XY Z U VZ W Z
[ = (2–54)

where
\ ^_ = \ ]^ ]_ and

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
18 of ANSYS, Inc. and its subsidiaries and affiliates.
2.3.1.The Discrete Method and the Inhomogeneous Discrete Method

    
 <  < + ≤ −

 =  (2–55)


is the particle volume resulting from the aggregation of particles and , and is defined as

     
 =    + −  +  (2–56)

where

   −  + 
= 
(2–57)
−  +
 

" $
If  ! is greater than or equal to the largest particle size # , then the contribution to class − is

% &' )*
= (+ (2–58)
(

Important

Note that there is no breakage for the smallest particle class.

2.3.1.2. Breakage Formulations for the Discrete Method


The default breakage formulation for the discrete method in ANSYS FLUENT is based on the Hagesather
method [14] (p. 53). In this method, the breakage sources are distributed to the respective size bins, pre-
serving mass and number density. For the case when the ratio between successive bin sizes can be expressed
- . / 0
as , where = … , the source in bin , ( = … ) can be expressed as
9 8
16 2 7 8 8 7 8 7
=7 8 ∑ 8 9 36 4 4 + 7 8∑8 9 5 :; 36 4 : 4 + (2–59)
:; ; + +
= + ≠ = ≠

A C


@ CDA C −< A D@ = > A + C?B > A >@
= ≠

Here
EJ FK F L G H FK I FK F L
= K (2–60)

A more mathematically rigorous formulation is given by Ramakrishna [13] (p. 53), where the breakage rate
is expressed as

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 19
Chapter 2: Population Balance Model Theory


 = ∑  
  
 (2–61)

where
    
  = ∫       +  −   + ∫    −  −   
+  −  − − −  (2–62)
+


The Ramakrishna formulation can be slow due to the large number of integration points required. However,
for simple forms of , the integrations can be performed relatively easily. The Hagesather formulation requires
fewer integration points and the difference in accuracy with the Ramakrishna formulation can be corrected
by a suitable choice of bin sizes.

Important

To keep the computing time reasonable, a volume averaged value is used for the turbulent eddy
dissipation when the Luo model is used in conjunction with the Ramakrishna formulation.

Note

The inhomogeneous discrete phase applies the Hagesather formulation.

2.3.2. The Standard Method of Moments (SMM)


The SMM, proposed by Randolph and Larson [26] (p. 54) is an alternative method for solving the PBE. Its
advantages are that it reduces the dimensionality of the problem and that it is relatively simple to solve
transport equations for lower-order moments. The disadvantages are that exact closure of the right-hand
side is possible only in cases of constant aggregation and size-independent growth, and that breakage
modeling is not possible. The closure constraint is overcome, however, through QMOM (see The Quadrature
Method of Moments (QMOM) (p. 22)).

2.3.2.1. Numerical Method


The SMM approach is based on taking moments of the PBE with respect to the internal coordinate (in this
case, the particle size ).

Defining the th moment as

! ur  = ∫ "∞  ur   !  = ⋯ − (2–63)

and assuming constant particle growth, its transport equation can be written as

∂ ur & , ' , & ' *(



) #$* +∇⋅ *
#%$ # = + / * − + /* + -. /* − -. /* + ɺ0 + (2–64)

where

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
20 of ANSYS, Inc. and its subsidiaries and affiliates.
2.3.2.The Standard Method of Moments (SMM)



  = ∫ ∞  ∫ ∞          
+ (2–65)

   ∞    ∞     
 = ∫  ∫ (2–66)

 !" # ∞ # ∞        
$ = ∫ % ∫% (2–67)

& +, - -' -( ' ) ' *'


. = ∫/ (2–68)

0 1
is the specified number of moments and ɺ2 is the nucleation rate. The growth term is defined as

∞34 9 −
≡ ∫: ;5 4 6 4 7 84 (2–69)

and for constant growth is represented as


<=>? @
− (2–70)

Equation 2–65 (p. 21) can be derived by using

AG =BG −C G DB = FE H DA
H
and reversing the order of integration. From these moments, the parameters describing the gross properties
of particle population can be derived as

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 21
Chapter 2: Population Balance Model Theory

 =

(2–71)


=

(2–72)

   
= (2–73)

 =
  
(2–74)

!" #
= $ (2–75)

These properties are related to the total number, length, area, and volume of solid particles per unit volume
of mixture suspension. The Sauter mean diameter, %&', is usually used as the mean particle size.

To close Equation 2–64 (p. 20), the quantities represented in Equation 2–65 (p. 21) – Equation 2–68 (p. 21)
need to be expressed in terms of the moments being solved. To do this, one approach is to assume size-
*+
independent kernels for breakage and aggregation, in addition to other simplifications such as the Taylor

series expansion ofthe term


(+ +)+ , . Alternatively, a profile of the PSD could be assumed so that
Equation 2–65 (p. 21) – Equation 2–68 (p. 21) can be integrated and expressed in terms of the moments
being solved.

In ANSYS FLUENT, an exact closure is implemented by restricting the application of the SMM to cases with
size-independent growth and a constant aggregation kernel.

2.3.3. The Quadrature Method of Moments (QMOM)


The quadrature method of moments (QMOM) was first proposed by McGraw [21] (p. 54) for modeling aer-
osol evolution and coagulation problems. Its applications by Marchisio et al. [19] (p. 54) have shown that
the method requires a relatively small number of scalar equations to track the moments of population with
small errors.

The QMOM provides an attractive alternative to the discrete method when aggregation quantities, rather
than an exact PSD, are desired. Its advantages are fewer variables (typically only six or eight moments) and
a dynamic calculation of the size bins. The disadvantages are that the number of abscissas may not be ad-
equate to describe the PSD and that solving the Product-Difference algorithm may be time consuming.

2.3.3.1. Numerical Method


The quadrature approximation is based on determining a sequence of polynomials orthogonal to
- .
/
(i.e., the particle size distribution). If the abscissas of the quadrature approximation are the nodes of the
polynomial of order , then the quadrature approximation

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
22 of ANSYS, Inc. and its subsidiaries and affiliates.
2.3.3.The Quadrature Method of Moments (QMOM)



∫ ≈ ∑
     
   (2–76)
=



is exact if is a polynomial of order or smaller [5] (p. 53). In all other cases, the closer is to
a polynomial, the more accurate the approximation.

A direct way to calculate the quadrature approximation is by means of its definition through the moments:

 

= ∑  (2–77)
=

    
The quadrature approximation of order is defined by its weights and abscissas and can be
calculated by its first  moments

…   !
− by writing the recursive relationship for the polynomials
"#
in terms of the moments . Once this relationship is written in matrix form, it is easy to show that the
roots of the polynomials correspond to the eigenvalues of the Jacobi matrix [24] (p. 54). This procedure is
known as the Product-Difference algorithm [8] (p. 53). Once the weights and abscissas are known, the
source terms due to coalescence and breakage can be calculated and therefore the transport equations for
the moments can be solved.

Applying Equation 2–76 (p. 23) and Equation 2–77 (p. 23), the birth and death terms in Equation 2–64 (p. 20)
can be rewritten as
, , *10
0 0
$
() . * = ∑ ∑
+
%+
/ - /
%
-
&+
+
&
-
' &+ &
-
(2–78)
= =

: :
2
67 < 8 = 9 ∑ 3 98 4 9
= ; ∑=4 ; 5 39 3
;
(2–79)
= =

H

∑J? ∫ K @ FA
> G @G B @ @G C@
DE F
I = G
(2–80)
=

∑VM SN S O
L R NS
PQ R
U = S (2–81)
=

Theoretically, there is no limitation on the expression of breakage and aggregation kernels when using
QMOM.

The nucleation rate is defined in the same way as for the SMM. The growth rate for QMOM is defined by
Equation 2–69 (p. 21) and represented as

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 23
Chapter 2: Population Balance Model Theory

  −  
∑   
=  (2–82)

to allow for a size-dependent growth rate.

2.4. Reconstructing the Particle Size Distribution from Moments


Given a set of moments, the most likely PSD can be obtained based on the “statistically most probable”
distribution for turbulent flames [23] (p. 54), which was adapted for crystallization problems by Baldyga
and Orciuch [3] (p. 53).

The number density function


  is expressed as


 −

=  ∑  (2–83)
 = 


The equation for the th moment is now written as
 
 = ∫ ∞   −   
 ∑ 
= ⋯ − (2–84)
 = 

 
Given moments, the coefficients can be found by a globally convergent Newton-Raphson method to
reconstruct the particle size distribution (e.g., Figure 2.2 (p. 24)).

Figure 2.2 Reconstruction of a Particle Size Distribution

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
24 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 3: Using the ANSYS FLUENT Population Balance Model
This chapter provides basic instructions to install the population balance model and solve population balance
problems in ANSYS FLUENT. It assumes that you are already familiar with standard ANSYS FLUENT features,
including the user-defined function procedures described in the ANSYS FLUENT UDF Manual. This chapter
describes the following:
3.1. Population Balance Module Installation
3.2. Loading the Population Balance Module
3.3. Population Balance Model Setup

3.1. Population Balance Module Installation


The population balance module is provided as an addon module with the standard ANSYS FLUENT licensed
software.

3.2. Loading the Population Balance Module


The population balance module is loaded into ANSYS FLUENT through the text user interface (TUI). The
module can only be loaded when a valid ANSYS FLUENT case file has been set or read. The text command
to load the module is

define → models → addon-module.

A list of ANSYS FLUENT addon modules is displayed:


ANSYS FLUENT Addon Modules:
0. none
1. MHD Model
2. Fiber Model
3. Fuel Cell and Electrolysis Model
4. SOFC Model with Unresolved Electrolyte
5. Population Balance Model Enter Module Number: [0] 5

Select the Population Balance Model by entering the module number 5. During the loading process
a scheme library containing the graphical and text user interface, and a UDF library containing a set of user
defined functions are loaded into ANSYS FLUENT. A message Addon Module: popbal...loaded! is displayed
at the end of the loading process.

The population balance module setup is saved with the ANSYS FLUENT case file. The module is loaded
automatically when the case file is subsequently read into ANSYS FLUENT. Note that in the saved case file,
the population balance module is saved with the absolute path. Therefore, if the locations of the population
balance module installation or the saved case file are changed, ANSYS FLUENT will not be able to load the
module when the case file is subsequently read.

3.3. Population Balance Model Setup


Following the loading of the population balance module, enable either the mixture or Eulerian multiphase
model. This will allow you to activate the population balance model, where you will specify the appropriate
parameters, and supply multiphase boundary conditions. These inputs are described in this chapter. Using

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 25
Chapter 3: Using the ANSYS FLUENT Population Balance Model

the double-precision version of ANSYS FLUENT when solving population balance problems is highly recom-
mended.

Important

A limitation of the population balance model is that it can be used only on one secondary phase,
even if your problem includes additional secondary phases. Note that a three-phase gas-liquid-
solid case can be modeled, where the population balance model is used for the gas phase and
the solid phase acts as a catalyst. However, if you are using the Inhomogeneous Discrete, more
than one secondary phase can be used. Note that the properties of the secondary phases selected
for that method should be the same for consistency.

For more information, please see the following sections:


3.3.1. Enabling the Population Balance Model
3.3.2. Defining Population Balance Boundary Conditions
3.3.3. Specifying Population Balance Solution Controls
3.3.4. Coupling With Fluid Dynamics
3.3.5. Specifying Interphase Mass Transfer Due to Nucleation and Growth

3.3.1. Enabling the Population Balance Model


The procedure for setting up a population balance problem is described below. (Note that this procedure
includes only those steps necessary for the population balance model itself; you will need to set up other
models, boundary conditions, etc. as usual. See the ANSYS FLUENT User's Guide for details.)

1. Start the double-precision version of ANSYS FLUENT.


2. To enable the population balance model, follow the instructions in Loading the Population Balance
Module (p. 25).

Remember to enable the mixture or Eulerian multiphase model.


3. Open the Population Balance Model dialog box (Figure 3.1 (p. 27)).

Models → Population Balance → Edit...

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
26 of ANSYS, Inc. and its subsidiaries and affiliates.
3.3.1. Enabling the Population Balance Model

Figure 3.1 The Population Balance Model Dialog Box

4. Specify the population balance method under Method.


• If you select Discrete, you will need to specify the following parameters:
Kv
specifies the value for the particle volume coefficient
 (as described in Particle Growth and
Dissolution (p. 6)). By default, this coefficient has a value of  .
Definition
can be specified as a Geometric Ratio or as a File. If Geometric Ratio is selected, then the
Ratio Exponent must be specified. If File is selected, you will click the Load File... button and
select the bin size file that you want loaded.

You can input the diameter through the text file, with each diameter listed on a separate line,
starting from the largest to the smallest diameter. Hence, you are not limited by the choices
specified in the dialog box.
Bins
specifies the number of particle size bins used in the calculation.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 27
Chapter 3: Using the ANSYS FLUENT Population Balance Model

Ratio Exponent
specifies the exponent used in the discretization of the growth term volume coordinate (see
Numerical Method (p. 17)).
Min Diameter
     
specifies the minimum bin size  ≡  .
Max Diameter
displays the maximum bin size, which is calculated internally.

To display a list of the bin sizes in the console window, click Print Bins. The bin sizes will be listed
in order of size, from the largest to the smallest. This option is only available when the Geometric
Ratio Definition is selected.
• If you select Inhomogeneous Discrete under Method, you will specify the same parameters as
for the Discrete model. Additionally, you can include more than one secondary phase in the bin
definition. Enter the total number of Active Secondary Phases in your simulation.

Note

While reading bins through the Load File... option for the Inhomogeneous Discrete
model, the corresponding phase name needs to be included, e.g. (("air-1" (0.1
0.2 0.3))

• If you select Standard Moment under Method, you will specify the number of Moments under
Parameters.
• If you selected Quadrature Moment under Method, you will set the number of moments to either
4, 6 or 8 under Parameters.
5. Select the secondary phase from the Phase drop-down list for which you want to apply the population
balance model parameters.
6. For all population balance methods, you can enable the following under Phenomena :
Nucleation Rate

allows you to specify the nucleation rate ( ). You can select constant or user-
defined from the drop-down list. If you select constant, specify a value in the adjacent field. If
you have a user-defined function (UDF) that you want to use to model the nucleation rate, you
can choose the user-defined option and specify the appropriate UDF.

Note

This option is not available when using the Inhomogeneous Discrete method.

Growth Rate
allows you to specify the particle growth rate (m/s). You can select constant or user-defined from
the drop-down list. If you select constant, specify a value in the adjacent field. If you have a user-
defined function (UDF) that you want to use to model the growth rate, you can choose the user-
defined option and specify the appropriate UDF.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
28 of ANSYS, Inc. and its subsidiaries and affiliates.
3.3.1. Enabling the Population Balance Model

Note

This option is not available when using the Inhomogeneous Discrete method.

Aggregation Kernel
allows you to specify the aggregation kernel ( ). You can select constant, luo-model, free-
molecular-model, turbulent-model, or user-defined from the drop-down list:
• If you select constant, specify a value in the adjacent field.
• If you select luo-model, the Surface Tension for Population Balance dialog box will open
automatically to allow you to specify the surface tension (see Figure 3.2 (p. 29)). The aggregation
rate for the model will then be calculated based on Luo’s aggregation kernel (as described in
Particle Birth and Death Due to Breakage and Aggregation (p. 7)).

Figure 3.2 The Surface Tension for Population Balance Dialog Box

• If you select free-molecular-model, then Equation 2–38 (p. 15) is applied.


• If you select turbulent-model, the Hamaker Constant for Population Balance dialog box will
open automatically to allow you to specify the Hamaker constant (see Figure 3.3 (p. 29)). More
information about this model is available in Turbulent Aggregation Kernel (p. 15).

Figure 3.3 The Hamaker Constant for Population Balance Dialog Box

• If you have a user-defined function (UDF) that you want to use to model the aggregation rate,
you can choose the user-defined option and specify the appropriate UDF.
Breakage Kernel

allows you to specify the particle breakage frequency ( ). You can select constant,
luo-model, lehr-model, ghadiri-model, laakkonen-model or user-defined from the Frequency
drop-down list:
• If you select constant, specify a value in the adjacent field.
• If you select luo-model, the Surface Tension for Population Balance dialog box will open
automatically to allow you to specify the surface tension (see Figure 3.2 (p. 29)). The frequency
used in the breakage rate will then be calculated based on Luo’s breakage kernel (as described
in Particle Birth and Death Due to Breakage and Aggregation (p. 7)).

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 29
Chapter 3: Using the ANSYS FLUENT Population Balance Model

• If you select lehr-model, the Surface Tension and Weber Number dialog box will open
automatically to allow you to specify the surface tension and critical Weber number (see Figure
3.4 (p. 30)). The frequency used in the breakage rate will then be calculated based on Lehr’s
breakage kernel (as described in Particle Birth and Death Due to Breakage and Aggregation (p. 7)).

Figure 3.4 The Surface Tension and Weber Number Dialog Box

• If you select ghadiri-model, the Ghadiri Breakage Constant for Population Balance dialog
box will open automatically to allow you to specify the breakage constant (see Figure 3.5 (p. 30)).
The frequency will then be calculated based on Ghadiri’s breakage kernel (as described in
Particle Birth and Death Due to Breakage and Aggregation (p. 7)).

Figure 3.5 The Ghadiri Breakage Constant for Population Balance Dialog Box

• If you select laakkonen-model, the Surface Tension for Population Balance dialog box will
open automatically to allow you to specify the surface tension (see Figure 3.2 (p. 29)). The fre-
quency will then be calculated based on Laakkonen's breakage kernel (as described in
Laakkonen Breakage Kernels (p. 9)).
• If you have a user-defined function (UDF) that you want to use to model the frequency for the
breakage rate, you can choose the user-defined option and specify the appropriate UDF.

If you selected constant, ghadiri-model, laakkonen-model, or user-defined for Frequency, then


you can specify the probability density function used to calculate the breakage rate by making a
selection in the PDF drop-down list. You can select parabolic, laakkonen, generalized, or user-
defined :
• If you select parabolic, the Shape Factor for Parabolic PDF dialog box will open automatically
to allow you to specify the shape factor C (see Figure 3.6 (p. 31)). The PDF used in the breakage
rate will then be calculated according to Equation 2–20 (p. 10) (as described in Particle Birth
and Death Due to Breakage and Aggregation (p. 7)).

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
30 of ANSYS, Inc. and its subsidiaries and affiliates.
3.3.1. Enabling the Population Balance Model

Figure 3.6 The Shape Factor for Parabolic PDF Dialog Box

• If you select generalized, the Generalized pdf for multiple breakage dialog box will open
automatically (Figure 3.7 (p. 31)).

Figure 3.7 The Generalized pdf for multiple breakage Dialog Box

Perform the following steps in the Generalized pdf for multiple breakage dialog box:
a. Select either One Term or Two Term from the Options list. Your selection will determine
whether in Equation 2–26 (p. 11) is 0 or 1, respectively.
b. Enter a value for the averaged Number of Daughters. It can be any real number (including
non-integers, e.g., 2.5), as long as it is not less than 2.
c. Define the parameter(s) for Equation 2–26 (p. 11) in the Input Parameters group box.
When One Term is selected from the Options list, you must enter a value for qi0. When
Two Term is selected from the Options list, you must enter values for wi0, pi0, qi0, ri0,
and qi1. For information about appropriate values for these parameters to result in the
daughter distributions shown in Table 2.2: Daughter Distributions (p. 12), see Table 2.3: Values
for Daughter Distributions in General Form (p. 12).
d. Click the Validate/Apply button to save the settings. The text boxes in the All Parameters
group box will be updated, using the values you entered in the Input Parameters group
box, as well as values derived from the constraints shown in Equation 2–27 (p. 12) –
Equation 2–29 (p. 12).

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 31
Chapter 3: Using the ANSYS FLUENT Population Balance Model

e. Verify that the values in the All Parameters group box represent your intended PDF before
clicking Close.
• If you have a user-defined function (UDF) that you want to use to model the PDF for the
breakage rate, you can choose the user-defined option and specify the appropriate UDF. See
UDFs for Population Balance Modeling (p. 43) for details about UDFs for the population balance
model.

Choose between the default Hagesather formulation and the Ramakrishna formulation. Detailed
information about these two methods can be found in Breakage Formulations for the Discrete
Method (p. 19).
7. Specify the boundary conditions for the solution variables.

Boundary Conditions

See Defining Population Balance Boundary Conditions (p. 32) below.


8. Specify the initial guess for the solution variables.

Solution Initialization
9. Solve the problem and perform relevant postprocessing functions.

Run Calculation

See Postprocessing for the Population Balance Model (p. 39) for details about postprocessing.

3.3.2. Defining Population Balance Boundary Conditions


To define boundary conditions specific to the population balance model, use the following procedure:

1. In the Boundary Conditions task page, select the secondary phase(s) in the Phase drop-down list
and then open the appropriate boundary condition dialog box (e.g., Figure 3.8 (p. 33)).

Boundary Conditions

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
32 of ANSYS, Inc. and its subsidiaries and affiliates.
3.3.3. Specifying Population Balance Solution Controls

Figure 3.8 Specifying Inlet Boundary Conditions for the Population Balance Model

2. In the Multiphase tab, under Boundary Condition, select the type of boundary condition for each
bin (for the discrete method) or moment (for SMM and QMOM) as either Specified Value or Specified
Flux.

Note that the boundary condition variables (e.g., Bin-0) are labeled according to the following:

bin/moment - th bin/moment
  
where the th bin/moment can range from 0 (the first bin or moment) to − , where is the number
of bins/moments that you entered in the Population Balance Model dialog box.
3. Under Population Balance Boundary Value, enter a value or a flux as appropriate.
• If you selected Specified Value for the selected boundary variable, enter a value in the field adjacent

to the variable name. This value will correspond to the variable in Equation 2–49 (p. 18) (for the

discrete method) or in Equation 2–64 (p. 20) (for SMM or QMOM).
• If you selected Specified Flux for the selected boundary variable, enter a value in the field adjacent
 

to the variable name. This value will be the spatial particle volume flux .

3.3.3. Specifying Population Balance Solution Controls


In the Equations dialog box (Figure 3.9 (p. 34)), equations for each bin (e.g., phase-2 Bin) will appear in the
Equations list.

Solution Controls → Equations...

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 33
Chapter 3: Using the ANSYS FLUENT Population Balance Model

The default value under Under-Relaxation Factors (in the Solution Controls task page) for the population
balance equations is 0.5, and the default Discretization scheme (in the Solution Methods task page) is
First Order Upwind.

Figure 3.9 The Equations Dialog Box

3.3.4. Coupling With Fluid Dynamics


To couple population balance modeling of the secondary phase(s) with the overall problem fluid dynamics,

a Sauter mean diameter ( in Equation 2–71 (p. 22)) may be used to represent the particle diameter of
the secondary phase. The Sauter mean diameter is defined as the ratio of the third moment to the second
moment for the SMM and QMOM. For the discrete method, it is defined as

 ∑  
=
(3–1)
∑  

To specify the Sauter mean diameter as the secondary phase particle diameter, open the Secondary Phase
dialog box.

Phases → Secondary Phase → Edit...

In the Secondary Phase dialog box (e.g., Figure 3.10 (p. 35)), select sauter-mean from the Diameter drop-
down list under Properties. Note that a constant diameter or user-defined function may also be used.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
34 of ANSYS, Inc. and its subsidiaries and affiliates.
3.3.5. Specifying Interphase Mass Transfer Due to Nucleation and Growth

Figure 3.10 The Secondary Phase Dialog box for Hydrodynamic Coupling

3.3.5. Specifying Interphase Mass Transfer Due to Nucleation and Growth


In applications that involve the creation, dissolution, or growth of particles (e.g., crystallization), the total
volume fraction equation for the particulate phase will have source terms due to these phenomena. The
momentum equation for the particulate phase will also have source terms due to the added mass. In ANSYS
FLUENT, the mass source term can be specified using the UDF hook DEFINE_HET_RXN_RATE, as described
in Appendix A (p. 51), or using the Phase Interaction dialog box, described below.

As an example, in crystallization, particles are created by means of nucleation ( ɺ), and a growth rate ( )

can also be specified. The mass transfer rate of formation (in ) of particles of all sizes is then


ɺ =  ∫ ∞   

  ∞  
 (3–2)
=  ∫ 


For the discrete method, the mass transfer rate due to growth can be written as

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 35
Chapter 3: Using the ANSYS FLUENT Population Balance Model

ɺ =  ∫
∞    
=  ∫
∞      (3–3)

=  ∑  

If the nucleation rate is included in the total mass transfer, then the mass transfer becomes
ɺ = ɺ + ∑     (3–4)

Important

For the discrete method, the sources to the population balance equations must sum to the total
mass transfer rate. To access the sources, you can use the macro C_PB_DISCI_PS (cell,
thread, i).

See UDFs for Population Balance Modeling (p. 43) for more information about macros for population balance
variables.

For the SMM, only a size-independent growth rate is available. Hence, the mass transfer rate can be written
as

ɺ =    (3–5)

For the QMOM, the mass transfer rate can be written as

ɺ = &% # ∑ $ $&! $ " $ (3–6)

For both the SMM and QMOM, mass transfer due to nucleation is negligible, and is not taken into account.

Important

Note that for crystallization, the primary phase is comprised of multiple components. At the very
least, there is a solute and a solvent. To define the multicomponent multiphase system, you will
need to activate Species Transport in the Species Model dialog box for the primary phase after
activating the multiphase model. The rest of the procedure for setting up a species transport
problem is identical to setting up species in single phase. The heterogeneous reaction is defined
as:
'()*+, )-.*-/ →
012 3+4) 3,5(6/412 7 843,

When the population balance model is activated, mass transfer between phases for non-reacting species
(such as boiling) and heterogeneous reactions (such as crystallization) can be done automatically, in lieu of
hooking a UDF.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
36 of ANSYS, Inc. and its subsidiaries and affiliates.
3.3.5. Specifying Interphase Mass Transfer Due to Nucleation and Growth

For simple unidirectional mass transfer between primary and secondary phases due to nucleation and growth
phenomena of non-reacting species, go to the Phases task page and click the Interaction... button. This
will open the Phase Interaction dialog box (Figure 3.11 (p. 37)). Click the Mass tab to specify the Mass
Transfer of species between the phases. Specify the Number of Mass Transfer Mechanisms involved in
your case. From the drop-down list under From Phase, select the phase that you want to transfer mass from.
In the To Phase drop-down list, select the phase that you want to transfer mass to.

You have a choice of four mechanisms used to transfer mass. Under Mechanism select from the drop-down
list

none
if you do not want any mass transfer between the phases.
constant-rate
for a fixed, user-specified rate.
user-defined
if you hooked a UDF describing the mass transfer mechanism.
population-balance
for an automated method of mass transfer, not involving a UDF.

Click OK to save the settings.

For heterogeneous reactions, the Species Transport model has to be activated for the primary phase. In
the Phases task page, click the Interaction... button. This will open the Phase Interaction dialog box (Figure
3.12 (p. 38)). Click the Reactions tab to specify the stoichiometry for the reactant and the product. At the
bottom of the Phase Interaction dialog box, select population-balance as the Reaction Rate Function.
Click OK to save the settings. Either this method or the use of the UDF, described in Appendix A (p. 51), will
produce the same results.

Figure 3.11 The Phase Interaction Dialog Box for Non-reacting Species

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 37
Chapter 3: Using the ANSYS FLUENT Population Balance Model

Figure 3.12 The Phase Interaction Dialog Box for a Heterogeneous Reaction

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
38 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 4: Postprocessing for the Population Balance Model
ANSYS FLUENT provides postprocessing options for displaying, plotting, and reporting various particle
quantities, which include the main solution variables and other auxiliary quantities.
4.1. Population Balance Solution Variables
4.2. Reporting Derived Population Balance Variables

4.1. Population Balance Solution Variables


Solution variables that can be reported for the population balance model are:

• Bin-i fraction (discrete method only), where i is N-1 bins/moments.


• Number density of Bin-i fraction (discrete method only)
• Diffusion Coef. of Bin-i fraction/Moment-i
• Sources of Bin-i fraction/Moment-i
• Moment-i (SMM and QMOM only)
• Abscissa-i (QMOM method only)
• Weight-i (QMOM method only)
 
Bin-i fraction is the fraction ( ) of the volume fraction for the th size bin when using the discrete method.
 
Number density of Bin-i fraction is the number density ( ) in  for the th size bin. Moment-

i is the th moment of the distribution when using the standard method of moments or the quadrature
method of moments.

Important

Though the diffusion coefficients of the population variables are available (e.g., Diffusion Coef.
of Bin-i fraction/Moment-i), they are set to zero because the diffusion term is not present in the
population balance equations.

4.2. Reporting Derived Population Balance Variables


Two options are available in the Report menu that allow you to report computed moments and number
density on selected surfaces or cell zones of the domain.
4.2.1. Computing Moments
4.2.2. Displaying a Number Density Function

4.2.1. Computing Moments


You can compute moments for the population balance model using the Population Balance Moments
dialog box (Figure 4.1 (p. 40)).

Report → Population Balance → Moments...

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 39
Chapter 4: Postprocessing for the Population Balance Model

Figure 4.1 The Population Balance Moments Dialog Box

The steps for computing moments are as follows:

1. For the discrete method, specify the Number of Moments. For the SMM and QMOM, the number of
moments is set equal to the number of moments that were solved, and thus cannot be changed.
2. For a surface average, select the surface(s) on which to calculate the moments in the Surfaces list.
3. For a volume average, select the volume(s) in which to calculate the moments in the Cell Zones list.
4. Click Print to display the moment values in the console window.
5. To save the moment calculations to a file, click Write... and enter the appropriate information in the
resulting Select File dialog box. The file extension should be .pb.

4.2.2. Displaying a Number Density Function


You can display the number density function for the population balance model using the Number Density
Function dialog box (Figure 4.2 (p. 40)).

Report → Population Balance → Number Density...

Figure 4.2 The Number Density Function Dialog Box

The steps for displaying the number density function are as follows:

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
40 of ANSYS, Inc. and its subsidiaries and affiliates.
4.2.2. Displaying a Number Density Function

1. Specify the Report Type as either a Surface Average or a Volume Average.


2. Under Plot Type, specify how you would like to display the number density function data.
Histogram

displays a histogram of the discrete number density ( ). The number of divisions in the histogram
is equal to the number of bins specified in the Population Balance Model dialog box. This option
is available only with the discrete method.
Curve
displays a smooth curve of the number density function.
3. In the Fields list, select the data to be plotted.


Discrete Number Density


( ) is the number of particles per unit volume of physical space in the th size bin plotted against
particle diameter size . This option is available only with the discrete method.
Length Number Density Function
(
  ) is the number of particles per unit volume of physical space per unit particle length plotted
against particle diameter.
Volume Number Density Function
(
 ) is the number of particles per unit volume of physical space per unit particle volume
plotted against particle volume.
4. Choose the cell zones on which to plot the number density function data in the Cell Zones list.
5. Click Plot... to display the data.
6. (optional) Click Print to display the number density function data in the console window.
7. Click Write to save the number density function data to a file. The Select File dialog box will open,
where you can specify a name and save a file containing the plot data. The file extension should be
.pbd.

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 41
Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
42 of ANSYS, Inc. and its subsidiaries and affiliates.
Chapter 5: UDFs for Population Balance Modeling
This chapter contains the following sections:
5.1. Population Balance Variables
5.2. Population Balance DEFINE Macros
5.3. Hooking a Population Balance UDF to ANSYS FLUENT

5.1. Population Balance Variables


The macros listed in Table 5.1: Macros for Population Balance Variables Defined in sg_pb.h (p. 43) can be
used to return real variables associated with the population balance model. The variables are available in
both the pressure-based and density-based solvers. The macros are defined in the sg_pb.h header file,
which is included in udf.h.

Table 5.1 Macros for Population Balance Variables Defined in sg_pb.h


Macro Argument Types Returns

C_PB_DISCI cell_t c, Thread *t, fraction ( ) of the total volume fraction for the
int i 
th size bin

C_PB_SMMI cell_t c, Thread *t, th moment
int i
 
C_PB_QMOMI cell_t c, Thread *t, th moment, where =
int i
 
C_PB_QMOMI_L cell_t c, Thread *t, abscissa , where =
int i

, where =

C_PB_QMOMI_W cell_t c, Thread *t, weight


int i

C_PB_DISCI_PS cell_t c, Thread *t, net source term to th size bin
int i

C_PB_SMMI_PS cell_t c, Thread *t, net source term to th moment
int i

C_PB_QMOMI_PS cell_t c, Thread *t, net source term to th moment
int i

5.2. Population Balance DEFINE Macros


This section contains descriptions of DEFINE macros for the population balance model. Definitions of each
DEFINE macro are contained in the udf.h header file.
5.2.1. DEFINE_PB_BREAK_UP_RATE_FREQ
5.2.2. DEFINE_PB_BREAK_UP_RATE_PDF
5.2.3. DEFINE_PB_COALESCENCE_RATE
5.2.4. DEFINE_PB_NUCLEATION_RATE
5.2.5. DEFINE_PB_GROWTH_RATE

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 43
Chapter 5: UDFs for Population Balance Modeling

5.2.1. DEFINE_PB_BREAK_UP_RATE_FREQ
You can use the DEFINE_PB_BREAK_UP_RATE_FREQ macro if you want to define the breakage frequency
using a UDF. The function is executed at the beginning of every time step.

5.2.1.1. Usage
DEFINE_PB_BREAK_UP_RATE_FREQ(name, cell, thread, d_1)

Argument Type Description


char name UDF name
cell_t cell Cell index
Thread *thread Pointer to the secondary phase thread associated with d_1
real d_1 Parent particle diameter or length
Function returns

real

There are four arguments to DEFINE_PB_BREAK_UP_RATE_FREQ: name, cell, thread, and d_1. You
will supply name, the name of the UDF. cell, thread, and d_1 are variables that are passed by the ANSYS
FLUENT solver to your UDF.

5.2.1.2. Example
Included below is an example of a UDF that defines a breakage frequency (see Particle Birth and Death Due
to Breakage and Aggregation (p. 7)) that is based on the work of Tavlarides [4] (p. 53), such that

    +   
 ′ =   − 
     
       (5–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, and  is the density of the primary phase.

/************************************************************************
UDF that computes the particle breakage frequency
*************************************************************************/

#include "udf.h"
#include "sg_pb.h"
#include "sg_mphase.h"

DEFINE_PB_BREAK_UP_RATE_FREQ(break_up_freq_tav, cell, thread, d_1)


{
real epsi, alpha, f1, f2, rho_d;
real C1 = 0.00481, C2 = 0.08, sigma = 0.07;
Thread *tm = THREAD_SUPER_THREAD(thread);/*passed thread is phase*/
epsi = C_D(cell, tm);
alpha = C_VOF(cell, thread);
rho_d = C_R(cell, thread);
f1 = pow(epsi, 1./3.)/((1.+epsi)*pow(d_1, 2./3.));
f2 = -(C2*sigma*(1.+alpha)*(1.+alpha))/(rho_d*pow(epsi,2./3.)*pow(d_1, 5./3.));
return C1*f1*exp(f2);
}

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
44 of ANSYS, Inc. and its subsidiaries and affiliates.
5.2.2. DEFINE_PB_BREAK_UP_RATE_PDF

5.2.2. DEFINE_PB_BREAK_UP_RATE_PDF
You can use the DEFINE_PB_BREAK_UP_RATE_PDF macro if you want to define the breakage PDF using
a UDF. The function is executed at the beginning of every time step.

5.2.2.1. Usage
DEFINE_PB_BREAK_UP_RATE_PDF(name, cell, thread, d_1, thread_2, d_2)

Argument Type Description


char name UDF name
cell_t cell Cell index
Thread *thread Pointer to the secondary phase thread associated with d_1
real d_1 Parent particle diameter or length
Thread *thread_2 Pointer to the secondary phase thread associated with d_2
real d_2 Diameter of one of the daughter particles after breakage; the second
daughter particle diameter is calculated by conservation of particle
volume
Function returns

real

There are six arguments to DEFINE_PB_BREAK_UP_RATE_PDF: name, cell, thread, d_1, thread_2,
and d_2. You will supply name, the name of the UDF. cell, thread, d_1, thread_2, and d_2 are variables
that are passed by the ANSYS FLUENT solver to your UDF.

Note

thread and thread_2 are the same for the Discrete, QMOM and SMM models. They may be
the same or different depending on whether d_1 and d_2 belong to the same phase or different
phases for the Inhomogeneous model.

5.2.2.2. Example
Included below is an example of a UDF that defines a breakage PDF (see Particle Birth and Death Due to
Breakage and Aggregation (p. 7)) that is parabolic, as defined in Equation 2–20 (p. 10).
/************************************************************************
UDF that computes the particle breakage PDF
*************************************************************************/

#include "udf.h"
#include "sg_pb.h"
#include "sg_mphase.h"

DEFINE_PB_BREAK_UP_RATE_PDF(break_up_pdf_par, cell, thread, d_1, thread_2, d_2)


{
real pdf;
real kv = M_PI/6.;

real C = 1.0;

real f_2, f_3, f_4;

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 45
Chapter 5: UDFs for Population Balance Modeling

real V_prime = kv*pow(d_1,3.);


real V = kv*pow(d_2,3.);

f_2 = 24.*pow(V/V_prime,2.);
f_3 = -24.*(V/V_prime);
f_4 = 6.;

pdf = (C/V_prime) + ((1.-C/2.)/V_prime)*(f_2 + f_3 + f_4);

return 0.5*pdf;
}

5.2.3. DEFINE_PB_COALESCENCE_RATE
You can use the DEFINE_PB_COALESCENCE_RATE macro if you want to define your own particle aggreg-
ation kernel. The function is executed at the beginning of every time step.

5.2.3.1. Usage
DEFINE_PB_COALESCENCE_RATE(name, cell, thread, d_1, thread_2, d_2)

Argument Type Description


char name UDF name
cell_t cell Cell index
Thread *thread Pointer to the secondary phase thread associated with d_1
Thread *thread_2 Pointer to the secondary phase thread associated with d_2
real d_1, d_2 Diameters of the two colliding particles
Function returns

real

There are six arguments to DEFINE_PB_COALESCENCE_RATE: name, cell, thread, d_1, thread_2,
and d_2. You will supply name, the name of the UDF. cell, thread, d_1, and d_2 are variables that are
passed by the ANSYS FLUENT solver to your UDF. Your UDF will need to return the real value of the ag-
gregation rate.

Note

thread and thread_2 are the same for the Discrete, QMOM and SMM models. They may be
the same or different depending on whether d_1 and d_2 belong to the same phase or different
phases for the Inhomogeneous model.

5.2.3.2. Example
Included below is an example UDF for a Brownian aggregation kernel. In this example, the aggregation rate
is defined as

  =   ′ =     +

 
where = × − .

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
46 of ANSYS, Inc. and its subsidiaries and affiliates.
5.2.4. DEFINE_PB_NUCLEATION_RATE

/************************************************************************
UDF that computes the particle aggregation rate
*************************************************************************/

#include "udf.h"
#include "sg_pb.h"
#include "sg_mphase.h"

DEFINE_PB_COALESCENCE_RATE(aggregation_kernel,cell,thread,d_1,thread_2,d_2)
{
real agg_kernel;
real beta_0 = 1.0e-17 /* aggregation rate constant */
agg_kernel = beta_0*pow((d_1+d_2),2.0)/(d_1*d_2);
return agg_kernel;
}

5.2.4. DEFINE_PB_NUCLEATION_RATE
You can use the DEFINE_PB_NUCLEATION_RATE macro if you want to define your own particle nucleation
rate. The function is executed at the beginning of every time step.

5.2.4.1. Usage
DEFINE_PB_NUCLEATION_RATE(name, cell, thread)

Argument Type Description


char name UDF name

cell_t cell Cell index

Thread *thread Pointer to the secondary phase thread


Function returns

real

There are three arguments to DEFINE_PB_NUCLEATION_RATE: name, cell, and thread. You will supply
name, the name of the UDF. cell and thread are variables that are passed by the ANSYS FLUENT solver
to your UDF. Your UDF will need to return the real value of the nucleation rate.

5.2.4.2. Example
Potassium chloride can be crystallized from water by cooling. Its solubility decreases linearly with temperature.
Assuming power-law kinetics for the nucleation rate,

ɺ =    − 



where = × − and = .
/************************************************************************
UDF that computes the particle nucleation rate
*************************************************************************/

#include "udf.h"
#include "sg_pb.h"
#include "sg_mphase.h"
DEFINE_PB_NUCLEATION_RATE(nuc_rate, cell, thread)
{

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 47
Chapter 5: UDFs for Population Balance Modeling

real J, S;
real Kn = 4.0e10; /* nucleation rate constant */
real Nn = 2.77; /* nucleation law power index */
real T,solute_mass_frac,solvent_mass_frac, solute_mol_frac,solubility;
real solute_mol_wt, solvent_mol_wt;

Thread *tc = THREAD_SUPER_THREAD(thread); /*obtain mixture thread */


Thread **pt = THREAD_SUB_THREADS(tc); /* pointer to sub_threads */
Thread *tp = pt[P_PHASE]; /* primary phase thread */

solute_mol_wt = 74.55; /* molecular weight of potassium chloride */


solvent_mol_wt = 18.; /* molecular weight of water */
solute_mass_frac = C_YI(cell,tp,0);
/* mass fraction of solute in primary phase (solvent) */

solvent_mass_frac = 1.0 - solute_mass_frac;


solute_mol_frac = (solute_mass_frac/solute_mol_wt)/
((solute_mass_frac/solute_mol_wt)+(solvent_mass_frac/solvent_mol_wt));

T = C_T(cell,tp); /* Temperature of primary phase in Kelvin */

solubility = 0.0005*T-0.0794;
/* Solubility Law relating equilibrium solute mole fraction to Temperature*/

S = solute_mol_frac/solubility; /* Definition of Supersaturation */


if (S = 1.)
{
J = 0.;
}
else
{
J = Kn*pow((S-1),Nn);
}
return J;
}

Important

Note that the solubility and the chemistry could be defined in a separate routine and simply
called from the above function.

5.2.5. DEFINE_PB_GROWTH_RATE
You can use the DEFINE_PB_GROWTH_RATE macro if you want to define your own particle growth rate.
The function is executed at the beginning of every time step.

5.2.5.1. Usage
DEFINE_PB_GROWTH_RATE(name, cell, thread,d_i)

Argument Type Description


char name UDF name

cell_t cell Cell index

Thread *thread Pointer to the secondary phase thread

real d_i Particle diameter or length

Function returns

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
48 of ANSYS, Inc. and its subsidiaries and affiliates.
5.2.5. DEFINE_PB_GROWTH_RATE

real

There are four arguments to DEFINE_PB_GROWTH_RATE: name, cell, thread, and d_i. You will supply
name, the name of the UDF. cell, thread, and d_i are variables that are passed by the ANSYS FLUENT solv-
er to your UDF. Your UDF will need to return the real value of the growth rate.

5.2.5.2. Example
Potassium chloride can be crystallized from water by cooling. Its solubility decreases linearly with temperature.
Assuming power-law kinetics for the growth rate,

=
  − 

where
 = × −  m/s and
= .

/************************************************************************
UDF that computes the particle growth rate
*************************************************************************/

#include "udf.h"
#include "sg_pb.h"
#include "sg_mphase.h"
DEFINE_PB_GROWTH_RATE(growth_rate, cell, thread,d_1)
{
/* d_1 can be used if size-dependent growth is needed */
/* When using SMM, only size-independent or linear growth is allowed */
real G, S;
real Kg = 2.8e-8; /* growth constant */
real Ng = 1.; /* growth law power index */
real T,solute_mass_frac,solvent_mass_frac, solute_mol_frac,solubility;
real solute_mol_wt, solvent_mol_wt;

Thread *tc = THREAD_SUPER_THREAD(thread); /*obtain mixture thread */


Thread **pt = THREAD_SUB_THREADS(tc); /* pointer to sub_threads */
Thread *tp = pt[P_PHASE]; /* primary phase thread */

solute_mol_wt = 74.55; /* molecular weight of potassium chloride */


solvent_mol_wt = 18.; /* molecular weight of water */
solute_mass_frac = C_YI(cell,tp,0);
/* mass fraction of solute in primary phase (solvent) */

solvent_mass_frac = 1.0 - solute_mass_frac;


solute_mol_frac = (solute_mass_frac/solute_mol_wt)/
((solute_mass_frac/solute_mol_wt)+(solvent_mass_frac/solvent_mol_wt));

T = C_T(cell,tp); /* Temperature of primary phase in Kelvin */


solubility = 0.0005*T-0.0794;
/* Solubility Law relating equilibrium solute mole fraction to Temperature*/

S = solute_mol_frac/solubility; /* Definition of Supersaturation */


if (S = 1.)
{
G = 0.;
}
else
{
G = Kg*pow((S-1),Ng);
}
return G;
}

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 49
Chapter 5: UDFs for Population Balance Modeling

Important

Note that the solubility and the chemistry could be defined in a separate routine and simply
called from the above function.

5.3. Hooking a Population Balance UDF to ANSYS FLUENT


After the UDF that you have defined using DEFINE_PB_BREAK_UP_RATE_FREQ, DEFINE_PB_
BREAK_UP_RATE_PDF, DEFINE_PB_COALESCENCE_RATE, DEFINE_PB_NUCLEATION_RATE, or
DEFINE_PB_GROWTH_RATE is interpreted or compiled, the name that you specified in the DEFINE macro
argument (e.g., agg_kernel) will become visible and selectable in the appropriate drop-down list under
Phenomena in the Population Balance Model dialog box (Figure 3.1 (p. 27)).

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
50 of ANSYS, Inc. and its subsidiaries and affiliates.
Appendix A. DEFINE_HET_RXN_RATE Macro
A.1. Description
You need to use DEFINE_HET_RXN_RATE to specify reaction rates for heterogeneous reactions. A hetero-
geneous reaction is one that involves reactants and products from more than one phase. Unlike
DEFINE_VR_RATE, a DEFINE_HET_RXN_RATE UDF can be specified differently for different heterogeneous
reactions.

During ANSYS FLUENT execution, the DEFINE_HET_RXN_RATE UDF for each heterogeneous reaction that
is defined is called in every fluid cell. ANSYS FLUENT will use the reaction rate specified by the UDF to
compute production/destruction of the species participating in the reaction, as well as heat and momentum
transfer across phases due to the reaction.

A heterogeneous reaction is typically used to define reactions involving species of different phases. The bulk
phase can participate in the reaction if the phase does not have any species (i.e. phase has fluid material
instead of mixture material). Heterogeneous reactions are defined in the Phase Interaction dialog box.

A.2. Usage
DEFINE_HET_RXN_RATE (name,c,t,r,mw,yi,rr,rr_t)

Argument Type Description


char name UDF name.
cell_t c Cell index.
Thread *t Cell thread (mixture level) on which heterogeneous reac-
tion rate is to be applied.
Hetero_Reaction *r Pointer to data structure that represents the current
heterogeneous reaction (see sg_mphase.h).
real mw[MAX_PHASES][MAX_SPE_EQNS] Matrix of species molecular weights. mw[i][j] will give
molecular weight of species with ID j in phase with index
i. For phase which has fluid material, the molecular
weight can be accessed as mw[i][0].
real yi[MAX_PHASES][MAX_SPE_EQNS] Matrix of species mass fractions. yi[i][j] will give
molecular weight of species with ID j in phase with index
i. For phase which has fluid material, yi[i][0] will be
1.
real *rr Pointer to laminar reaction rate.
real *rr_t Currently not used. Provided for future use.
Function returns

void

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
of ANSYS, Inc. and its subsidiaries and affiliates. 51
Appendix A. DEFINE_HET_RXN_RATE Macro

There are eight arguments to DEFINE_HET_RXN_RATE: name, c, t, r, mw, yi, rr, and rr_t. You will
supply name, the name of the UDF. c, t, r, mw, yi, rr, and rr_t are variables that are passed by the ANSYS
FLUENT solver to your UDF. Your UDF will need toset the values referenced by the real pointer rr.

A.3. Example
The following compiled UDF, named arrh, defines an Arrhenius-type reaction rate. The rate exponents are
assumed to be same as the stoichiometric coefficients.
#include "udf.h"

static const real Arrhenius = 1.e15;


static const real E_Activation = 1.e6;
#define SMALL_S 1.e-29

DEFINE_HET_RXN_RATE(arrh,c,t,hr,mw,yi,rr,rr_t)
{
Domain **domain_reactant = hr-domain_reactant;
real *stoich_reactant = hr-stoich_reactant;
int *reactant = hr-reactant;
int i;
int sp_id;
int dindex;
Thread *t_reactant;
real ci;
real T = 1200.; /* should obtain from cell */

/* instead of compute rr directly, compute log(rr) and then take exp */

*rr = 0;
for (i=0; i hr-n_reactants; i++)
{
sp_id = reactant[i]; /* species ID to access mw and yi */
if (sp_id == -1) sp_id = 0; /* if phase does not have species,
mw, etc. will be stored at index 0 */
dindex = DOMAIN_INDEX(domain_reactant[i]);
/* domain index to access mw & yi */
t_reactant = THREAD_SUB_THREAD(t,dindex);

/* get conc. */
ci = yi[dindex][sp_id]*C_R(c,t_reactant)/mw[dindex][sp_id];
ci = MAX(ci,SMALL_S);
*rr += stoich_reactant[i]*log(ci);
}

*rr += log(Arrhenius + SMALL_S) -


E_Activation/(UNIVERSAL_GAS_CONSTANT*T);

/* 1.e-40 rr 1.e40 */
*rr = MAX(*rr,-40);
*rr = MIN(*rr,40);

*rr = exp(*rr);
}

A.4. Hooking a Heterogeneous Reaction Rate UDF to ANSYS FLUENT


After the UDF that you have defined using DEFINE_HET_RXN_RATE is interpreted or compiled (see the
ANSYS FLUENT UDF Manual for details), the name that you specified in the DEFINE macro argument (e.g.,
arrh) will become visible and selectable under Reaction Rate Function in the Reactions tab of the Phase
Interaction dialog box. (Note you will first need to specify the Total Number of Reactions greater than 0.)

Release 13.0 - © SAS IP, Inc. All rights reserved. - Contains proprietary and confidential information
52 of ANSYS, Inc. and its subsidiaries and affiliates.
Bibliography
[1] J. Abrahamson. "Collision Rates of Small Particles in a Vigorously Turbulent Fluid". Chemical Engineering
Science. 30. 1371–1379. 1975.

[2] L. Austin, K. Shoji, V. Bhatia, V. Jindal, K. Savage, and R. Klimpel."Some Results on the Description of Size
Distribution as a Rate Process in Various Mills". Industrial Engineering and Chemical Process Design
Devices. 15(1). 187–196. 1976.

[3] J. Baldyga and W. Orciuch."Barium Sulfate Precipitation in a Pipe – An Experimental Study and CFD Modeling".
Chemical Engineering Science. 56. 2435–2444. 2001.

[4] C. A. Coulaloglou and L. L. Tavlarides."Description of Interaction Processes in Agitated Liquid-Liquid Disper-


sions". Chem. Eng. Sci.. 32. 1289–1297. 1977.

[5] H. Dette and W. J. Studden.The Theory of Canonical Moments with Applications in Statistics, Probability,
and Analysis. John Wiley & Sons. New York, NY1997.

[6] R. B. Diemer and J. H. Olson."A Moment Methodology for Coagulation and Breakage Problems Part 3 —
Generalized Daughter Distribution Functions". Chemical Engineering Science. 57(19). 4187–4198. 2002.

[7] M. Ghadiri and Z. Zhang."Impact Attrition of Particulate Solids Part 1. A Theoretical Model of Chipping".
Chemical Engineering Science. 57. 3659–3669. 2002..

[8] R. G. Gordon. "Error Bounds in Equilibrium Statistical Mechanics". Journal of Mathematical Physics. 56. 655–633.
1968..

[9] K. Higashitani, K. Yamauchi, Y. Matsuno, and G. Hosokawa."Turbulent Coagulation of Particles Dispersed in


a Viscous Fluid". Chemical Engineering Journal Japan. 16(4). 299–304. 1983..

[10] M. J. Hounslow, R. L. Ryall, and V. R. Marshall."A Discretized Population Balance for Nucleation, Growth,
and Aggregation". AIChE Journal. 34(11). 1821–1832. 1988.

[11] M. A. Hsia and L. L. Tavlarides."Simulation analysis of drop breakage, coalescence and micro-mixing in li-
quid–liquid stirred tanks". Chemical Engineering Journal. 26(3). 189–199. 1983..

[12] M. Kostoglou, S. Dovas, and A. J. Karabelas."On the Steady-State Size Distribution of Dispersions in Breakage
Processes". Chemical Engineering Science. 52(8). 1285–1299. 1997..

[13] S. Kumar and D. Ramkrishna."On the Solution of Population Balance Equations by Discretization - I., A Fixed
Pivot Technique". Chemical Engineering Science. 51(8). 1311–1332. 1996..

[14] Hagesaether L., Jakobsen H.A.1, and Svendsen H.F.. "A Model for Turbulent Binary Breakup of Dispersed
Fluid Particles". Chemical Engineering Science. 57(16). 3251–3267. 2002..

[15] F. Lehr, M. Millies, and D. Mewes."Bubble-Size Distributions and Flow Fields in Bubble Columns". AIChE
Journal. 8(11). 2426–2443. 2002..

[16] J. D.Litster,D. J.Smit,andM. J.Hounslow."Adjustable Discretization Population Balance for Growth and Ag-
gregation". AIChE Journal. 41(3). 591–603. 1995..

[17] H. Luo. "Coalescence, Breakup and Liquid Circulation in Bubble Column Reactors". PhD thesis from the Nor-
wegian Institute of Technology. Trondheim,Norway1993..

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

[18] H. Luo and H. F. Svendsen."Theoretical Model for Drop and Bubble Breakup in Turbulent Dispersions". AIChE
Journal. 42(5). 1225–1233,. 1996..

[19] D. L. Marchisio, R. D. Virgil, and R. O. Fox."Quadrature Method of Moments for Aggregation-Breakage Pro-
cesses". Journal of Colloid and Interface Science. 258. 322–334. 2003..

[20] B. J. McCoy and M. Wang."Continuous-mixture Fragmentation Kinetics Particle Size Reduction and Molecular
Cracking". Chemical Engineering Science. 49(22). 3773–3785. 1994..

[21] R. McGraw. "Description of Aerosol Dynamics by the Quadrature Method of Moments". Aerosol Science and
Technology. 27. 255–265. 1997..

[22] R. Moreno-Atanasio and M. Ghadiri."Mechanistic Analysis and Computer Simulation of Impact Breakage
of Agglomerates Effect of Surface Energy". Chemical Engineering Science. 61(8). 2476–2481. 2006..

[23] S. B. Pope. "Probability Distributions of Scalars in Turbulent Shear Flow". Turbulent Shear Flows. volume 2.
pages 7–16. 1979..

[24] W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery.Numerical Recipes. Cambridge University


Press. Cambridge, England, 1992..

[25] D. Ramkrishna. Population Balances Theory and Applications to Particulate Systems in Engineering. Academic
Press. San Diego, CA,2000..

[26] A. D. Randolph and M. A. Larson."Theory of Particulate Processes". Analysis and Techniques of Continuous
Crystallization. Academic Press,. San Diego, CA1971..

[27] P.G. Saffman and J.S. Turner. "On the Collision of Droplets in Turbulent Clouds". Journal of Fluid Mechanics,.
1. 16–30. 1956..

[28] M. Schmoluchowski. "Versuch Einen Mathematischen Theorie der Koagulationstechnik Kolloider Lösungen".
Zeitschrift für Physikalische Chemie. 92. 129–168. 1917..

[29] R. D.Vigil and R. M.Ziff."On the Stability of Coagulation–Fragmentation Population Balances". Journal of
Colloids and Interface Science. 133(1). 257–264. 1989..

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

You might also like