SIMULATION OF DIESEL SPRAY IN A CONSTANT VOLUME COMBUSTION CHAMBER USING OPEN FOAM CFD
-
Upload
polyibadan -
Category
Documents
-
view
0 -
download
0
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.
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.
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()
{}
// ************************************************************************* //