SIMULATION OF DIESEL SPRAY IN A CONSTANT VOLUME COMBUSTION CHAMBER USING OPEN FOAM CFD

129
1 Chapter 1 INTRODUCTION All the mathematical sciences are founded on relations between physical laws of numbers. so that the aim of exact science is to reduce the problems of nature to the determination of quantities by operations with numbers . When the Computational fluid dynamics (CFD) has developed to the point where the complete three dimensional flow field over the vehicle and through engines can be computed expeditiously with accuracy and reliability. Figure 1.1 Three dimensions of CFD The diesel engine is regarded as a thermodynamically efficient engine marketed for automotive use. However, due to the non-homogeneous mixture of fuel and air, diesel engines are also acknowledged as „dirty‟, since they produce extensive soot. Years of development has made the diesel engine controllable and effective, resulting in better fuel consumption and a cleaner engine. Nevertheless, due to the potential impact on the automotive industry, developing a clean diesel engine has been in the forefront of research for the past decade. A new emission standard has recently been proposed by the State of California to reduce the combined emissions of non-methane organic gas (NMOG) and nitric oxide (NOx) by 20% and particulate matter (PM) by 52% from the current standard (LEV II), active from 2014 through 2022 as shown in Fig.1.2.

Transcript of SIMULATION OF DIESEL SPRAY IN A CONSTANT VOLUME COMBUSTION CHAMBER USING OPEN FOAM CFD

1

Chapter 1

INTRODUCTION

All the mathematical sciences are founded on relations between

physical laws of numbers. so that the aim of exact science is to reduce

the problems of nature to the determination of quantities by operations

with numbers . When the Computational fluid dynamics (CFD) has

developed to the point where the complete three dimensional flow field

over the vehicle and through engines can be computed expeditiously

with accuracy and reliability.

Figure 1.1 Three dimensions of CFD

The diesel engine is regarded as a thermodynamically efficient engine

marketed for automotive use. However, due to the non-homogeneous

mixture of fuel and air, diesel engines are also acknowledged as „dirty‟,

since they produce extensive soot. Years of development has made the

diesel engine controllable and effective, resulting in better fuel

consumption and a cleaner engine. Nevertheless, due to the potential

impact on the automotive industry, developing a clean diesel engine

has been in the forefront of research for the past decade.

A new emission standard has recently been proposed by the State of

California to reduce the combined emissions of non-methane organic

gas (NMOG) and nitric oxide (NOx) by 20% and particulate matter (PM)

by 52% from the current standard (LEV II), active from 2014 through

2022 as shown in Fig.1.2.

2

Figure 1.2 EU Legislations for passenger cars

Automotive manufacturers will have to meet this regulation for all

new vehicles sold in the coming era. To achieve this requirement, the

industry must investigate a range of factors that can potentially reduce

engine emissions, including fuels, combustion process, chemical-

kinetics, in-cylinder flow, fuel-air mixture formation, sprays, engine

geometries, etc.

One of the solutions advanced in diesel engine applications is better

fuel droplet atomization and air-fuel mixture. The evolution of high-

pressure-injection technology will result in fine atomization and will

provide for better air-fuel mixture. Recently, the pressure of the

injection systems has reached 300 MPa or more, and a number of

researchers are showing interest in the performance of the ultra-high

pressure injectors. To study the effect of the ultra-high injection

pressure spray, characteristics such as spray penetration, Sauter

mean diameter (SMD) and fuel distribution should be carefully

investigated.

3

Nowadays, computational simulations have been adopted as a key

analysis tool in engine research to establish correlation with

experimental studies and provide newinformation for designers. A

significant advantage of using Computational Fluid Dynamics (CFD) is

the flexibility of simulation setups and the time and cost efficiencies

compared to experiments.Major CFD commercial codes that are

available in the market currently include ANSYS CFX, ANSYS

FLUENT,AVL FIRE and CD-adapco STAR-CD and STAR-CCM+,

whereas KIVA and OpenFOAM are becoming popular as open source

codes. OpenFOAM has been chosen in this study to take advantage of

its ability to simulate general flow problems. It offers different kinds of

models to evaluate engine characteristics.

At the first stages of this study, different sub models of the engine,

especially turbulence and spray models, were configured and the flow

field was simulated in an effort to gain a deeper understanding of these

complex flows. In the next stage, the spray model was integrated into

the in-cylinder flow to observe the outcome of the interaction between

the spray and the flow. The motivations of this project is to understand

the functionality and utility of the CFD code OpenFoam in spray

simulations .

.

.

4

Chapter 2

LITERATURE REVIEW

2.1. Introduction

The mechanisms of turbulent flow, fuel atomization, and the

interaction between fuel and air in a diesel engine are yet to be fully

understood. A number of researchers are presently studying the

characteristics of flow and fuel properties by using currently available

techniques and technologies. In this chapter, the characteristics of in-

cylinder flow and entrainment of air, the use of high injection pressure

spray, and its application in actual engine apparatus will be

highlighted and summarized. The reviews are followed by the

discussion of numerical sub models which are implemented in CFD

codes.

2.2. Previous Studies

Kato et al. and Yokota et al. have reported on experiments in the

ultra-high injection system at the primal stage of its technology. They

examined the effects of the injection pressure ranging from 55 to 250

MPa and also the variations of nozzle orifice and injection duration.

From their studies they concluded that the Sauter mean diameter is

correlated with the average injection pressure and also the change of

the injection pressure in time. Moreover, a shorter combustion process

and reduced soot formation are realized by utilizing the ultra-high

injection pressure and smaller orifice diameter. Nishida‟s research

group at the University of Hiroshima has conducted numerous

experiments utilizing various ultra-high injection pressures, micro-hole

nozzles, spray wall-impingement setup, and diesel and alternative

diesel fuels . Lee et al. experimentally and numerically investigated

free sprays at ultrahigh injection pressure in the range of 150 to 355

5

MPa. No significant change in the Sauter mean diameter on attaining

an injection pressure of 300 MPa, and a reduced growth rate of the

penetration length were reported Tao and Bergstrand studied the

effect of ultra-high injection pressures on engine ignition and

combustion using three-dimensional numerical simulations. The

advantage of high pressure injection in producing reduced ignition

delay, short combustion phase and fast flame propagation was

reported. Additionally, three different rates of injection profiles were

examined. Rate falling injection, for which the injection rate is

decreasing during the injection process, was found to shorten fuel

burn duration at the early stage of combustion and expand at the later

stage, and rate rising injection performed inversely. On the other hand,

rate rising injection estimated a wider flame area at high temperature

and reduced the NO formation due to faster cooling after combustion.

Flame lift-off lengths were observed to be constant at different injection

pressures in contrast to the case of injection in a constant volume

chamber. To study the characteristics of ultra-high injection pressure

sprays numerically, it is also important to understand the role of

different types of spray models. Comprehensive reviews of droplet

phenomena have been presented by Lin and Reitz . and Jiang et al.

The differences between popular breakup models have been discussed

by Djavareshkian and Ghasemi and Hossainpour and Binesh . They

reported on the implementation of WAVE (or Kelvin-Helmholtz) and

KH-RT (Kelvin- Helmholtz Rayleigh-Taylor) models, and found better

agreement with experimental data using KH-RT. The interaction of the

mesh, turbulence model and spray has been studied by Karrholm and

Nordin in a constant volume chamber.

2.3 Spray ignition/combustion modeling

The ignition processes can be conventionally divided in two groups:

auto-ignition which takes place when the combustible mixture is

6

preheated (e.g. by compression) on a large scale to the temperature

above the auto-ignition level, and forced ignition, when only as mall

part of the combustion volume is preheated (e.g. by a spark). The

processes following ignition in a combustible mixture can result in a

variety of different combustion regimes ranging from flame deflagration

(slow propagation) to different kind of detonations. Some of these

combustion regimes, if realized, can be extremely destructive . The

determination of initial and boundary conditions under which these

combustion regimes can be realized is still a difficult problem in the

modeling since it requires accounting for interaction of complex

chemical kinetics, molecular transport, turbulence, and heat transfer.

In the case of multiphase combustion, when fuel, oxidizer or products

are in the different phases, the modeling problem becomes even more

complex. Without these complications the ignition process could be

only the initial stage of the combustion process of a relatively short

duration characterized by the ignition delay times. The modeling

philosophy in this case is well established and proved to be effective

for a wide variety of applications. Moreover, many software tools

required to implement this methodology are available now. A common

element of the modeling strategy is a coupling of large reactive

chemical systems described by complex kinetic mechanisms with

computational fluid dynamics models realized in different geometries

(e.g. various kinds of reactors, combustion chambers, etc). We shall

follow this methodology to illustrate the ignition modeling of different

fuels in particular conditions:

the hot spot ignition of gaseous hydrogen/air/ steam mixtures

occupying compartments connected by a narrow passage,

auto-ignition of liquid automotive fuels (diesel oil, gasoline,

n-heptane, bio-diesel fuel) in a constant volume vessel at

conditions typical for internal combustion engines (ICE),

7

the evaluation of an impact of direct injection of small amount of

ethanol into a hot combustion chamber of the gasoline SI engine,

solid aluminum combustion in water/steam that releases heat

and pure hydrogen for advanced energy generating systems.

We shall start from the mathematical and physical model

formulations, construction and validation of chemical mechanisms for

different fuels discussing the tools and the results of their applications.

The simulation results are compared, in some cases, with experimental

data and the model applicability for the real cases will be discussed.

2.4 Thermodynamic Models

The models described in this chapter are called thermodynamic

models since they are based on the first law of thermodynamics and mass

balances only. The principles of momentum conservation are not

considered in this model type and spatial variations of composition and

thermodynamic properties are neglected. Thus, the entire combustion

chamber of an internal combustion engine is typically treated as a single,

homogeneously mixed zone. These assumptions obviously represent a

significant abstraction of the problem and prohibit the usage of

thermodynamic models in order to study locally resolved sub processes

such as detailed spray processes or reaction chemistry. However, the

great advantage of these models is that they are both easy to handle and

computationally very efficient. Therefore, they are still widely used in

applications where there is only interest in spatially and sometimes even

temporally averaged information and where computational time is crucial.

2.4.1 Single-Zone Cylinder Model

The name single-zone model comes from the fact that the contents

of the combustion chamber are assumed to be homogeneously mixed at

8

all times in this model. the mass balance for the combustion chamber can

be written as

(2.1)

and the energy balance yields

(2.2)

9

Fig. 2.1 Single-zone cylinder model

2.4.2 Phenomenological Models

While the thermodynamic combustion models are relatively easy to

handle and are characterized by a low computational effort, they are

lacking the ability to make predictions of the effects of important engine

parameters on combustion without prior measurements. The main

reasons for this deficiency are that major sub processes are either not

modeled at all or described by solely empirical correlations and that the

assumption of an ideally mixed combustion chamber makes it impossible

to estimate pollutant formation rates that are strongly affected by local

temperatures and mixture compositions. On the other hand, the

multidimensional CFD models that are based on the locally resolved

solutions of mass, energy, and momentum, conservation and that include

detailed sub models for spray and combustion phenomena, are

computationally expensive, and they demand that the user has a much

deeper understanding of the governing physical and chemical processes

in order to correctly interpret the simulation results. Moreover, the

predictive quality with respect to global quantities such as pressure traces

and apparent heat release rates is not necessarily better than with

simpler models.

This is because the many sub processes taking place inside a

combustion chamber are often interacting with each other such that

relatively small errors encountered within particular sub models may add

up to a considerable error in the overall result of the computation.

Consequently, there is a need for a third model category that allows to

execute time-efficient pre-calculations of heat release rates and exhaust

emissions as a function of important engine parameters, e.g. engine

compression ratio, boost temperature and pressure, injection timing and

pressure, EGR rates or swirl ratios of the intake charge. This category is

commonly referred to as phenomenological (or quasi-dimensional) models

10

and can be classified in between the thermodynamic and the

multidimensional models, Fig. 2.2. In these models the combustion

chamber is typically divided into multiple zones which are characterized

by different temperatures and compositions. The exact number of zones

considered depends on the chosen model approach and can range

between as few as two and as many as several hundreds. Because of this

spatial resolution albeit much coarser than in CFD-codes the heat

release rate does no longer have to be described by solely empirical

correlations like the Wiebe-function. Instead, it can be pre estimated

based on physical and chemical sub models for local processes like spray

formation, air-fuel-mixing, droplet evaporation, ignition and combustion

including pollutant formation. The advantage of phenomenological models

compared to CFD-models is that the simplifying assumptions made have

the effect that only ordinary differential equations with respect to time

have to be solved. This is in contrast to the partial differential equations

with respect to time and space that need to be solved in CFD-codes and,

in addition to the reduced spatial resolution and the sub models that are

typically not as detailed as the ones used in CFD-modeling, leads to a

substantial reduction in computing time which can be as significant as

three orders of magnitude, Fig. 2.3. However, the limitation of

phenomenological models is that the turbulent flow field inside the

combustion chamber is not resolved, and therefore the effects of

geometrical changes of the combustion chamber can generally not be

investigated with this model type.

It should be noted that phenomenological combustion models are

most practical to describe diesel engine combustion. This is because in

diesel engines the injection process, which can be described relatively well

with the phenomenological approach, has the dominant effect on mixture

formation and the subsequent course of combustion. In spark ignition

engines, especially in engines with external mixture formation where the

charge is already homogenously mixed at the ignition timing, combustion

11

is controlled by the propagation of a premixed flame front rather than by

mixing and diffusion phenomena. This flame front propagation is strongly

affected by the turbulence structure and is therefore hard to describe with

phenomenological models that do not resolve the three-dimensional

turbulent flow field. For the above reasons, the majority of models

discussed in the present are diesel rather than SI engine combustion

models.

Fig .2.2. Combustion model

12

Fig. 2.3. Model depths and approximate computing requirements of

combustion models

Various phenomenological spray and combustion models have been

proposed in the literature that are characterized by a fairly different level

of detail and hence by a different level of computing requirements.

However, the common purpose of all phenomenological models is to pre-

calculate the heat release rate from a known injection rate profile and to

establish a quasi-dimensional composition and temperature distribution

inside the combustion chamber in order to allow an assessment of the

formation rates of crucial diesel engine pollutants, i.e. nitrogen oxides and

soot. While in some models, e.g. in the packet , the calculation of gas

mixing, heat release and emission formation is closely coupled, there are

a number of other models where there are independent sub models for

these processes which can be combined almost arbitrarily as desired

by the user / programmer. For this reason, the following discussion of

phenomenological models will be structured into heat release and gas

mixing sub models as well as into wall heat transfer and pollutant

formation sub models. The latter two apply to all approaches in a similar

manner.

13

2.4.3 Packet Models

In the packet model that was originally proposed by Hiroyasu et al.

and later applied and extended by several other authors, the fuel jet

is described by numerous discrete so-called packets in an attempt to

model both the global geometry of the penetrating spray and detailed local

sub processes such as fuel atomization and evaporation, fuel-air mixing,

ignition, combustion and pollutant formation. The general model concept

is such that during the compression stroke there is only one zone that is

treated as ideally mixed within the combustion chamber. It contains fresh

air and, in case of an internal or extern al exhaust gas recirculation,

homogeneously mixed residuals. Once fuel injection has started, there are

continuously formed more spray packets that initially contain liquid fuel

only. The spray packets are arranged in a way that the spray is

discretized both in axial and in radial direction, Fig. 2.4. During injection

new axial spray slices are formed in equal time increments and therefore

the amount of fuel within each packet depends on the instantaneous

injection rate at the time of packet formation. The total number of packets

in axial spray direction depends on the injection duration. There is a

constant mass distribution as a function of the radial packet position.

After spray breakup fresh gases from the surrounding air zone are

entrained into the spray packets. Both fuel droplet evaporation and

combustion, i.e. heat release, take place within the borders and under the

local conditions of the each packets. Thus, there can be a mixture of

liquid fuel, vaporized fuel, fresh air and combustion products within each

spray packet. It is assumed that there is no mass or energy exchange

other than the air entrainment between the various packets. However,

there occurs heat transfer between each packet and the combustion

chamber walls. Mass and energy balances can then be solved for the air

zone and for all spray packets, separately. Therefore, each zone has its

14

own temperature and composition history, whilst the pressure is assumed

to be uniform over the entire cylinder volume and varies only with time.

(2.3)

Fig. 2.4. Schematic illustration of the packet spray model

2.4.4 Multidimensional Models of Spray Processes

Spray processes play an important role in many technical systems

and industrial applications. Examples are spray cooling, spray painting,

crop spraying, humidification and spray combustion in furnaces, gas

turbines, rockets, as well as diesel and gasoline engines, to name only a

few. Typical drop sizes in sprays vary over several orders of magnitude for

different applications. Figure 2.5 gives a qualitative classification of broad

spray c1asses. In internal combustion engines sprays are utilized in order

to mix the liquid fuel with air and increase its surface area for rapid

evaporation and combustion. For example, on a first order approximation

the evaporation rate is proportional to the overall surface area of the

liquid fuel, and thus, disintegrating a 2 mm drop into about eight million

droplets of 10 J/m increases the evaporation rate by a factor of 200.

Moreover, in direct injection engines (both diesel and spark ignition),

where the fuel is injected directly into the combustion chamber in order to

form an ignitable mixture with air, the spray is one of the most effective

15

measures to control the combustion process. The kinetic energy of the

spray represents the main source for turbulence production within the

combustion chamber, and therefore governs the micro scale air-fue1

mixing by turbulent diffusion as well as the flame speed of a premixed

flame front. The spray significantly affects the ignition behavior, heat

release and pollutant formation rates and thus the noise level, fuel

consumption and exhaust emissions of an engine.

Fig. 2.5. Typical drop sizes for various classes of sprays. A representative size distribution.

Therefore, a thorough understanding of spray processes is vital for the

design of modem combustion engines that are characterized by more and

more flexible injection rate shapes. However, at the same time spray

phenomena are very complex because the liquid fuel drop lets interact in

multiple ways with the turbulent gas phase and with the flame itself.

Moreover, engine combustion chambers wherein the sprays represent a

hostile environment that is hard to access with appropriate measuring

techniques without altering the geometry and thermal boundary

conditions experienced in the production engine. This makes it difficult to

assess the quality of spray models. Nevertheless or maybe for this specific

16

reason numerical simulations represent a powerful tool that can provide

valuable insight into spray processes and the complex interacting sub

processes involved. They allow access to any process or state variable at

any position at any given point in time. Thus, if validated for a certain

range of boundary conditions, spray models can effectively be utilized to

interpret available experimental data, and also to execute pre calculations

for altered operating conditions. The depth of analysis possible with spray

models has increased significantly over the past decades, in part, due to

dramatic advances in computer technology. This trend is likely to

continue such that spray modeling with CFD codes will be routinely used

in the development of new engines and combustion systems in the near

future.

2.4.5 Spray Regimes

A typical two-phase flow originated from a pressure atomizer can be

divided into different regimes as depicted in Fig. 2.6. Directly at the nozzle

orifice an intact care of the liquid phase can be identified. It rapidly

disintegrates into ligaments (churning flaw) and further into droplets, but

it still occupies a considerable fraction of the volume. Due to its density,

which is significantly greater than the density of the gas phase, the

contribution of the liquid phase to the total mass is even greater. This

spray region is generally referred to as thick or dense spray, very thin.

17

Fig. 2.6. Schematic illustration of different flow regimes

2.4.6 The Spray Equation

In typical diesel sprays the liquid fuel is atomized into a number of

up to 108 droplets with average diameters in the ten-micrometer range.

These numbers make it prohibitive to resolve each single droplet in

numerical simulations. Instead, some kind of statistical averaging

technique becomes necessary with additional sub models in order to

describe the subscale processes.

(2.4)

The temporal and spatial evolution of the distribution function is

described by a conservation equation which can be derived

phenomenologically in analogy to the conservation equations of the gas

phase . It is commonly referred to as the Spray equation and can be

written as:

(2.5)

2.5 Fundamentals of Multidimensional CFD-Codes

2.5.1 Direct Numerical Simulation (DNS)

The Navier-Stokes equations are generally valid for both laminar

and turbulent flows, and therefore the obvious and most accurate

approach would be to solve the equations directly on a discretized grid

that is fine enough to resolve the smallest length sc ales of the flow

problem. This method is called direct numerical simulation and

represents the simplest approach from a conceptual point of view. The

18

smallest length scales are defined by the size of the smallest eddies, that

are important for dissipation of turbulent kinetic energy and are

characterized by the viscously determined Kolmogorov length scale. This

length scale becomes smaller for increasing Reynolds numbers. An

additional constraint for the grid spacing in two phase flows may be

imposed by the size of the liquid drop lets contained in the gas phase.

For typical conditions inside an engine cylinder the above criteria would

require a grid point spacing of approx. 10 µm, resulting in a total of about

1012 grid points for a combustion chamber with a bore of 10 cm. However,

a reasonable number of grid points that can be handled with today' s

computer systems is in the range of 106. Even with the expected rapid

progress in computer technologies an increase of another six orders of

magnitude in computer power will not be possible in the foreseeable

future. Therefore, direct numerical simulation is not suitable for solving

engineering problems, but it is constrained to fundamental research

applications with relatively low Reynolds number flows and geometrically

simple domains . Nevertheless, DNS is useful in that it can provide

detailed information about any variable of interest at a large number of

grid points. These results may be regarded as equivalent of experimental

data and can be used to produce statistical information or to create a

numerical flow visualization. The wealth of information helps to get a

better understanding of the complex flow phenomena and can be used to

construct and validate other quantitative models, e.g. of LES or RANS

type, that will allow other, similar flows to be computed. Typical examples

of DNS applications are the ca1culation of relatively low Reynolds number

flows with a small number of species in a simple geometric domain,

2.5.2 Large Eddy Simulation (LES)

Large eddy simulation is an approach in which only the large-scale

eddies of the flow are resolved, in order to reduce the necessary number

of grid points. Consequently, the behavior of the smaller eddies needs to

19

be described by appropriate semi-empirical sub models. This procedure

seems reasonable since the large eddies, that are of the order of the

integral length scale, contain the major fraction of energy and are much

more important in the transport of the conserved quantities than the

smaller eddies. Moreover, the smaller eddies typically show a more

isotropic behavior and are therefore easier to assess by modeling

approaches than the large eddies directly resolved in LES. Figure 4.2

displays a qualitative comparison between direct numerical simulation

and large eddy simulation. Whereas DNS resolves all spatial and temporal

fluctuations of the flow, LES essentially represents a local average of the

complete field. Obviously, DNS is the preferred method whenever it is

feasible, because it is the more accurate method. LES is preferred in

applications where the geometry is more complex and where the Reynolds

number or the number of chemical species are too high for DNS.

The classification into large and small eddies is made by filtering

the flow field by a specific cutoff length scale, that is appropriate for the

problem. Since the small eddies are not resolved, the Navier-Stokes

equations are expressed in terms of averaged quantities similar to the

form obtained in the RANS equations described in the following

subsection. Sub models are then needed to estimate the local mean

fluctuations of the small-scale turbulence which is done by so-called sub

grid-scale (SOS) Reynolds stress models. Several different types

of such semi-empirical SOS models have been proposed in the past.

It should be noted that a number of difficulties still exist in LES. To

begin with, the selection of the cutoff length scale ,one is not

straightforward. In many problems the Reynolds number and thus the

characteristic length scales are not constant over the entire geometry

domain. Moreover, the flow structure near walls is typically highly

anisotrope . All this means that the appropriate and the resulting grid

20

resolution have to be carefully adjusted to a particular flow problem. with

respect to computer power and memory the programs are typically

designed for a particular purpose, i.e. they are written for a specific

geometry and contain special programming elements designed to obtain

the highest performance on a particular machine.

Fig. 2.7 Schematic representation of turbulent motion (Left) and the time dependence of a velocity component at a specific spatial position (right) .

Fig.2.8. Reynolds-averaging for an unsteady flow

While LES methods are less costly than DNS, they are nevertheless still

very expensive in terms of computer time. Therefore, their application is

currently limited to more fundamental research tasks as opposed to

studies of general engineering problems. However, LES models have been

applied to investigate specific problems in engines as well, e.g. turbulent

diffusion combustion in diesel engines , and this trend is likely to be

21

extended with more powerful computer technology becoming available in

the future.

2.6 Spray Atomization

Engine fuel injection systems the fuel typically leaves the injector

nozzle in a more or less continuous liquid phase that can obviously not be

reproduced with the Lagrangian discrete droplet approach. Therefore,

additional sub models are necessary in order to describe the breakup

processes that lead to the formation of droplets, before the DDM can be

applied. This procedure seems reasonable since in high pressure injection

systems the disintegration of the continuous liquid phase into small

droplets starts very close to the nozzle orifice. Thus, the impact of the

intact liquid core on the gas phase is extremely small compared to the

influence that the dispersed liquid droplets have on the gas phase in the

entire spray. Two different types of liquid breakup into ligaments and

droplets are typically distinguished. The first kind of breakup occurs at or

in direct vicinity of the injection nozzle orifice, i.e. in the region that has

been scaled up in the bottom part of Fig. 2.10. It is referred to as spray

atomization or primary breakup and will be discussed in the present

section. The primary breakup describes the breakup of the intact liquid

phase into first ligaments and droplets. Later on, the relatively large initial

droplets can be further distorted and subsequently broken up into

smaller secondary droplets. This kind of breakup is termed secondary

breakup and will be discussed in later section. Typically, the secondary

breakup takes place a little further downstream of the nozzle, i.e. within

the thick, thin, and very thin spray regimes indicated in the schematic

illustration of Fig. 2.10.

2.6.1 Atomization model

A hybrid model for the atomization of the liquid fuel jet was

developed and tested in previous work . It distinguishes between jet

primary breakup and droplet secondary breakup. For the latter different

22

models are used as the droplet Weber number changes. For the low

pressure case the Wave breakup model was adopted to simulate liquid

core atomization. For high-pressure sprays the effects of jet turbulence

and cavitation on liquid core primary breakup are considered. In order to

distinguish between primary and secondary breakup the following

assumptions have been made:

• primary blobs may undergo primary breakup;

• the secondary droplets formed may undergo secondary breakup;

• the primary blobs that have lost the 80% of the initial mass may

undergo secondary breakup.

The flow model was used to evaluate the occurrence of cavitation

and the level of turbulence in the injector. Initial blob size, velocity and

related k and E are estimated. Then Gosman's approach is followed, but if

cavitation does occur it is taken into account since it affects turbulence

and related values of k and E in the injector. The model also takes into

account exponential growth by K-H instabilities due to interaction with

air, so the three main mechanisms are considered.

1. The WAVE model is based on a stability analysis of liquid jets. It

can be used to simulate the primary atomization of the liquid

core in the regimes in which jet breakup is governed by

aerodynamic interaction with air (low-medium injection pressure

case).

2. The TAB and DDB models are based on the dynamic of a single

droplet and they can be therefore considered as secondary

breakup models. Since in the first the breakup is due to the

amplification of droplet deformation resulting from vibrational

resonance of the surface, this model has been chosen to predict

the droplet breakup in the Vibrational regime. The latter is a

deformation-induced secondary breakup model and it is used in

the Bag regime.

23

3. The R -T model considers Rayleigh-Taylor instabilities that arise

on very high-speed droplet surfaces and therefore it can be

adopted to model droplet secondary breakup in the catastrophic

regime in competition with a K-H instability based model

(WAVE). The WAVE model is based on the physics of a liquid

column (primary breakup) but, since it considers K-H instability

effects, it can be also used to simulate the breakup of secondary

droplets in those regimes in which it may be ascribed to the

shear forces at the interface.

Therefore, the WAVE model was chosen to model secondary breakup in

the Stripping and in the Catastrophic regimes in competition with the RT

model (Table 2.1). In the Chaotic regime, in which bag breakup and

stripping coexist, a competition between DDB model and Wave model was

implemented. All the models have been used with the original constants

values, except for the WAVE model, in which a customized value of the

size constant (Bo=0.59) has been fixed according to previous work and

the time constant is set equal to 80 for the low injection pressure range

and to 15 for the high injection pressure range.

24

Table 2.1 Hybrid atomization model.

25

Fig. 2.9 Atomizers and their applications

26

Fig. 2.10 Structure of a hollow cone spray

Fig. 2.11 Sketch of a near-injector region of a pressure-atomized spray in

the atomization breakup regime

27

Figure 2.12 shows two main regimes during droplet breakup for full

cone sprays.In region A, droplets detach from the intact liquid core, this

process is called primarybreakup. It mainly occurs through Kelvin-

Helmholtz (KH) instability at the dropletsurface, and it results from the

relative velocity between the gas and the liquid phase.Once the droplet is

detached from the intact liquid core, secondary breakup follow through

Rayleigh-Taylor (RT) instabilities resulting from a dense, heavy fluid being

accelerated by the light fluid. Reitz‟s wave breakup model is widely used

to account for droplet breakup processes. This method considers the

shearing-off of droplets due to the growth of KH instabilities on the

droplet surface. Wavelength and growth rate of the instabilities are used

to determine breakup time and details of the new droplets. Su et al.

improved the wave breakup model taking into account both the KH and

RT instabilities. Chryssakis and Assanis give a unified fuel spray breakup

model for internal engine combustion,

Fig. 2.12 Kelvin-Helmholtz(KH) and Rayleigh-Taylor(RT) instabilities

28

where the breakup regimes are characterized through Weber and

Ohnesorge numbers. Ko and Ryou developed a new model for droplet

collision-induced breakup accompanied by the formation of satellite

droplets. Important regimes such as bounce, coalescence, and stretching

as well as reflexive separation are identified and included.

2.7 Breakup Regimes

The primary breakup of liquid jets at the nozzle exit can be caused

by a combination of three mechanisms:

turbulence within the liquid phase,

implosion of cavitation bubbles ,

aerodynamic forces acting on the liquid jet .

Due to the pressure drop across the injection nozzle the liquid fuel

is accelerated within the small nozzle holes. Thereby a high level of

turbulence is generated within the liquid phase that has a destabilizing

effect on the jet once it exits the nozzle hole. Additionally, at sharp edges

along the flow path inside the nozzle, e.g. at the inlet of the nozzle hole,

the streamlines are contracted such that the effective cross-section the

flow is reduced and its velocity is accelerated even more. According to

Bemoulli' s law this causes a reduction in the static pressure, and locally

the static pressure may be decreased to a value as low as the vapor

pressure of the fuel. This phenomenon is schematically shown in

Fig. 2.13, where the theoretical (linear) pressure distribution inside the

nozzle hole is compared to a more realistic distribution along a

streamline. The effect is that cavitation bubbles are generated inside the

injection nozzle. This can be seen in Fig.2.13 which shows an exemplary

photograph of a cavitating flow through an acrylic glass nozzle. The

cavitation bubbles are swept out of the nozzle into the combustion

chamber where they implode and contribute to the disintegration of the

spray. The third mechanism is that the relative velocity between the liquid

jet and the gas results in aerodynamic forces that act on the liquid

29

surface. Therefore, surface disturbances develop and start to grow that

lead to breakup as weIl. Depending on injection parameters such as the

relative velocity between liquid and gas, the liquid and gas densities and

the liquid viscosity and surface tension, the relative contribution of each

of the three above mechanisms to the spray breakup varies, and several

different breakup modes can be identified. They are characterized mainly

by different breakup lengths, i.e. the distance between the nozzle orifice

and the breakup position, and by the sizes of the resulting droplets.

Fig. 2.13. Schematic illustration of cavitation formation inside the nozzle hole

30

A widely agreed classification of breakup regimes has been

proposed by Reitz and Bracco in terms of the above injection parameters

and fluid properties. For general applicability those quantities are

expressed through the dimensionless Reynolds, Weber and Ohnesorge

numbers, defined as

(2.5)

(2.6)

(2.7)

Figure 2.14 shows a schematic illustration of jet breakup in the

characteristic breakup regimes. For relatively low injection velocities the

Rayleigh breakup (a) is primarily governed by the inertia forces on the

oscillating liquid and by its surface tension. The breakup length is far

(many nozzle diameters) downstream of the nozzle orifice and the

diameter of the resulting drop lets is greater than the nozzle diameter.

In the first wind induced breakup regime (b) the inertia of the gas phase

becomes more and more important. Surface disturbances are caused by

the gas liquid interactions that increase in amplitude and eventually lead

to breakup. The average drop size decreases and is now in the range of

the nozzle diameter. The breakup length is still a multiple of the nozzle

diameter. For further increased injection velocities the second wind

induced regime is reached. In Fig. 2.14 it has been combined with the

first wind induced regime since the basic mechanisms leading to breakup

are similar. The main difference is that as the relative velocity between

31

liquid and gas increases the aerodynamic forces acting on the liquid

surface are intensified and the wavelength of the disturbances becomes

shorter. Therefore, the average droplet diameter is reduced in the second

wind induced regime and the breakup length decreases compared to the

first wind induced regime.

Fig. 2.14. Schematic depiction of breakup modes. a) Rayleigh breakup

b) Wind induced breakup c) Atomization

Finally, for increased gas densities and large injection velocities the

gas phase Weber number increases further and the atomization regime is

reached (c). In this regime two different breakup lengths can be identified:

the surface breakup begins directly at the nozzle orifice whereas an intact

core may still be present several nozzle diameters downstream of the

orifice. Furthermore, a conical shape of the overall spray is now observed.

The mean droplet diameters are much smaller than the nozzle diameter.

32

The atomization regime is the most important for high pressure diesel

injectors. However, a detailed experimental assessment of the primary

spray breakup directly at the nozzle is extremely difficult because the

spray is very dense and almost opaque at this position. Therefore, the

detailed mechanisms that lead to primary spray breakup or atomization

at the nozzle of modern diesel engine injection systems with injection

pressures of up to 200 MPa are still not exactly understood. However,

there is a general agreement that as the injection pressure increases, the

effects of the inner nozzle flow such as the liquid phase turbulence and

cavitation become more and more important.

2.8 Wave-Breakup Model

It has been discussed above that the development and

aerodynamically driven growth of surface disturbances on the liquid

phase is an important if not the dominant mechanism for breakup of jets.

Vital contributions to deriving the theory behind this phenomenon and to

establishing a coherent and continuous breakup model have been made

by Reitz and co-workers. Since this so called wave-breakup model (also

referred to as Kelvin-Helrnholtz breakup model) is widely applied in

primary as well as in secondary breakup models it will be summarized

here. The analysis starts out from a cylindrical liquid jet of radius a that

penetrates through a circular orifice into a stationary incompressible gas

environment, Fig. 2.15. The liquid surface is subject to a number of

infinitesimal perturbations with an initial amplitude of ηo and a spectrum

of wavelengths λ typically expressed through the wave number k = 2π / λ

The initial disturbances may be caused by effects of the inner nozzle flow,

e.g. by turbulence within the liquid phase. Their amplitudes will be

increased exponentially by the liquid-gas interactions with a complex

growth rate of ω=ωr +i ω i

33

(2.8)

Assuming that the gas phase behaves as an inviscid fluid, i.e. there is free

slip at the liquid-gas interface, and that the perturbations are much

smaller than the jet radius (η<<a) the so-called dispersion relation can be

derived, that relates the growth rate m to the wave number k .

Fig. 2.15. Schematic growth of surface perturbations in the Wave-breakup model

(2.9)

In the above equation la and ka are the nth order modified Bessel

functions of the first and second kind, respectively. Even though the

perturbations of different wave lengths will superpose each other in the

real jet, it is assumed that only the fastest growing perturbation,

indicated by growth rate n, that corresponds to the wave length λ will

ultimately lead to breakup. However, Eq. 2.9 is difficult to solve for a

34

maximum value of ω. since I is still a function of ω. To simplify the

problem, Reitz generated curve-fits of numerical solutions to Eq. 2.9 and

obtained the following expressions for the maximum growth rate n and its

corresponding wave length λ:

(2.10)

(2.11)

2.9 Blob-Injection Model

Reitz applied the above Wave-breakup model to high speed diesel

jets by assuming that during the injection duration there are

continuously added large drops (so-called blobs) with a diameter

comparable to the size of the nozzle hole to the gas phase. The frequency

of the addition of new blobs is related to the fuel injection rate in a

straightforward manner, assuming constant density of the liquid fuel

and ideally spherical blobs. immediately after injection the Kelvin-

Helmholtz instabilities described by the wave-model start to grow on the

blob surface, such that small secondary droplets are "sheared off' the blob

surface as shown in Fig. 2.16.

35

Fig. 2.16. Schematic illustration of the blob-injection model

The calculation of the fastest growing wave length λ and its

corresponding growth rate n is executed in analogy .

(2.12)

the relation was suggested to estimate the resulting droplet radii with a

value of Bo = 0.61 in the stripping breakup regime. For higher injection

velocities and catastrophic breakup in the atomization regime, which is

typical for diesel type injectors, Liu et al. proposed the formulation

(2.13)

where P is a random number within the interval between zero and

one. By this method a distribution of drop let sizes is obtained which is

more realistic for breakup of high speed jets. In both cases a bi-modal

droplet size distribution is obtained for the complete spray, consisting of a

number of larger droplets remaining from the original jet and a number of

small drop lets resulting from the above Kelvin-Helmholtz breakup.

36

may be used only if the resulting droplet diameter is less than the radius

of the remaining parent drop, i.e. if (Bo λ <a). Otherwise, the resulting

radius of the newly formed droplet is estimated by

(2.14)

which is based on the assumption that the jet disturbance has a

frequency of ω/2π, i.e. one drop is formed each wave period, or that the

drop size is determined from the volume of liquid contained under one

surface wave. Due to the breakup and generation of new small droplets,

the size of the original blob is reduced. The temporal change in radius of

this parent drop is given by

(2.15)

where is the breakup time:

(2.16)

The constant B1 has been introduced in order to account for effects of the

inner nozzle flow on the breakup time that cannot be resolved directly, a

value of B1= 20 has been suggested whereas other references reported

better results with values ranging from 1.73 up to 30 . This suggests that

the inner nozzle flow has indeed an influence on primary spray breakup

in addition to the liquid-gas interactions that is not yet included in the

breakup analysis. In order to reproduce the spray co ne angle observed in

diesel type sprays the child drop lets separated from the initial blobs are

equipped with a velocity component perpendicular to the main spray

orientation. Reitz suggests to choose an even distribution between zero

37

and the maximum normal velocity for the various droplets in order to

achieve a realistic drop let density within the spray. In many recent

applications of the blob injection method the above Wave- or Kelvin-

Helmholtz breakup model has been combined with the so-called Rayleigh

Taylor breakup model in order to estimate the disintegration of the blobs

into secondary droplets. The Rayleigh-Taylor model describes the

instabilities that develop on a liquid-gas interface subject to strong

normal accelerations pointed towards the gas phase. However, the

disintegration of large drops into small drop lets is considered a

secondary breakup mechanism .It should be noted here, that the Kelvin-

Helmholtz mechanism may be viewed as a secondary breakup mechanism

as well, since it describes the breakup of large drops or blobs into smaller

droplets. In fact, the model is used not only to estimate the disintegration

of primary blobs but also to model the sub sequent breakup of secondary

drop lets into even smaller droplets.

2.10 Turbulence and Cavitation Based Primary Breakup Model

In the above Wave-breakup model the influence of the inner nozzle

flow on atomization of high speed jets cannot be predicted. The entire

breakup analysis is based on aerodynamic interactions between the liquid

and gas phases, and modified initial conditions that may be caused by

different nozzle designs can only be included by adjusting empirical

constants to experimentally obtained data. However, comprehensive

studies on this subject show that effects of the inner nozzle flow such as

liquid phase turbulence and cavitation do have an increasing influence on

primary spray breakup for modem high pressure diesel. As an example, in

Fig. 2.17 it can be observed that the spray angle on the upper side of the

spray is greater than at the bottom side. This effect is likely to be caused

by the cavitation inside the nozzle hole which is much more pronounced

on the upper side of the hole because of the sharper edge at the nozzle

hole inlet.

38

Fig. 2.17. Schematic illustration of the two-zone primary breakup model primary

ligament

2.11 Sheet-Atomization Model for Hollow-Cone Sprays

In direct injection spark ignition (DISI) engines pressure swirl atomizers

are often utilized in order to establish hollow cone sprays. These sprays

are typically characterized by high atomization efficiencies, i.e. by small

droplet diameters and effective fuel-air mixing that can be realized with

only moderate injection pressures in the range of 5 to 10 MPa. A

schematic illustration of such an injector is shown in Fig. 2.18. Due to

tangentially arranged inflow ports the fuel is set into a rotational motion

within the injector. The resulting centrifugal forces lead to the formation

of a liquid film near the injector walls, surrounding an air core at the

center of the injector. Outside the injector nozzle the tangential velocity

component of the fuel is transformed into a mostly radial component such

that a cone shaped sheet results. Due to mass conservation this sheet

thins as it departs further from the nozzle and moreover, it is subject to

aerodynamic instabilities that cause breakup into ligaments, Fig. 2.18.

The ligaments then quickly breakup further into droplets. This process is

driven by aerodynamically induced instabilities on the ligament surfaces

as well, such that there is a general similarity to the diesel type breakup

described by the wave-model above.

39

Meyer and Weihs conducted a study on the effect of the inner to outer

radius ratio of annular sheets, i.e. the relative sheet thickness compared

to the curvature of the annulus, on the governing breakup mechanisms of

such annular liquid sheets. They concluded that there is a critical sheet

thickness, defined in terms of the surface tension a smaller thickness the

annular jet may be treated as a thin planar (two dimensional)

sheet. engines such that breakup can be treated in analogy to the

findings of Squire ,who showed that instability and breakup of planar

sheets are caused by the growth of sinuous waves, as depicted in

Fig. 2.18. In many numerical studies on gasoline direct injection engines

utilizing pressure swirl atomizers, the primary spray breakup is modeled

with the so-called LISA (linearized instability sheet atomization)

model, that follows the above considerations and was presented in detail

by Senecal et al..

Fig. 2.18. Schematic illustration of a pressure swirl injector

40

Fig. 2.19. Schematic sheet and spray formation with a pressure swirl injector

2.12 Secondary Droplet Breakup

The secondary breakup of liquid fuel drops into even smaller drop

lets is primarily driven by aerodynamic forces employed on the drops by

the surrounding gas phase. These forces cause a distortion of the initially

spherical droplet that will eventually lead to breakup if the surface

tension that counteracts the deformation is exceeded. Consequently, the

dimensionless droplet Weber number, which relates the dynamic pressure

to the surface tension and is defined as,

(2.17)

41

Depending on the relative velocity between droplet and gas phase, and

thus depending on the Weber number, several different breakup

mechanisms have been observed in experimental studies. Often the five

different breakup regimes schematically shown in Fig. 2.20 are

distinguished. For very low Weber numbers near the critical value of

about six the droplet executes an oscillation and may breakup into two

new droplets of approximately equal size. If the Weber number is slightly

increased the original drop will be deformed into a bag shape. After

breakup a bimodal droplet size distribution will result with larger drop

lets originating from the rim and smaller ones originating from the trailing

edge. For Weber numbers between approx. 10 and 25 an additional

streamer-shaped interior may develop within the bag, leading to a class of

drop lets with a similar size to the ones resulting from the rim of the bag.

Stripping breakup occurs for Weber numbers between 25 and 50. It is

characterized by very small secondary droplets that are stripped or

sheared off the surface of the bigger parent droplet. Finally, for large

Weber numbers above about 50 the so-called catastrophic breakup takes

place. It is dominated by surface instabilities that develop on a liquid-gas

interface subject to strong accelerations in a direction normal to the

interface. It should be noted though that there is some uncertainty about

the limiting Weber numbers, especially towards the high-end of Weber

numbers between the stripping and catastrophic regimes. For example,

Arcoumanis et al. distinguish two different kinds of stripping breakup,

namely the sheet stripping and the wave crest stripping regimes, and

extend their applicability to significantly greater Weber numbers such

that catastrophic breakup does not occur until a value of We < 500 is

exceeded. In high pressure diesel or gasoline sprays all of the above

mechanisms may be present. Starting close to the injector orifice the

relative velocity between droplets and gas and thus the Weber number is

very large, such that catastrophic breakup is the dominant mechanism.

However, further downstream of the nozzle droplets with significantly

42

smaller Weber numbers may be present because of both lower relative

velocities and smaller diameters resulting from previous breakup and

evaporation

Fig. 2.20. Drop breakup regimes

A variety of mathematical models for drop breakup have been

proposed in the literature. Most of these models have been established in

order to describe one particular of the above breakup mechanisms.

Nevertheless, in engine spray simulations they are - for the sake of

simplicity - often applied to the entire spectrum of breakup regimes. This

is not entirely true though. In recent years it has become more and more

standard to determine the governing breakup mechanism for a droplet

class and then apply the more appropriate of at least two breakup

models, e.g. a combination of the Kelvin-Helrnholtz and the Rayleigh-

Taylor model. In the subsequent sections the secondary breakup models

that are applied most often in engine spray simulations will be discussed.

43

2.13 The Reitz-Diwakar Model

In a first attempt to include secondary drop let breakup in CFD

spray calculations Reitz and Diwakar utilized the findings of Nicholls ,

who experimentally determined the criteria for bag and stripping breakup

as :Bag breakup We>6

The Weber number is defined as specified in Eq. 2.18, and the

Reynolds number Is

(2.18)

The corresponding lifetimes for unstable droplets are given as

(2.19)

where the constants Cl and C2 are of order unity.

Whenever one of the breakup criteria is satisfied for a drop let dass

for longer than the respective breakup time, it is assumed that the

original droplet is disintegrated into a number of smaller drop lets. All

child droplets are of equal size. It is determined from equating the

respective breakup criterion to its critical value and by solving it for the

droplet diameter. Thus, it is assumed that the new child droplets are

initially in a state that is just stable.

44

(2.20)

2.14 The Taylor-Analogy Breakup Model

Based on the Taylor analogy , that assumes that the droplet

distortion can be described as a one-dimensional, forced, damped,

harmonic oscillation similar to the one of a spring-mass system O'Rourke

and Amsden proposed the so-called TAB (Taylor Analogy Breakup) model

and implemented it into the KIVA-code. In this model the momentary

droplet distortion is characterized by the dimensionless parameter

y = 2x/r,

where x describes the deviation of the droplet equator from its

equilibrium position,. Assuming that the liquid viscosity acts as a

damping element and the surface tension as are storing

force, the equation of motion can be written as

(2.21)

2.15 The Kelvin-Helmholtz Breakup Model

Reitz has shown that the wave-breakup theory describing the

development of Kelvin-Helmholtz (KH) instabilities on a jet surface can be

also be applied to model the secondary breakup of droplets. The complete

formulation has already been given above, but it should be noted that for

a specific adjustment of the breakup time constant Bo the same results

can be recovered than from the TAB model. The breakup time was given

in Eq. 2.22 as

45

(2.22)

2.16 The Rayleigh-Taylor Breakup Model

The Rayleigh-Taylor (RT) breakup model is based on theoretical

considerations of Taylor , who investigated the stability of liquid-gas

interfaces when accelerated in a normal direction to the plane. Generally,

it can be observed that the interface is stable when acceleration and

density gradient point to the same direction, whereas Rayleigh-Taylor

instabilities can develop if the fluid acceleration

(2.23)

has an opposite direction to the density gradient. For a liquid droplet

decelerated by drag forces in a gas phase this means, that instabilities

may grow unstable at the trailing edge of the droplet.

46

Chapter 3

THE CFD MODEL FORMULATIONS

The numerical simulation of combustion phenomena is based on

four separate, but coupled systems involving in multi-phase

combustion systems: the fluid mechanics described by the

conservation equation of continuum mechanics, the chemical reactions

between species making up the fluid and spray and droplet dynamics

which is the consequence of interaction between liquid fuel and gas.

And, finally, the systems referred as a set of turbulence modeling

equations. The main conservation equations (taking in a form as they

are implemented in the 3-D CFD KIVA-3V code) KIVA, a transient,

three-dimensional, multiphase, multi-component code for the analysis

of chemically reacting flows with sprays has been under development

at the Los Alamos National Laboratory. The code uses an Arbitrary

Lagrangian Eulerian (ALE) methodology on a staggered grid, and

discredited space using the finite-volume technique. The code uses an

implicit time-advancement with the exception of the convection terms

that are cast in an explicit, second-order monotone scheme. Also, the

convection calculations are sub cycled in the desired regions to avoid

the time step restriction due to Courant conditions. Arbitrary numbers

of species and chemical reactions are allowed. A stochastic particle

method is used to calculate evaporating liquid sprays, including the

effects of droplet collisions and aerodynamics breakups. Although

specifically designed for performing ICE calculations, the modularity of

the code allows it for easy modifications for solving a variety of

combustion problems. Another CFD code used for the comparative

study was the C++ FOAM code which has options for spray

combustion modeling. The FOAM code was applied only for one

problem and the attempt is made to use the models which are

47

consistent, in general, with the numerical and physical models

implemented in the KIVA-3V code. The identical combustion

mechanisms (n-heptane oxidation) were implemented in both codes.

3.1. Governing Equations

The mathematical model of fluid flow and heat transfer in general is

developed from the conservation laws of physics: conservation of mass,

Newton‟s second law, and first law of thermodynamics . These laws are

expressed as:

3.1.1. Reynolds Averaged Navier-Stokes (RANS) Equations

The random nature of turbulent flow contains a large number of

phenomena. To reduce the cost of calculation, the solution of

instantaneous (exact) Navier-Stokes equations are decomposed into

time-averaged (mean) and fluctuating components .

For velocity,

and for pressure, energy, species and other quantities,

48

Substituting the above into the continuity and momentum equations

and taking time-averaged results to obtain the time-averaged

equations yields To capture the characteristics of turbulence in the

flow, a number of turbulence models have been formulated and are

commonly used. Three common approaches to simulate turbulent

flows include Reynolds Averaged Navier-Stokes (RANS) equations,

Large-Eddy Simulations (LES) and Direct Numerical Simulation (DES) .

Though LES has become popular, RANS is still favored in the industry

due to its economy, robustness and reasonable accuracy in a wide

range of turbulent flows. Further, three different turbulence models

are commonly used in RANS modeling and are briefly described below.

3.1.2. Standard k-ε model

The standard k-ε is a classical model which is based on transport

equations for the turbulence kinetic energy (k) and its dissipation rate

(ε):

where the turbulent (or eddy) viscosity, μt, and the production of

turbulence kinetic energy, Gk, are given as

49

By default, the model constants C1ε, C2ε, Cμ, and the turbulent

Prandtl numbers σk and σε

are determined as follow to accommodate a variety of flow problems.

3.1.3. Renormalization Group (RNG) k-ε model

RNG k-ε is a more refined model than the standard k-ε model,

developed using a statistical technique. The differences between the

two models are:

An additional term is introduced in the dissipation equation to

improve the accuracy in rapidly strained flows.

The accuracy of the swirl flow is improved.

An analytical formula for turbulent Prandtl numbers (inverse effective

Prandtl numbers, αk and αε) is added where the standard k-ε uses

adjustable constants.

Effective viscosity, μeff, is also analytically derived to handle the low-

Reynolds number case.

The equations for the RNG k-ε model are:

50

The dissipation equation can be rewritten as

The model constants of the RNG k-ε model, C1ε, C2ε, Cμ, αk, αε, η0

and β, are given as

below.

C1ε = 1.42, C2ε = 1.68, Cμ = 0.0845, αk = αε = 1.393, η0 = 4.38 and

β = 0.012.

3.1.4. Standard k-ω model

The standard k-ω model (or Wilcox k-ω model) is another two-

equation RANS turbulence model which replaces the rate of dissipation

of turbulent kinetic energy in the k-ε model by the turbulence

frequency (or specific dissipation rate), ω = ε/k. The equations have

forms similar to the k-ε model:

51

where the eddy viscosity is given by

and the rate of production of turbulent kinetic energy is

The standard k-ω model has the model constants, the turbulent

Prandtl numbers σk and σω,

and non-dimensional constants γ1, β* and β1, which are given as

below.

αk = αε = 2.0, γ1 = 5.53, β* = 0.09 and β1 = 0.075

3.1.5. Detached Eddy Simulation (DES) Model

Detached Eddy Simulation (DES) is also explored in this research to

benchmark the flow inside a cylinder. The DES model is a three-

dimensional unsteady numerical algorithm which incorporates RANS

and Large-Eddy Simulation (LES) into the flow calculation . It is

generally referred to as a hybrid RANS/LES method as the LES mode

52

(subgrid-scale or SGS function) is utilized in the separated region

whereas the RANS mode prevails in the boundary-layer region. In this

study, the DES model based on the one-equation Spalart-Allmaras

RANS model has been used. In RANS mode, DES replaces the length

scale of the model, the distance to the closest wall, d, by the following

equation:

where Δ is the largest grid spacing in a cell and the empirical

constant CDES is taken as 0.65. The method determines the modes by

comparing the grid spacing and the wall distance to the thickness of

the turbulent layer, δ. In case the layer is thin compared to the grid

spacing (δ « Δ) and the wall distance (δ « d), DES is in RANS mode. If

the grid is fine (δ ≥ Δ), then DES is operated in LES mode .

3.2 Spray and Breakup Models

In CFD, spray mechanisms are represented by mathematical models.

Two approaches, Euler-Lagrange and Euler-Euler, are used in

multiphase flows. In both of these approaches, the fluid phase is

regarded as a continuum and modeled by the Navier- Stokes

equations. For the Euler-Lagrangian approach, the Lagrangian discrete

phase model is introduced in general CFD codes to calculate the

disperse phase by tracking particles, droplets or parcels . The

trajectories of particles in a turbulent flow field are predicted by the

turbulent dispersion models. To reduce the computational time of the

particle collision calculation, the O‟Rourke algorithm is employed . The

outcomes of collisions are also determined by this algorithm, i.e.,

whether the droplets coalesce or reflect apart .The mathematical model

of the droplet evaporation is mostly concerned about the phase of fuel

vapor diffusion from the surface of the droplet into the ambient gas.

Two models are often utilized by researchers. The hydrodynamic model

53

focuses on the diffusion of droplet to control its vaporization and the

kinetic model is concerned with the molecules‟ detachment from the

surface of a droplet . The disintegration of existing droplets is modeled

to numerically simulate different kinds of breakup modes. The Taylor

Analogy Breakup (TAB) model, a classical breakup model proposed by

O‟Rourke and Amsden using the analogy of an oscillating spring-mass

system, is used in low Weber number cases and is appropriate in low

speed sprays. WAVE or Kelvin-Helmholtz (KH) instability model and

Kelvin-Helmholtz Rayleigh-Taylor (KH-RT) instability model , known as

a hybrid model, are favored in high speed high Weber number (We

>100) fuel-injection models. KH-RT incorporates the effects of

aerodynamic breakup and instabilities of droplet acceleration; thus, it

is capable of handing both TAB and WAVE models. Recently, there

have been many hybrid models developed by combining different

breakup models to estimate the spray characteristics accurately over a

variety of Weber number . In ANSYS FLUENT 13.0, TAB, WAVE and

KH-RT models are available. The two latter options are the most

suitable in this study due to the high Weber number condition. In the

next subsections, both of these models are discussed in detail to

estimate the coefficients of the models.

3.2.1. WAVE Model

Reitz developed a model called WAVE based on droplet breakup due

to the relative velocity between the gaseous and liquid phase. The

model is formulated from the Kelvin-Helmholtz instability‟s wavelength

and growth rate to determine the size of the droplets. The model is

limited by Weber number, We, which must be larger than 100 so that

Kelvin-Helmholtz instability is dominant in the droplet breakup. The

maximum wave growth rate (also the most unstable surface wave), Ω,

and corresponding wavelength, Λ,are defined as,

54

the Ohnesorge number, T is the Taylor number, U is the relative

velocity between droplet and gas and r0 is the radius of the

undisturbed jet. We and Re are the Weber number and the Reynolds

number and subscripts l and g represent liquid and gas phase,

respectively. The radius of a newly formed droplet from a parent

droplet during the breakup process is assumed proportional to the

wavelength ΛKH,

The constant B0 is set equal to the experimentally determined value

of 0.61. Additionally, the rate of change of the parent droplet is defined

by

where the breakup time, τKH, is given by

The breakup time constant B1 is an adjustable variable which is

recommended to be in the range of 1.73 to 60 [38, 41, 42]. Larger

values of B1 produce fewer breakups and more penetration. An

estimation of the B1 factor has been proposed by Liu et al. [43]:

55

where ΔP is pressure difference in the nozzle hole and ρa is the density

of ambient air. However, Liu et al. [43] conclude that Eq. (29) does not

determine the value of this constant qualitatively and recommend that

it should be used only as a first guess.

3.2.2. Kelvin-Helmholtz Rayleigh-Taylor (KH-RT) Model

The KH-RT instability model is a combination of Kelvin-Helmholtz

(KH) instability and Rayleigh-Taylor (RT) instability models. Both

Kelvin-Helmholtz and Rayleigh-Taylor models decide droplet breakup

by detecting the fastest growing surface wave on the droplets. The

source of the Kelvin-Helmholtz wave is induced by aerodynamic forces

between gas and liquid phases, whereas the Rayleigh-Taylor wave is

the result of acceleration of shed drops ejected into free-stream

conditions. Hwang et al. showed in their experiments the occurrence

of a sequential breakup process in the catastrophic breakup regime. A

droplet first gets flattened by the aerodynamic force on it and breaks

up due to the deceleration of the sheet droplet by means of Rayleigh-

Taylor instability model. Further breakups proceeded by the smaller

wavelength of Kelvin- Helmholtz wave found at the edge of the

fragments. In high Weber number cases with high droplet acceleration,

Rayleigh-Taylor instability grows faster and dominates the breakup of

droplets. For the numerical model, both instability models are utilized

simultaneously and breakups are determined by the fastest growth

rate of waves. In the Rayleigh-Taylor model, the fastest growing wave‟s

growth rate and its corresponding

wavelength are given by

56

where a is the droplet acceleration, CRT is the Rayleigh-Taylor

breakup constant and KRT

is the wave number given by

Breakup time in the Rayleigh-Taylor model is defined as

where Cτ is the breakup time constant and the liquid core length,

LRT, is obtained from

Levich theory [44] as a function of gas and liquid densities and

effective nozzle hole diameter, d0:

The radius of the new droplets is calculated as half of the wavelength

obtained Above

Based on their experiments, Hiroyasu and Arai [45] proposed the

correlation of density and diameter to the Levich constant, CL,

experimentally as,

where Pa is ambient pressure.

57

Moreover, Senecal analytically determined the relationship of the

Levich constant, CL, and the breakup time constant of the WAVE

model, B1. Considering the breakup length of the WAVE model to be

Comparing Eq. (34) and (37), the correlation of the coefficients is given

by

As this relation shows, the Levich constant is also adjustable and

ranges from 5 to 20. In addition, Patterson and Reitz [41] investigated

the effects of Rayleigh-Taylor breakup constant, CRT, in the range 1.0

≤ CRT ≤ 5.33.

58

3.3 The following are the various typical examples of diesel spray

models

3.3.1 Flow Analysis at the Start of Injection

For the first attempt, the standard k-ε model with the coarse mesh is

chosen to examine the effects of the ultra-high injection pressures.

Figure 3.1 shows that the sprays emanating from INJ-0 and INJ-180

are exposed to the opposing flow, whereas the spray of INJ-90 will be

injected into the downwind and INJ-270 will face a much more

complex flow compared to the others. INJ-0 and INJ-180 are sprayed

to the upwind flow and fuel injected from INJ-90 and INJ-270 will

experience a complex flow pattern with vortices near the wall in the

turbocharged case. The cores of the vortices that are captured near the

intake port shift to the exhaust port side due to stronger flow by turbo

charging.

Figure 3.1 Stream traces superimposed by velocity magnitude

contours of naturally aspirated (left) and turbocharged (right) case at

the start of injection

59

3.3.2 In-cylinder Flow and Spray Interaction Analysis

Once the fuel is injected into the chamber, strong flows of the sprays

become dominant and build a symmetric flow structure about the

axes, as illustrated in Fig. 3.2.The magnitude of the fuel spray velocity

changes linearly by increasing the injection pressure and the backflow

is also increased relatively. Hence, our simulations predict higher

relative velocity and air entrainment at the edges of sprays, as

observed in the experiments.

Figure .3.2 Velocity vector field of INJ-0 superimposed by velocity

magnitude contours at 2.5 CA after start of injection

60

3.4 Modeling of the Flame Lift-off for Liquid Sprays in the Constant Volume:Comparative Study of KIVA-3V and FOAM Codes

In this modeling, to describe the auto-ignition of a liquid n-heptane

spray injected into a constant volume was described in terms of the

Lagrangian –Eulerian approach. This approach involves several spray

models including fuel (n-heptane) injection, spray breakup and

atomization, droplet formation, interaction (collision) and evaporation.

The fuel vapor/air mixture formed due to the effects of turbulent

mixing then ignites and the flame front develops resulting in a so-

called flame lift-off, the flame separation from the injection location.

Spray atomization was simulated using the hybrid KH-RT (Kelvin-

Helmholtz, Rayleigh-Taylor) model coupled with the “blob” injection

model. The meshes used in the simulations are presented in

Figure 3.3: the KIVA-3V mesh consisted of 300 000 cells, while the

OpenFOAM mesh consisted of only 180 000 cells due the usage of a

central square region with a fine resolution of a spray injection region.

Figure 3.3 Computation meshes used in the modeling by a) KIVA-3V,

b) FOAM codes The simulations were performed for the following

conditions: the oxygen content in the ambient gas was varied in a

range 8-21%, the ambient gas temperature – in a range 750- 1300 K,

the ambient gas density was equal to 14.8 kg/m3.The injector orifice

diameter was dinj=100 mm, the injection pressure was 1500 bar. The

predictions of the two codes were compared to measurements data , as

well as to each other.

61

Figure 3.3 Computation meshes used in the modeling by a) KIVA-3V, b) FOAM codes

Figure 3.4 Flame lengths predicted by the OpenFOAM code a) at the ignition onset, b) for the

stabilized flame; comparison with measurements: c) at 0.80 ms; b) at 1.30 ms

62

Figure 3.5 OH chemiluminescense snapshots from experiments compared to

temperature plots from numerical simulations: a), b), c), d)

Figure 3.6 Comparison of the OpenFoam predicted and measured a) ignition

delays, b) lift-off lengths; the predictions of the KIVA-3V code are also shown.

As can be seen, the model is capable of reproducing the trends in

variation of the spray ignition delays and lift-off lengths with changes

of the vessel parameters. The both codes used in the modeling are

producing the consistent data regardless some differences in

numerical and physical models. However, the further comparisons

with the experimental data presented in Figure 17 are evidenced that

63

n-heptane vapor distributions at different instants after SOI were

predicted with visible discrepancy which reduces with time. Finally, in

Figure 3.7, the spray ignition and combustion development patterns

for two instants for different fuels used in automotive industry are

presented. These flame patterns are very different for each fuel that

can require a careful selection of the spray model parameters. Apart

this for the non-sooting fuels like RME, the flame lift-off length can not

be properly measured.

Figure 3.7 Fuel vapor distributions at different time after SOI, a) 0.49 ms, b) 0.68 ms,

c) 0.9 ms, d) 1.1 ms

64

Chapter 4

MODELING OF DIESEL SPRAY USING OPENFOAM

4.1 Introduction

OpenFOAM is first and foremost a C++ library, used primarily to

create executables, known as applications. The applications fall into

two categories: solvers, that are each designed to solve a specific

problem in continuum mechanics; and utilities, that are designed to

perform tasks that involve data manipulation. The OpenFOAM

distribution contains numerous solvers and utilities covering a wide

range of problems, OpenFOAM is supplied with pre- and post-

processing environments. The interface to the pre- and post-processing

are themselves OpenFOAM utilities, thereby ensuring consistent data

handling across all environments. The overall structure of OpenFOAM

is shown in Figure 4.1.

Figure 4.1: Overview of OpenFOAM structure.

65

4.2 DIESEL FOAM SOLVER

4.2.1 Pre-processing

The following steps describes how to pre-process, run and

post-process a case involving compressible re-acting flow with

Lagrangian evaporating particles in a three-dimensional domain. It

also describes how to copy the solver, copy an evaporation model and

how to add a second material to the discrete particles.

.

Figure 4.2: Geometry of the dieseFoam case.

66

The geometry consists of a block filled with air, with a

0.01x0.01 meter base and a length of 0.1 meter (figure 4.2). An

injector is centrally placed on the top boundary where

n-Heptane (C7 H16 ) is injected. When the discrete droplets enter the

domain they evaporate and combustion takes place in the gas phase.

There are several gas phase reaction schemes supplied with the case

ranging from a reaction scheme with 5 species and one reaction up to

a reaction scheme involving 300 reactions and 56 speciesThis

section covers the necessary setup needed to get the dieselFoam case

running with chemistry ,it also covers a brief introduction to reacting

flows in numerical simulations.

67

4.2.2 Getting started

Copy the dieselFoam tutorial to the run directory. cp -r $FOAM_TUTORIALS/dieselFoam/aachenBomb $FOAM_RUN cd $FOAM_RUN/aachenBomb

The file structure of the dieselFoam case is shown below.,

Table . 4.1: File structure of aachenbomb

0 0 Constant Chemkin System

Aphat Polymesh Chem.inp Controldict

Epsilon Chemistry properties Chem.inp.1 Fvschemes

K Combustion properties

Chem..inp.full fvsolution

Mut G Chem.inp_15

N2 Injector properties Therm.dat

O2 RAS properties

P Spray properties

T Thermo physical properties

U Turbulence properties

Ydefault

aachenBomb

68

Also we can able to find and modify the various spray properties

according to the requirements in foam src library .

It can be rooted as follows.,

System/…/opt/openfoam201/src/lagrangian/dieselspray

Table. 4.2 : Details of src library

Injector Spray sub models

Comman rail injector Atomization models

Defined injector Breakup model

Multihole injector Collision model

Swirl injector Dispersion model

Unit injector Drag model

Evaporation model

Heat transfer model

Injector model

Wall model

Table. 4.3 : Spray breakup models

Breakup model

ETAB

Reitz diwakar

reitzKHRT

SHF

TAB

DIESEL SPRAY

69

Table 4.4: Spray sub-models for the diesel Foam

The initial conditions are found in the /0 directory and are

summarized in table 4.5. Not all initial conditions are specified here since

they are not necessary to get the case running. Note that the initial mass

fractions for N2 and O2 corresponds to air and that the initial condition

for spray is empty since it is specified in the /constant/injector Properties

file.

Table 4.5: Initial conditions for the dieselFoam tutorial

70

Physical properties In the /constant directory the properties files for

chemistry, environment, spray, combustion, injector, RAS and thermo

physical. The spray and injector properties are described and the RAS

properties are thoroughly described in the OpenFOAM user guide. The

properties files are summarized in table 4.6.

Table 4.6: Properties files and general content for the diesel Foam

A certain mixture type may be more or less suited for a combustion

problem and depends on if the same is non partially or full-premixed. In

the thermo physical Properties file it is possible to specify the mixture

types, several are available1. Parts of the thermo physical Properties

file is listed below, notice that the location of the CHEMKIN ThermoFile

has been changed from

~OpenFOAM/thermoData/therm.dat" to

"$FOAM_CASE/chemkin/therm.dat".

71

In this case we will use the predefined reacting Mixture together

with the thermo physical model h Mixture Thermo which calculates

enthalpy for combustion mixture. The choice of mixture and thermo

physical model depends both on the physics of the same and which

variables that are needed for the combustion model. The thermo physical

Properties file also contains information on where the gas phase reactions

are defined as well which thermo dynamic data base to use. The gas

phase reactions are specified in the "$FOAM_CASE/chemkin/chem.inp"

file and the thermo dynamic data base in the

"$FOAM_CASE/chemkin/therm.dat" file. The therm.dat and chem.inp-

file as well as the combustion model.

4.2.3 Chemistry

When the droplets enter the domain they start to evaporate. The

C7H16(g) then reacts with oxygen forming CO2 and H2O. However, this

reaction can be called a global reaction and is not what would happen if

C7H16(g) would burn with air in a real combustor or burner. As an

example, think about hydrogen burning with pure oxygen, see reaction

4.1.

(4.1)

However, in order for the hydrogen to react with oxygen, the bond

between the atoms first have to be broken and a more complex reaction

scheme is required, see reaction 4.2 to 4.6.

(4.2)

(4.3)

72

(4.4)

(4.5)

(4.6)

So, instead of having two reactions (backward and forward) with

three species we have ten reactions (backward and forward) with six

species (the scheme described above is ad hoc and is just used to

describe the difficulties describing chemistry in numerical simulations).

The transport equations for these species have to be solved as well as the

ODEs for the reactions. In this tutorial the gas phase reactions are

specified in the /chemkin/chem.inp-file, see below.

The entries behind the reaction in the /chemkin/chem.inp file are

Arrhenius coefficient that are used to calculate the chemical reaction rate.

FORD is the forward reaction order. The chemical reaction rate will be

calculated according to equations 4.7 and 4.8.

(4.7)

Where kf is the forward reaction coefficient, A pre exponential

factor, b temperature exponent, Ea activation energy, R ideal gas

coefficient and T temperature.

73

(4.8)

Where ωi is the chemical reaction rate, t time, c and d the forward

reaction order and, [C] is concentration of specie C. In simplified terms

the /chemkin/chem.inp file can thus be written as:

Due to the numerical cost only the simplest scheme (chem.inp) will

be used in this tutorial but the user is encouraged to look in the

chem.inp.full file to see how a complex but still reduced reaction

scheme might look like. Without going into great detail regarding

thermodynamics in combustion processes, it is possible to realize that

when a fuel and an oxidizer react, they will produce heat. The amount of

heat released from the same as well as the same temperature can be

predicted using thermodynamics. The thermodynamic data base is

located in the /chemkin/therm.dat file.

An example from the file is listed below./chemkin/therm.dat

The first row contains species name, date (not used in the

code), atomic symbols and formula, phase of species (S, L, or

G for gas), low temperature, high temperature and common

temperature (if needed).

The second row contains coefficients a1 to a5 in above

equation for upper temperature interval.

74

The third row contains coefficients a6, a7 for upper

temperature interval, and a1, a2, and a3 for lower.

The fourth row contains coefficients a4, a5, a6, a7 for lower

temperature interval. From these constants, (NASA)

polynomials for specific heat Cp, enthalpy H and entropy S

can be calculated.

(4.9)

(4.10)

(4.11)

The specific heat Cp, enthalpy H and entropy S are then used in the

code to solve the conservation equations. The combustion model for this

tutorial is a partially stirred reactor concept model developed at Chalmers

Gothenburg described by equations 4.12 and 4.13

(4.12)

Where CSTi is the chemical source term, chem chemical time

1/Kf and mix mixing time. The mixing time mix is calculated according to

(4.13)

Where Cmix is a constant specified in the

/constant/combustionProperties file, µeff is the effective viscosity,

75

ρ density and rate of dissipation of turbulent kinetic energy. The

combustion model can be found on

$FOAM_SOLVERS/combustion/dieselFoam/dieselFoam.C

4.2.4 Running the code

First establish the required model, For evaporation , spray

breakup, collision etc If required change the initial conditions like

temperature and pressure etc. Change the boundary conditions

Remove ft and fu and in the aachenBomb/0 directory since these

are not needed for this setup (keeping them will result in post-processing

problems).

cd $FOAM_RUN/aachenBomb/0

rm ft fu Turn chemistry on in the /constant/chemistryProperties file

moodels

chemistry on; and ignition on in the /constant/combustionProperties file. This

step is not necessary, the mixture will still ignite when the species are

properly mixed due to the high temperature.

ignite on;

Mesh the geometry using blockMesh, and start the dieselFoam solver.

cd $FOAM_RUN/aachenBomb blockMesh

dieselFoam

The solution is only 0.01 seconds long, however, due to the fast

chemistry a minimum of 4000 time steps are needed to resolve it.

76

Furthermore, there is a total of 5000 parcels

(parcelmass =N * Dropletmass )where N is the statistical number of drops

in the parcel) that enter the domain and the source term from these all

have to be calculated.

4.2.5 Post-processing in ParaView

Since paraFoam can not handle Lagrangian particles use

foamToVTK and then ParaView.

cd $FOAM_RUN/aachenBomb

foamToVTK

paraview

In the /VTK directory open the case file ( aachenBomb\1.vtk ) and

also, open the particles in the

/Lagrangian/defaultCloud_2.vtk file.

Create glyphs for the particles, see the following figures 4.3 for settings.

77

Fig 4.3 Opening window of Paraview and openfoam

Fig. 4.4 Opening window of aachenbomb

78

Figure 4.5: Settings for glyphs in ParaView to visualize the Lagrangian

particles

79

Fig 4.6 Shows the running of diesel spray (Diesel particle in green colour)

Fig 4.7 Shows the running of diesel spray (Diesel particle in green colour)

80

Fig 4.8 Shows the running of diesel spray with velocity and temperature

scales (Diesel particle in green colour)

Figure 4.9: Droplets entering the domain, droplets colored by diameter

and cut plane by temperature

81

Figure 4.10: Gas phase ignition, droplets colored by diameter and cut

plane by temperature

Figure 4.11: Droplets colored by mass fractions

82

4.2.6 Spray breakup models

Also in this project work the following cases are implemented the

various spray characteristics as follows,

ETAB model

RietzKHRT Model

RietzDIWAKAR model

TAB model

Initial Tempreture

Initial Pressure

Spray cone angle ( 20o, 40o, 60o)

After running the various models , The results

are listed by the following figures. Also the results are stored

in .avi format (cd Enclosed).

83

Fig . 4.12 CASE1: Ignition off, Chemistry on, Temperature

800K,Spray cone angle 60o, ReitzKHRT model.

Fig . 4.13 CASE2: Ignition off, Chemistry off Temperature

300K,Spray cone angle 40o, ETAB model

84

Fig. 4.14 CASE3: Ignition off, Chemistry off, Temperature

300K,Spray cone angle 20o, Rietzdiwakar model

Fig . 4.15 CASE4: Ignition off, Chemistry off, Temperature

300K,Spray cone angle 20o, TAB model

85

Chapter 5

CONCLUSION

In this project work ,presents the various applications of spray

modeling in a constant volume combustion chamber using

OPENFOAM .Improved sub models for turbulence and chemistry

interactions using a detailed chemistry approach is presented. The

latest developments on the various numerical equation solving

methods like Eulerien grid ( for gas Phase) , lagrangian

Parcels(liquid phase) are used for multiphase flow modeling.

Also, varying the following process parameters, Temperature ,

Pressure, and Spray breakup models (TAB, ETAB, REITZKHRT,

REITZDIWAKAR), switching off the chemistry, switching off ignition,

and spray cone angles ( 20o , 40o, 60o) diesel foam solver was run and

the results are analyzed ( also all results are enclosed in cd as .avi format).

86

Chapter 6

BIBLIOGRAPHY

1. Emission Standards United States.

http://www.dieselnet.com/standards/us/, 2010.

2. Heywood, J.B. Internal Combustion Engine Fundamentals. McGraw-

Hill, NewYork, 1988.

3. Characteristics and Combustion Improvement of D.I. Diesel Engine

with High Pressure Fuel Injection. SAE Technical Paper 890265,

1989. [Yokota, H., Kamimoto, T., Kosaka, H., and Tsujimura, K.

Fast Burning and

4. Proceeding of the Institution of Mechanical Engineers, Part D: Journal

of Automobile Engineering, 224, pp. 1581-1596, 2010.

5. Combustion Science and Technology, 182, pp. 1369-1390, 2010.

[8] Wang, X., Huang, Z., Kuti, O.A., Zhang, W., and Nishida, K.

Experimental and

6. Injection Pressure. International Journal of Heat and Fluid Flow, 31,

pp. 659-666, 2010.

7. 11th Triennial International Annual Conference on Liquid

Atomization and Spray SystemsVail, Colorado, 2009.

8. International Journal of Automotive Technology, 6(2), pp. 125-131,

2005.

9. Droplets within a Spray. Applied Mathematical Modelling, 30, pp.

1196-1211, 2006.

10 . S.S. Advanced Models of Fuel Droplet Heating and Evaporation.

Progress in Energy and Combustion Science, 32, pp. 162-214, 2006.

87

11. O'rourke, P.J., and Amsden, A.A. The Tab Method for Numerical

Calculation ofSpray Droplet Breakup. SAE Technical Paper 872089,

1987.

12. Reitz, R.D. Modeling Atomization Processes in High-Pressure

Vaporizing Sprays.Atomisation and Spray Technology, 3, pp. 309-

337, 1987.

13. Model with the Eulerian-Lagrangian Spray Atomization (ELSA)

Model in DieselEngine Conditions. SAE Technical Paper 2005-01-

0213, 2005.

14. www.caelinux.org

15. www.openfoam.org

88

Appendix A

The important openFoam programs are listed below

DIESEL FOAM

O/FOLDER ALPHAT: /*--------------------------------*- C++ -*----------------------------------*\

| ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |

| \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile

{ version 2.0;

format ascii; class volScalarField; location "0";

object alphat; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [1 -1 -1 0 0 0 0];

internalField uniform 0;

boundaryField { walls

{ type alphatWallFunction;

value uniform 0; } }

// ************************************************************************* //

89

EPSILON:

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | |

| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile {

version 2.0; format ascii; class volScalarField;

location "0"; object epsilon;

} // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -3 0 0 0 0]; internalField uniform 90;

boundaryField

{ walls {

type compressible::epsilonWallFunction; value uniform 90; }

}

// ************************************************************************* //

90

K:

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | |

| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile {

version 2.0; format ascii; class volScalarField;

location "0"; object k;

} // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

dimensions [0 2 -2 0 0 0 0]; internalField uniform 1;

boundaryField

{ walls {

type compressible::kqRWallFunction; value uniform 1; }

}

// ************************************************************************* //

MUT: /*--------------------------------*- C++ -*----------------------------------*\

| ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |

| \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | |

\*---------------------------------------------------------------------------*/ FoamFile

91

{ version 2.0;

format ascii; class volScalarField;

location "0"; object mut; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // dimensions [1 -1 -1 0 0 0 0];

internalField uniform 0;

boundaryField {

walls {

type mutkWallFunction; value uniform 0; }

}

// ************************************************************************* // PRESSURE P:

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox

| | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile { version 2.0;

format ascii; class volScalarField;

object p; } // ************************************************************************* //

dimensions [ 1 -1 -2 0 0 0 0 ];

internalField uniform 5e+06;

92

boundaryField {

walls {

type zeroGradient; } }

// ************************************************************************* //

TEMPERATURE T:(IN KELVIN.): /*--------------------------------*- C++ -*----------------------------------*\

| ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |

| \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile

{ version 2.0; format ascii;

class volScalarField; object T;

} // ************************************************************************* //

dimensions [ 0 0 0 1 0 0 0 ]; internalField uniform 800;

boundaryField

{ walls {

type zeroGradient; }

} // ************************************************************************* //

93

VELOCITY U (m/s):

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | |

| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile {

version 2.0; format ascii; class volVectorField;

object U; }

// ************************************************************************* // dimensions [ 0 1 -1 0 0 0 0 ];

internalField uniform ( 0 0 0 );

boundaryField {

walls { type fixedValue;

value uniform ( 0 0 0 ); } }

// ************************************************************************* //

PHASE FRACTION Y: /*--------------------------------*- C++ -*----------------------------------*\

| ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox

| | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile

{ version 2.0;

94

format ascii; class volScalarField;

object Tdefault; }

// ************************************************************************* // dimensions [ 0 0 0 0 0 0 0 ];

internalField uniform 0;

boundaryField {

walls { type zeroGradient;

} }

// ************************************************************************* //

Under the CHEMKIN folder :

chemkin.inp:

ELEMENTS H O C N AR END

SPECIE C7H16 O2 N2 CO2 H2O END

REACTIONS C7H16 + 11O2 => 7CO2 + 8H2O 5.00E+8 0.0 15780.0! 1

FORD / C7H16 0.25 / FORD / O2 1.5 / END

95

Under the constant folder: polymesh/blockmeshdict:

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | |

| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | |

\*---------------------------------------------------------------------------*/ FoamFile {

version 2.0; format ascii;

class dictionary; object blockMeshDict; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // convertToMeters 0.001; vertices

( (-10 0 -10)

(-10 0 10) (10 0 10) (10 0 -10)

(-10 100 -10) (-10 100 10) (10 100 10)

(10 100 -10) );

blocks ( hex (0 1 2 3 4 5 6 7) (41 41 100) simpleGrading (1 1 1)

); edges

( ); boundary

( walls {

type wall; faces

96

( (2 6 5 1)

(0 4 7 3) (0 1 5 4)

(4 5 6 7) (7 6 2 3) (3 2 1 0)

); } );

chemistry properties: /*--------------------------------*- C++ -*----------------------------------*\

| ========= | |

| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox |

| \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile

{

version 2.0;

format ascii; class dictionary;

location "constant";

object chemistryProperties;

}

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

psiChemistryModel ODEChemistryModel<gasThermoPhysics>; chemistry on;

chemistrySolver ode;

initialChemicalTimeStep 1e-07;

sequentialCoeffs

{ cTauChem 0.001;

}

EulerImplicitCoeffs

{

cTauChem 0.05;

equilibriumRateLimiter off; }

odeCoeffs

{

solver SIBS;

eps 0.05; scale 1;

}

// ************************************************************************* //

97

combustion properties: /*--------------------------------*- C++ -*----------------------------------*\

| ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox

| | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile

{ version 2.0;

format ascii; class dictionary; location "constant";

object combustionProperties; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Cmix Cmix [ 0 0 0 0 0 0 0 ] 1;

ignitionProperties1 {

ignite on; ignitionPoint ignitionPoint [ 0 1 0 0 0 0 0 ] ( 0.2 0 0.02 );

timing timing [ 0 0 1 0 0 0 0 ] 0; duration duration [ 0 0 1 0 0 0 0 ] 1; }

// ************************************************************************* //

98

Injector properties

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | |

| \\ / F ield | OpenFOAM: The Open Source CFD Toolbox | | \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile {

version 2.0; format ascii; class dictionary;

location "constant"; object injectorProperties;

} // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // Injector properties:

( { injectorType unitInjector;

unitInjectorProps {

position (0 0.0995 0); direction (0 -1 0); diameter 0.00019;

Cd 0.9; mass 6e-06; nParcels 5000;

X (

1.0 ); massFlowRateProfile

( (0 0.1272)

(4.16667e-05 6.1634) (8.33333e-05 9.4778) (0.000125 9.5806)

(0.000166667 9.4184) (0.000208333 9.0926) (0.00025 8.7011)

(0.000291667 8.2239) (0.000333333 8.0401)

99

(0.000375 8.845) (0.000416667 8.9174)

(0.000458333 8.8688) (0.0005 8.8882)

(0.000541667 8.6923) (0.000583333 8.0014) (0.000625 7.2582)

(0.000666667 7.2757) (0.000708333 6.968) (0.00075 6.7608)

(0.000791667 6.6502) (0.000833333 6.7695)

(0.000875 5.5774) (0.000916667 4.8649) (0.000958333 5.0805)

(0.001 4.9547) (0.00104167 4.5613)

(0.00108333 4.4536) (0.001125 5.2651) (0.00116667 5.256)

(0.00120833 5.1737) (0.00125 3.9213) );

temperatureProfile (

(0.0 320.0) (0.00125 320.0) );

} commonRailInjectorProps {

position (0 0.0995 0); direction (0 -1 0);

diameter 0.00019; mass 6e-06; injectionPressure 200.0e+5;

temperature 320; nParcels 5000;

X (

1.0 ); massFlowRateProfile

( (0 0.1272)

100

(4.16667e-05 6.1634) (8.33333e-05 9.4778)

(0.000125 9.5806) (0.000166667 9.4184)

(0.000208333 9.0926) (0.00025 8.7011) (0.000291667 8.2239)

(0.000333333 8.0401) (0.000375 8.845) (0.000416667 8.9174)

(0.000458333 8.8688) (0.0005 8.8882)

(0.000541667 8.6923) (0.000583333 8.0014) (0.000625 7.2582)

(0.000666667 7.2757) (0.000708333 6.968)

(0.00075 6.7608) (0.000791667 6.6502) (0.000833333 6.7695)

(0.000875 5.5774) (0.000916667 4.8649) (0.000958333 5.0805)

(0.001 4.9547) (0.00104167 4.5613)

(0.00108333 4.4536) (0.001125 5.2651) (0.00116667 5.256)

(0.00120833 5.1737) (0.00125 3.9213) );

injectionPressureProfile

( (0.0 1.0) (0.00125 1.0)

); }

} )

// ************************************************************************* //

101

spray properties:

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox

| | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile { version 2.0;

format ascii; class dictionary;

location "constant"; object sprayProperties; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // interpolationSchemes

{ U cellPoint;

rho cell; p cell; T cell;

} subCycles 2;

atomizationModel off;

includeOscillation yes;

breakupModel ReitzKHRT;

injectorModel hollowConeInjector; collisionModel off;

evaporationModel standardEvaporationModel;

heatTransferModel RanzMarshall;

102

dispersionModel off;

dragModel standardDragModel;

wallModel reflect; specConstAtomizationCoeffs

{ dropletNozzleDiameterRatio ( 0.4 ); sprayAngle ( 10 );

}

TABCoeffs { y0 0;

yDot0 0; Cmu 10;

Comega 8; WeCrit 12; }

ETABCoeffs {

Cmu 10; Comega 8;

WeCrit 12; k1 0.2; k2 0.2;

WeTransition 100; }

ReitzDiwakarCoeffs {

Cbag 6; Cb 0.785; Cstrip 0.5;

Cs 10; }

ReitzKHRTCoeffs {

B0 0.61; B1 40; Ctau 1;

CRT 0.1; msLimit 0.2;

103

WeberLimit 6; }

trajectoryCoeffs

{ cSpace 1; cTime 0.3;

} standardDragModelCoeffs

{ preReFactor 0.166667;

ReExponent 0.666667; ReLimiter 1000; CdLimiter 0.44;

Cdistort 2.632; }

standardEvaporationModelCoeffs {

evaporationScheme explicit; preReScFactor 0.6; ReExponent 0.5;

ScExponent 0.333333; }

RanzMarshallCoeffs {

preRePrFactor 0.6; ReExponent 0.5; PrExponent 0.333333;

}

hollowConeInjectorCoeffs { sizeDistribution

{ type RosinRammler;

RosinRammlerDistribution { minValue 1e-06;

maxValue 0.00015; d 0.00015; n 3;

}

104

exponentialDistribution {

minValue 0.0001; maxValue 0.001;

lambda ( 10000 ); } }

innerConeAngle ( 0 ); outerConeAngle ( 20 );

}

reflectCoeffs { elasticity 0.9;

}

// ************************************************************************* //

thermophysical properties: /*--------------------------------*- C++ -*----------------------------------*\

| ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox

| | \\ / O peration | Version: 2.0.1 | | \\ / A nd | Web: www.OpenFOAM.com |

| \\/ M anipulation | | \*---------------------------------------------------------------------------*/ FoamFile

{ version 2.0;

format ascii; class dictionary; location "constant";

object thermophysicalProperties; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // thermoType

hsPsiMixtureThermo<reactingMixture<gasThermoPhysics>>; CHEMKINFile "$FOAM_CASE/chemkin/chem.inp";

CHEMKINThermoFile "~OpenFOAM/thermoData/therm.dat";

105

inertSpecie N2;

liquidComponents ( C7H16 );

liquidProperties {

C7H16 { defaultCoeffs yes;

} }

// ************************************************************************* //

Under the system directory : controlldict:

/*--------------------------------*- C++ -*----------------------------------*\ | ========= | | | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox

| | \\ / O peration | Version: 2.0.1 |

| \\ / A nd | Web: www.OpenFOAM.com | | \\/ M anipulation | | \*---------------------------------------------------------------------------*/

FoamFile { version 2.0;

format ascii; class dictionary;

location "system"; object controlDict; }

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

application dieselFoam; startFrom startTime;

startTime 0;

stopAt endTime;

106

endTime 0.01;

deltaT 2.5e-06;

writeControl adjustableRunTime; writeInterval 5e-05;

purgeWrite 0;

writeFormat binary;

writePrecision 6; writeCompression off;

timeFormat general;

timePrecision 6;

adjustTimeStep yes; maxCo 0.1;

runTimeModifiable true;

// ************************************************************************* //

107

foam/src/injector/unitinjector.C

/*---------------------------------------------------------------------------*\ ========= |

\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.

\\/ M anipulation | ------------------------------------------------------------------------------- License

This file is part of OpenFOAM.

OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License

for more details.

You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.

\*---------------------------------------------------------------------------*/ #include "unitInjector.H"

#include "addToRunTimeSelectionTable.H" #include "mathematicalConstants.H"

// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * //

namespace Foam {

defineTypeNameAndDebug(unitInjector, 0); addToRunTimeSelectionTable

( injectorType, unitInjector,

dictionary );

108

}

// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

the following types of injectors are available in foam src ibrary comman rail injector

swril injector multihole injector unitinjector

foam/src/injector/unitinjector.c

Foam::unitInjector::unitInjector

( const Foam::Time& t,

const Foam::dictionary& dict ) :

injectorType(t, dict), propsDict_(dict.subDict(typeName + "Props")), position_(propsDict_.lookup("position")),

direction_(propsDict_.lookup("direction")), d_(readScalar(propsDict_.lookup("diameter"))),

Cd_(readScalar(propsDict_.lookup("Cd"))), mass_(readScalar(propsDict_.lookup("mass"))), nParcels_(readLabel(propsDict_.lookup("nParcels"))),

X_(propsDict_.lookup("X")), massFlowRateProfile_(propsDict_.lookup("massFlowRateProfile")), velocityProfile_(massFlowRateProfile_),

injectionPressureProfile_(massFlowRateProfile_), CdProfile_(massFlowRateProfile_),

TProfile_(propsDict_.lookup("temperatureProfile")), averageParcelMass_(mass_/nParcels_), pressureIndependentVelocity_(true)

{

// check if time entries for soi and eoi match if (mag(massFlowRateProfile_[0][0]-TProfile_[0][0]) > SMALL) {

FatalErrorIn ( "unitInjector::unitInjector(const time& t, const dictionary dict)"

) << "start-times do not match for TemperatureProfile and " << " massFlowRateProfile." << nl << exit (FatalError);

109

}

if (

mag(massFlowRateProfile_.last()[0] - TProfile_.last()[0]) > SMALL

) { FatalErrorIn

( "unitInjector::unitInjector(const time& t, const dictionary dict)"

) << "end-times do not match for TemperatureProfile and " << "massFlowRateProfile." << nl << exit(FatalError); }

// convert CA to real time

forAll(massFlowRateProfile_, i) { massFlowRateProfile_[i][0] =

t.userTimeToTime(massFlowRateProfile_[i][0]); velocityProfile_[i][0] = massFlowRateProfile_[i][0]; injectionPressureProfile_[i][0] = massFlowRateProfile_[i][0];

}

forAll(TProfile_, i) { TProfile_[i][0] = t.userTimeToTime(TProfile_[i][0]);

} scalar integratedMFR = integrateTable(massFlowRateProfile_);

forAll(massFlowRateProfile_, i)

{ // correct the massFlowRateProfile to match the injected mass massFlowRateProfile_[i][1] *= mass_/integratedMFR;

CdProfile_[i][0] = massFlowRateProfile_[i][0];

CdProfile_[i][1] = Cd_; }

// Normalize the direction vector direction_ /= mag(direction_);

setTangentialVectors();

110

// check molar fractions scalar Xsum = 0.0;

forAll(X_, i) {

Xsum += X_[i]; }

if (mag(Xsum - 1.0) > SMALL) { WarningIn("unitInjector::unitInjector(const time& t, Istream& is)")

<< "X does not sum to 1.0, correcting molar fractions." << nl << endl;

forAll(X_, i) { X_[i] /= Xsum;

} }

}

// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //

Foam::unitInjector::~unitInjector() {}

// * * * * * * * * * * * * * * * Member Functions * * * * * * * * * * * * * //

void Foam::unitInjector::setTangentialVectors() {

cachedRandom rndGen(label(0), -1); scalar magV = 0.0;

vector tangent; while (magV < SMALL)

{ vector testThis = rndGen.sample01<vector>();

tangent = testThis - (testThis & direction_)*direction_; magV = mag(tangent);

} tangentialInjectionVector1_ = tangent/magV;

tangentialInjectionVector2_ = direction_ ^ tangentialInjectionVector1_; }

111

Foam::label Foam::unitInjector::nParcelsToInject (

const scalar time0, const scalar time1 ) const

{ scalar mInj = mass_*(fractionOfInjection(time1) - fractionOfInjection(time0));

label nParcels = label(mInj/averageParcelMass_ + 0.49); return nParcels;

}

const Foam::vector Foam::unitInjector::position(const label n) const {

return position_; }

Foam::vector Foam::unitInjector::position (

const label n, const scalar time,

const bool twoD, const scalar angleOfWedge, const vector& axisOfSymmetry,

const vector& axisOfWedge, const vector& axisOfWedgeNormal, cachedRandom& rndGen

) const {

if (twoD) { scalar is = position_ & axisOfSymmetry;

scalar magInj = mag(position_ - is*axisOfSymmetry);

vector halfWedge = axisOfWedge*cos(0.5*angleOfWedge) + axisOfWedgeNormal*sin(0.5*angleOfWedge);

halfWedge /= mag(halfWedge); return (is*axisOfSymmetry + magInj*halfWedge);

} else

112

{ // otherwise, disc injection

scalar iRadius = d_*rndGen.sample01<scalar>(); scalar iAngle =

constant::mathematical::twoPi*rndGen.sample01<scalar>(); return

( position_ + iRadius

* ( tangentialInjectionVector1_*cos(iAngle)

+ tangentialInjectionVector2_*sin(iAngle) ) );

}

return position_; }

Foam::label Foam::unitInjector::nHoles() const {

return 1; }

Foam::scalar Foam::unitInjector::d() const

{ return d_; }

const Foam::vector& Foam::unitInjector::direction ( const label i,

const scalar time ) const

{ return direction_; }

Foam::scalar Foam::unitInjector::mass

( const scalar time0,

113

const scalar time1, const bool twoD,

const scalar angleOfWedge ) const

{ scalar mInj = mass_*(fractionOfInjection(time1) - fractionOfInjection(time0));

// correct mass if calculation is 2D if (twoD)

{ mInj *= 0.5*angleOfWedge/constant::mathematical::pi;

} return mInj;

}

Foam::scalar Foam::unitInjector::mass() const {

return mass_; }

const Foam::scalarField& Foam::unitInjector::X() const

{ return X_; }

Foam::List<Foam::unitInjector::pair> Foam::unitInjector::T() const

{ return TProfile_;

}

Foam::scalar Foam::unitInjector::T(const scalar time) const {

return getTableValue(TProfile_, time); }

Foam::scalar Foam::unitInjector::tsoi() const {

return massFlowRateProfile_.first()[0]; }

114

Foam::scalar Foam::unitInjector::teoi() const {

return massFlowRateProfile_.last()[0]; }

Foam::scalar Foam::unitInjector::massFlowRate(const scalar time) const {

return getTableValue(massFlowRateProfile_, time); }

Foam::scalar Foam::unitInjector::injectionPressure(const scalar time)

const {

return getTableValue(injectionPressureProfile_, time); }

Foam::scalar Foam::unitInjector::velocity(const scalar time) const {

return getTableValue(velocityProfile_, time); }

Foam::List<Foam::unitInjector::pair> Foam::unitInjector::CdProfile() const

{ return CdProfile_; }

Foam::scalar Foam::unitInjector::Cd(const scalar time) const { return Cd_;

}

Foam::scalar Foam::unitInjector::fractionOfInjection(const scalar time) const

{ return integrateTable(massFlowRateProfile_, time)/mass_; }

115

Foam::scalar Foam::unitInjector::injectedMass(const scalar t) const {

return mass_*fractionOfInjection(t); }

void Foam::unitInjector::correctProfiles

( const liquidMixtureProperties& fuel, const scalar referencePressure

) {

scalar A = 0.25*constant::mathematical::pi*sqr(d_); scalar pDummy = 1.0e+5;

forAll(velocityProfile_, i) {

scalar time = velocityProfile_[i][0]; scalar rho = fuel.rho(pDummy, T(time), X_); scalar v = massFlowRateProfile_[i][1]/(Cd_*rho*A);

velocityProfile_[i][1] = v; injectionPressureProfile_[i][1] = referencePressure + 0.5*rho*v*v; }

}

Foam::vector Foam::unitInjector::tan1(const label) const {

return tangentialInjectionVector1_; }

Foam::vector Foam::unitInjector::tan2(const label) const

{ return tangentialInjectionVector2_; }

// ************************************************************************* //

116

foam/src/injector/unitinjector.h

/*---------------------------------------------------------------------------*\ ========= |

\\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration | \\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd.

\\/ M anipulation | ------------------------------------------------------------------------------- License

This file is part of OpenFOAM.

OpenFOAM is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

OpenFOAM is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License

for more details.

You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.

Class Foam::unitInjector

Description The unit injector

SourceFiles unitInjectorI.H

unitInjector.C unitInjectorIO.C

\*---------------------------------------------------------------------------*/

#ifndef unitInjector_H #define unitInjector_H

#include "injectorType.H" #include "vector.H"

117

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

namespace Foam

{ /*---------------------------------------------------------------------------*\

Class unitInjector Declaration \*---------------------------------------------------------------------------*/

class unitInjector :

public injectorType {

private:

typedef VectorSpace<Vector<scalar>, scalar, 2> pair; // Private data

dictionary propsDict_;

vector position_; vector direction_;

scalar d_; scalar Cd_; scalar mass_;

label nParcels_; scalarField X_; List<pair> massFlowRateProfile_;

List<pair> velocityProfile_; List<pair> injectionPressureProfile_;

List<pair> CdProfile_; List<pair> TProfile_; scalar averageParcelMass_;

bool pressureIndependentVelocity_;

//- two orthogonal vectors that are also orthogonal // to the injection direction

vector tangentialInjectionVector1_, tangentialInjectionVector2_;

// Private Member Functions

118

//- Disallow default bitwise copy construct unitInjector(const unitInjector&);

//- Disallow default bitwise assignment

void operator=(const unitInjector&); //- Create two vectors orthonoal to each other

// and the injection vector void setTangentialVectors();

//- Return the fraction of the total injected liquid scalar fractionOfInjection(const scalar time) const;

public:

//- Runtime type information

TypeName("unitInjector");

// Constructors //- Construct from components

unitInjector(const Time& t, const dictionary& dict);

//- Destructor virtual ~unitInjector();

// Member Functions

//- Return number of particles to inject

label nParcelsToInject ( const scalar t0,

const scalar t1 ) const;

//- Return the injection position const vector position(const label n) const;

//- Return the injection position vector position

( const label n,

119

const scalar time, const bool twoD,

const scalar angleOfWedge, const vector& axisOfSymmetry,

const vector& axisOfWedge, const vector& axisOfWedgeNormal, cachedRandom& rndGen

) const; //- Return the number of holes

label nHoles() const;

//- Return the injector diameter scalar d() const;

//- Return the injection direction const vector& direction

( const label i, const scalar time

) const; //- Return the mass of the injected particle

scalar mass (

const scalar t0, const scalar t1, const bool twoD,

const scalar angleOfWedge ) const;

//- Return the mass injected by the injector scalar mass() const;

//- Return the fuel mass fractions of the injected particle const scalarField& X() const;

//- Return the temperature profile of the injected particle

List<pair> T() const; //- Return the temperature of the injected particle

scalar T(const scalar time) const; //- Return the start-of-injection time

scalar tsoi() const;

120

//- Return the end-of-injection time scalar teoi() const;

//- Return the injected liquid mass

scalar injectedMass(const scalar t) const; List<pair> massFlowRateProfile() const

{ return massFlowRateProfile_; }

scalar massFlowRate(const scalar time) const;

List<pair> injectionPressureProfile() const {

return injectionPressureProfile_; }

scalar injectionPressure(const scalar time) const;

List<pair> velocityProfile() const { return velocityProfile_;

}

scalar velocity(const scalar time) const; List<pair> CdProfile() const;

scalar Cd(const scalar time) const; vector tan1(const label n) const;

vector tan2(const label n) const;

void correctProfiles ( const liquidMixtureProperties& fuel,

const scalar referencePressure );

bool pressureIndependentVelocity() const {

return pressureIndependentVelocity_; } };

121

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //

} // End namespace Foam

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // #endif

// ************************************************************************* //

the follwing spray models are availbale in the foam src:

atomizationModels = spraySubModels/atomizationModel breakupModels = spraySubModels/breakupModel

dragModels = spraySubModels/dragModel evaporationModels = spraySubModels/evaporationModel

heatTransferModels = spraySubModels/heatTransferModel wallModels = spraySubModels/wallModel collisionModels = spraySubModels/collisionModel

dispersionModels = spraySubModels/dispersionModel injectorModels = spraySubModels/injectorModel

also the various models are implemented in the .c code structure is

gven below, /*---------------------------------------------------------------------------*\

========= | \\ / F ield | OpenFOAM: The Open Source CFD Toolbox \\ / O peration |

\\ / A nd | Copyright (C) 2004-2011 OpenCFD Ltd. \\/ M anipulation |

------------------------------------------------------------------------------- License This file is part of OpenFOAM.

OpenFOAM is free software: you can redistribute it and/or modify it

under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OpenFOAM is distributed in the hope that it will be useful, but WITHOUT

ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or

122

FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License

for more details.

You should have received a copy of the GNU General Public License along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.

\*---------------------------------------------------------------------------*/ #include "spray.H"

#include "atomizationModel.H"

#include "breakupModel.H" #include "collisionModel.H" #include "dispersionModel.H"

#include "dragModel.H" #include "evaporationModel.H"

#include "heatTransferModel.H" #include "injectorModel.H" #include "wallModel.H"

#include "basicMultiComponentMixture.H"

#include "symmetryPolyPatch.H" #include "wedgePolyPatch.H"

#include "unitConversion.H"

// * * * * * * * * * * * * * * Static Data Members * * * * * * * * * * * * * // namespace Foam

{ defineTemplateTypeNameAndDebug(Cloud<parcel>, 0);

defineTemplateTypeNameAndDebug(IOPtrList<injector>, 0); }

// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //

Foam::spray::spray ( const volVectorField& U,

const volScalarField& rho, const volScalarField& p, const volScalarField& T,

const basicMultiComponentMixture& composition, const PtrList<gasThermoPhysics>& gasProperties,

123

const dictionary&, const dimensionedVector& g,

bool readFields )

: Cloud<parcel>(U.mesh(), false), // suppress className checking on positions

runTime_(U.time()), time0_(runTime_.value()), mesh_(U.mesh()),

rndGen_(label(0), -1), g_(g.value()),

U_(U), rho_(rho),

p_(p), T_(T),

sprayProperties_ (

IOobject ( "sprayProperties",

U.time().constant(), U.db(),

IOobject::MUST_READ_IF_MODIFIED, IOobject::NO_WRITE )

), ambientPressure_(p_.average().value()),

ambientTemperature_(T_.average().value()),

injectors_ ( IOobject

( "injectorProperties",

U.time().constant(), U.db(), IOobject::MUST_READ_IF_MODIFIED,

IOobject::NO_WRITE ), injector::iNew(U.time())

), atomization_

124

( atomizationModel::New

( sprayProperties_,

*this ) ),

drag_ ( dragModel::New

( sprayProperties_

) ), evaporation_

( evaporationModel::New

( sprayProperties_ )

), heatTransfer_ (

heatTransferModel::New (

sprayProperties_ ) ),

wall_ ( wallModel::New

( sprayProperties_,

U, *this )

), breakupModel_

( breakupModel::New (

sprayProperties_, *this )

), collisionModel_

125

( collisionModel::New

( sprayProperties_,

*this, rndGen_ )

), dispersionModel_ (

dispersionModel::New (

sprayProperties_, *this )

),

fuels_ ( liquidMixtureProperties::New

( mesh_.lookupObject<dictionary>("thermophysicalProperties") )

), injectorModel_

( injectorModel::New (

sprayProperties_, *this )

),

subCycles_(readLabel(sprayProperties_.lookup("subCycles"))), gasProperties_(gasProperties),

composition_(composition),

liquidToGasIndex_(fuels_->components().size(), -1), gasToLiquidIndex_(composition.Y().size(), -1), isLiquidFuel_(composition.Y().size(), false),

twoD_(0), axisOfSymmetry_(vector::zero),

axisOfWedge_(vector(0,0,0)), axisOfWedgeNormal_(vector(0,0,0)),

126

angleOfWedge_(0.0),

interpolationSchemes_(sprayProperties_.subDict("interpolationSchemes")),

UInterpolator_(NULL), rhoInterpolator_(NULL), pInterpolator_(NULL),

TInterpolator_(NULL), sms_(mesh_.nCells(), vector::zero),

shs_(mesh_.nCells(), 0.0), srhos_(fuels_->components().size()),

totalInjectedLiquidMass_(0.0), injectedLiquidKE_(0.0)

{

// create the evaporation source fields forAll(srhos_, i) {

srhos_.set(i, new scalarField(mesh_.nCells(), 0.0)); }

// Write some information about injection parameters forAll(injectors_, i)

{ const injectorType& it = injectors_[i].properties();

scalar v = injection().averageVelocity(i); scalar ip = it.integrateTable(it.injectionPressureProfile());

scalar dt = it.teoi() - it.tsoi(); Info<< "Average Velocity for injector " << i << ": " << v << " m/s"

<< ", injection pressure = " << 1.0e-5*ip/dt << " bar" << endl;

}

// Check if the case is 2D wedge const polyBoundaryMesh& bMesh = mesh().boundaryMesh(); bool symPlaneExist = false;

bool wedgeExist = false; label patches[2]; label n=0;

// check for the type of boundary condition

127

forAll(bMesh, patchI) {

if (isA<symmetryPolyPatch>(bMesh[patchI])) {

symPlaneExist = true; } else if (isA<wedgePolyPatch>(bMesh[patchI]))

{ wedgeExist = true; patches[n++] = patchI;

} }

// if wedge exist we assume that this is a 2D run. twoD_ = wedgeExist;

if (twoD_)

{ if (n<2) {

FatalErrorIn ( "spray::spray(const volVectorField& U, "

"const volScalarField& rho, const volScalarField& p, " "const volScalarField& T, const combustionMixture&

composition," "const PtrList<gasThermoPhsyics>& gaseousFuelProperties, " "const dictionary& thermophysicalProperties, "

"const dimensionedScalar& g)" ) << "spray::(...) only one wedgePolyPatch found. " "Please check you BC-setup."

<< abort(FatalError); }

Info<< "Constructing two dimensional spray injection.";

vector v1 = bMesh[patches[0]].faceAreas()[0]; vector v2 = bMesh[patches[1]].faceAreas()[0];

v1 /= mag(v1); v2 /= mag(v2); axisOfSymmetry_ = v1 ^ v2;

axisOfSymmetry_ /= mag(axisOfSymmetry_); // assuming that 'v2' is the 'front' face

axisOfWedge_ = axisOfSymmetry_ ^ v2; axisOfWedge_ /= mag(axisOfWedge_);

128

axisOfWedgeNormal_ = axisOfSymmetry_ ^ axisOfWedge_;

axisOfWedgeNormal_ /= mag(axisOfWedgeNormal_);

scalar arcCos = (v1 & v2)/mag(v1); angleOfWedge_ = constant::mathematical::pi - acos(arcCos);

Info<< "Calculated angle of wedge is " << radToDeg(angleOfWedge_) << " deg." << endl;

} else

{ if (symPlaneExist) {

angleOfWedge_ = constant::mathematical::pi; Info<< "Constructing 180 deg three dimensional spray injection."

<< endl; } else

{ Info<< "Constructing three dimensional spray injection." << endl; }

}

// find index mapping between liquid indeces and gas indeces label Ns = composition_.Y().size();

forAll(fuels_->components(), i) {

word liquidName(fuels_->components()[i]);

for (label j=0; j<Ns; j++) { word specieName(composition_.Y()[j].name());

if (specieName == liquidName)

{ liquidToGasIndex_[i] = j; gasToLiquidIndex_[j] = i;

isLiquidFuel_[j] = true; } }

if (liquidToGasIndex_[i] == -1) {

129

Info<< "In composition:" << endl; for (label k=0; k<Ns; k++)

{ word specieName(composition_.Y()[k].name());

Info<< specieName << endl; }

FatalError << "The liquid component " << liquidName << " does not exist in the species composition.Y() list.\n"

<< "(Probably not defined in <chem.inp>)" << abort(FatalError);

} }

if (readFields) {

parcel::readFields(*this); } }

// * * * * * * * * * * * * * * * * Destructor * * * * * * * * * * * * * * * //

Foam::spray::~spray()

{}

// ************************************************************************* //