1 Introduction

The breakup of liquid jets into droplet sprays are prevalent in many modern technical applications as well as in nature. They can be found in spray drying, spray painting and medical inhalers. One highly relevant application is the injection of liquid fuel into a combustion chamber of a gas turbine, a combustion engine or a rocket engine. Here the jet breakup is of importance not just due to the economic impact of its efficiency, but also due to the connected environmental impact. In these cases of fuel injection, the jet breakup is not only influenced by the fluid dynamics between the liquid and the gas, but also by the evaporation of the liquid due to the high temperatures involved in this process.

Experimental investigations by Hetsroni and Sokolov [11] are concerned with jets from an internally mixing nozzle for cases with and without evaporation. Their analysis of the velocities show that the jet with evaporation is narrower and that the vapour phase reduces the generation of turbulence. Investigations by Chen et al. [4] on an acetone jet from an air-blast nozzle with phase Doppler interferometry and laser induced florescence analysed anisotropy in the dispersion of droplets and the influence of different flows and droplet sizes on the evaporation rates. In addition to research on evaporating jets, there are also investigations of jets with combustion [37] or jets at supercritical conditions [1]. A good overview of experimental results can be found in the work of Smallwood and Goulder [31].

Numerical simulations can provide useful insights in addition to experiments, as they not only allow for investigations into internal mechanisms, which often prove hard to be obtained from experiments, but also they allow for any variations of material properties and boundary conditions. Due to the highly transient nature of primary jet breakup, Direct Numerical Simulations (DNS) with their high temporal and spatial resolutions are uniquely suited for simulating this breakup. Early DNS investigations by Miller and Bellan [16] look at the interactions of a flow laden with evaporating hydrocarbon droplets in an Euler-Lagrange formulation with a higher temperature gas stream in the opposite direction, focusing on the mixing layer. They investigate the growth of the mixing layer, the saturation of the gas streams and the resulting flow field and analyse the effects of these on the movement and positioning of the droplets and their evaporation. Zeng et al. [38] used a coupled Euler-Euler Level-Set method in combination with a surface regression model to simulate an evaporating jet with a very high Reynolds number. Furthermore, a Lagrange model is used for small particles. To the authors of the present report, this simulation seems unsuited to DNS due to its coarse resolution.

An overview of research on the simulations of reactive multiphase flows is given by Reveillon et al. [22]. They use Euler-Lagrange DNS in combination with a simple reaction rate model to investigate the combustion of a liquid jet. They use their numerical simulations to classify flame sprays and to investigate the influence of acoustic modulation and also present the works of other authors on those topics. Recent results by Barba and Picano [2] present a hybrid Eulerian-Lagrangian DNS of the primary breakup of an acetone jet in the atomization regime. They investigated the reasons for clustering of droplets as well as the influence of clustering on the evaporation.

While research into DNS of the primary jet breakup without evaporation generally uses a purely Eulerian approach for simulations, see Gorokhovski and Hermann [9], for simulations of jets with evaporation, generally, Lagrangian methods combined with a breakup model are used for the treatment of the evaporating droplets. As far as the authors are aware, no DNS of jet breakup exists, where the droplets are not simplified as Lagrangian particles. This however makes it very hard to properly investigate the influence of evaporation on the primary jet breakup. Since the authors of the present report are experienced in the purely Eulerian simulation of primary jet breakup [5, 6] as well as of evaporation [28] they decided to approach this issue.

This work is a first step towards a purely Eulerian simulation of an evaporating jet during atomization. The results will help to better understand the influence of evaporation on the primary breakup.

2 Formulation and Numerical Method

FS3D is a CFD code for multiphase flows which has been developed at ITLR (Institute of Aerospace Thermodynamics) in Stuttgart. Direct Numerical Simulation (DNS) is employed to solve the incompressible Navier Stokes equations, hence, no turbulence models are used. FS3D is based on the Volume of Fluid (VOF) method [12] and makes use of the piecewise linear interface reconstruction (PLIC) method [23]. The energy equation with temperature dependent thermo-physical properties is included and phase change processes, such as evaporation and ice growth, can be considered. Several recent studies in the last twenty years show the efficiency and ability to simulate highly dynamic processes with the code. These comprise dynamic processes, droplet deformation [25], droplet impact onto thin films [8], droplet collisions [27], droplet wall interactions [26], bubbles [36], evaporating droplets [30] as well as rigid particle interactions [20] and liquid jets [6, 29, 39].

The flow field is computed by solving the governing equations for mass, momentum and energy conservation which are given by

$$\begin{aligned} \rho _{t} + \nabla \cdot \left( \rho \mathbf u \right) = 0, \end{aligned}$$
(1)
$$\begin{aligned} \left( \rho \mathbf u \right) _{t}+ \nabla \cdot \left[ \left( \rho \mathbf u \right) \otimes \mathbf u \right] = \nabla \cdot \left( \mathbf S - \mathbf I p \right) + \rho \mathbf g + \mathbf f _{\gamma }, \end{aligned}$$
(2)
$$\begin{aligned} (\rho c_{p} T)_{t} + \nabla \cdot \left( \rho c_{p} T \mathbf u \right) = \nabla \cdot (k \nabla T)+T_{0} \left[ (\rho c_{p})_{t} + \nabla \cdot \left( \rho c_{p} \mathbf u \right) \right] + \varDelta h_{v} \dot{m}'''. \end{aligned}$$
(3)

Here \(\rho \) denotes the density, \(\mathbf u \) the velocity vector, p the static pressure and \(\mathbf S \) is the viscous stress tensor that is defined by \(\mathbf S =\mu \left[ \nabla \mathbf u +(\nabla \mathbf u )^{T} \right] \) for Newtonian fluids with \(\mu \) representing the dynamic viscosity; \(\mathbf {g}\) describes the volume forces, such as gravity, and \(\mathbf {f}_{\gamma }\) the body force which is used to model surface tension in the vicinity of the interface. Regarding the energy Eq. (3), \(c_{p}\) denotes the specific heat capacity at constant pressure, T the temperature, \(T_{0}\) the reference temperature for zero enthalpy and k the heat conductivity. \(\varDelta h_{v}\) represents the latent heat of the evaporating fluid and \(\dot{m}'''\) is the volumetric mass source of vapour. The Navier-Stokes equations are discretised using a finite volume method and a Marker and Cell (MAC) grid [10], hence, velocities are stored on cell faces, scalars at cell centres, respectively. To identify different phases, in our case liquid and gas, an additional field variable \(f_{1}\) is introduced based on the VOF method of Hirt and Nichols [12], defined as

$$\begin{aligned} f_{1}(\mathbf x ,t) = \left\{ \begin{array}{ll} 0 &{} \text {in the gaseous phase},\\ ]0;1[ &{} \text {at the interface},\\ 1 &{} \text {in the liquid phase}. \end{array}\right. \end{aligned}$$

The transport equation of the VOF-variable \(f_{1}\) reads

$$\begin{aligned} \left( f_{1} \right) _{t} + \nabla \cdot \left( f_{1} \mathbf u _{\varGamma } \right) = -\dot{m}''' / \rho _{l} \end{aligned}$$
(4)
Fig. 1
figure 1

Schematic of scalar fields of both VOF-variables \(f_{1}\) (black) and \(f_{2}\) (red)

Due to evaporation of the liquid phase we introduce a second VOF-variable \(f_{2}\), which describes the volume fraction of vapour. A schematic of both variables and the appearance of the different phases is depicted in Fig. 1. The advection of the volume fraction is described analogously to the \(f_{1}\) transport by

$$\begin{aligned} \left( f_{2} \right) _{t} + \nabla \cdot \left( f_{2} \mathbf u _{gp} \right) = \nabla \cdot \left( \mathfrak {D}_{bin} \nabla f_{2} \right) + \dot{m}''' / \rho _{v} \, . \end{aligned}$$
(5)

The velocities in both transport equations \(\mathbf u _{\varGamma }\) and \(\mathbf u _{gp}\), which denote the advection velocity of the interface and the gaseous phase, respectively, differ due to the volume generation due to evaporation. Furthermore, \(\rho _{l}\) and \(\rho _{v}\) are the liquid and vapour density. The diffusion of vapour inside the gas is considered by the binary diffusion coefficient \(\mathfrak {D}_{bin}\). Following the one-field-formulation the local fluid properties are calculated with the volume fractions, e.g. the density is determined as

$$\begin{aligned} \rho (\mathbf x ,t)= \rho _{l} f_{1}(\mathbf x ,t) + \rho _{v} f_{2}(\mathbf x ,t)+ (1- f_{1}(\mathbf x ,t) - f_{2}(\mathbf x ,t) )\rho _{g} \, . \end{aligned}$$
(6)

The volumetric mass source of vapour \(\dot{m}'''\) is present only in interfacial cells. It is obtained by multiplying the local area specific mass source of vapour \(\dot{m}''\), which is based on the gradient of vapour mass fraction \(X_{v}\), with the local interface density \(a_{\varGamma }\). Following the derivation of Kays et al. [13] it can be calculated as

$$\begin{aligned} \dot{m}'' = \frac{\mathfrak {D}_{bin} \rho _{gp}}{1 - f_{1}} \nabla X_{v} \hat{\mathbf{n }}_{\varGamma } \end{aligned}$$
(7)

The vapour pressure at the surface is assumed to be the saturation pressure and is estimated using the Wagner equation. For more details regarding this method the reader is referred to Schlottke and Weigand [30].

For the calculation of the fluxes FS3D makes use of the piecewise linear interface reconstruction (PLIC) method proposed by Rider and Kothe [23]. Therewith, the required sharp interface can be achieved in order to suppress numerical dissipation. Two advection methods are implemented in FS3D. An algorithm, based on Strang splitting [32], where three one-dimensional non-conservative transport equations in each direction are considered successively , and a fully three dimensional advection method, which uses a construction of a six-faced polyhedron for a more realistic approximation of the volume fluxes [21]. The surface tension can be computed using different models. The conservative continuous surface stress (CSS) model by Lafaurie et al. [14], the continuum surface force model (CSF) by Brackbill et al. [3], and the balanced force approach by Popinet [17] are implemented. The Poisson equation for pressure, which is a condition resulting from the incompressible formulation, is solved implicitly. To solve this, two methods are currently implemented: the first one solves the resulting set of linear equations with a multigrid solver, which uses a Red Black Gauss Seidel algorithm for smoothing and can be run in a V- or W-cycle scheme [24]. The second one uses the recently integrated software package UG4, which is a massively parallel geometric multigrid solver [33,34,35]. It was developed at the Goethe Center for Scientific Computing at the Goethe University in Frankfurt, and it was designed for the efficient solution of partial differential equations. For more details regarding the integration into FS3D the reader is referred to Ertl et al. [5]. Due to the high computational effort of DNS the code is fully parallelised using MPI and OpenMP. Up to now simulations with a maximum of eight billion computational cells have been conducted at the High Performance Computing Center Stuttgart (HLRS) and first tests with over eight billion cells have been run successfully. FS3D is well validated and has good performance on the Cray XC40 Hazel Hen supercomputer [5, 18].

3 Numerical Setup

All simulations are performed on a three-dimensional regular grid. All jet simulations are performed twice, first without evaporation and then with evaporation according to the method described in Sect. 2. An overview of the computational domain is shown in Fig. 2. It is identical for both kind of simulations. The nozzle inflow boundary condition, which is placed at the centre of the left side, has a diameter of \(D_{0} = 2.5 \cdot 10^{-3} \,\text {m}\). The whole domain is of rectangular shape with a length \(l = 20D\) and a quadratic base with \(h = w = 8D\). The left side, except for the nozzle, is set as a no-slip wall, whereas all other sides have a continuous (Neumann, zero gradient) boundary condition. For the inlet velocity profile we choose a parabolic profile with a maximum velocity of \(U_{0} = 10.3 \, \text {m/s}\), a turbulent intensity of \({ Tu} = 10\%\) and turbulent length scale of \(L_t = D_{0} / 8 = {3.125}\times 10^{-4} \, \text {m}\). Gravitational acceleration has been neglected.

Fig. 2
figure 2

Computational domain and coordinate system of jet simulation. No slip wall and inflow boundary condition on the left side. Orange arrow indicates the direction of injection.

In x-direction the domain is discretized with 1536 cells and in y- and z-direction with 512 cells, respectively. In the y-z-plane we apply a grid refinement, which leads to a higher grid resolution in the centre around the jet and, therefore, the setup satisfies the necessary spatial resolution according to the Kolmogorov length scale for the considered Reynolds number and the Ohnesorge number. The dimensionless numbers are calculated as

$$\begin{aligned} Re = \frac{\rho _l U_0 D }{\mu _l} = \text{30,000 } \, , \end{aligned}$$
(8)
$$\begin{aligned} Oh = \frac{\mu _0}{\sqrt{\rho _l \sigma D_{0}}} = 0.002 \, . \end{aligned}$$
(9)

This places the jet into the atomisation regime. Due to preceding simulations with evaporation and several validations discussed in Sect. 2, we choose water at \(300 \, \text {K}\) as the liquid and dry air at the same temperature as the surrounding gas. Further investigations with higher temperature and, hence, higher evaporation rates are planned in the future. All required material properties are shown in Table 1. The diffusion coefficient is only defined for vapour and air, and diffusion into the liquid phase is neglected. For the simulation without evaporation only density, viscosity and surface tension are needed.

Table 1 Material properties

4 Results

In the following the results of the simulation are analysed, starting with an investigation of the morphology of the jet. Therefore, the structure, and the generation of ligaments and droplets, as well as their development and behaviour are discussed. The main focus is put on the comparison of the two simulations and the evaluation not only of occurring differences but also of potential similarities. For an easier differentiation we call the simulation without evaporation “Case 1” and the one with evaporation “Case 2”, respectively. Furthermore, we use the following dimensionless time for our investigations

$$\begin{aligned} t^* = \frac{U_{0} ~ t}{D} \, . \end{aligned}$$
(10)

Since the evaporation method was never applied before in a simulation with many droplets of different sizes at the same time or even never in a jet simulation, it is essential to get an initial rough impression of the behaviour of the evaporating jet. In Fig. 3 the simulation of the evaporating jet is shown at \(t^*= 21.0\). Both VOF-variables are depicted, \(f_{1}\) as a contour plot, showing the iso-surface through \(f_{1} = 0.5\), representing the liquid water jet surface and \(f_{2}\) as a volume rendering indicating the concentration of vapour. Close to the nozzle exit (inflow boundary) the jet exhibits a cylindrical liquid core, with visible wave-like surface deformations. In stream wise direction the jet breaks up into a spray composed of ligaments and droplets. In the regions around this spray the vapour concentration shows peaks. The breakup of the liquid jet as well as the development of ligaments and droplets are in good accordance with existing investigations [6]. Likewise, the propagation of the vapour is as expected. In the central region of the spray, which due to the large amount of ligaments and droplets provides the highest amount of liquid surface, we get the highest amount of evaporation. Indeed, evaporation happens around all droplets, which can be well observed for separated droplets moving away from the jet. The physical behaviour exhibited in the simulation are in good accordance with the behaviour of evaporating jets described in literature [11].

Fig. 3
figure 3

Simulation of an evaporating jet simulated with FS3D. The vapour field,  which is represented by the VOF-variable \(f_{2}\), is depicted as a rendered volume. The fluid is shown as a contour in blue \(f_{1} = 0.5\)

Fig. 4
figure 4

Comparison of the spatial developement of both jets at different dimensionless times \(t^*=2.5\), \(t^*=9.5\) and \(t^*=21.0\). Both sequences show the contours of the \(f_{1}\)-field, on the left side without evaporation and on the right side with evaporation

The evolution of both jets after injection at times \(t^*=2.5\), \(t^*=9.5\) and \(t^*=21.0\) is shown in Fig. 4; on the left side the jet without evaporation (Case 1) and on the right side with evaporation (Case 2) are shown. Only the \(f_{1}\)-field is shown for both simulations, to reduce visual occlusion. At \(t^*=2.5\), after the injection, the jet core still has a cylindrical shape. The jet core is disturbed by the turbulence of the nozzle flow, as well as by the interaction with the ambient atmosphere, which causes three dimensional waves to form on the jet surface. These waves are less developed for the simulation with evaporation. This can be seen especially well on the surface of the parabolic shaped core close to the nozzle exit. In addition, the breakup process in Case 1 seems more developed, showing a larger expansion of the jet and a higher number of detached droplets. This behaviour is in good accordance with literature, where i.e. Hetsroni and Sokolov [11] found, that evaporation damps the turbulence, thereby smoothing the disturbances.

Small droplets, which naturally form in both cases, can be observed to disappear in Case 2. This is because the droplets fully evaporate. This process becomes clear from Fig. 5. Here a 2D slice through the centre of the z-direction of the liquid is shown for both cases at \(t^*=7.0\), with the vapour concentration overlaid for Case 2. The simulation without evaporation, which is displayed at the top, differs particularly in regions further downstream and further in radial direction, compared to the one with evaporation. In Case 1 more droplets can be observed in these regions, whereas in Case 2 droplets have already evaporated and only swathes of vapour remain, indicated by the detached red areas of high vapour concentration.

Fig. 5
figure 5

Comparison of Case 1 (top) and Case 2 (bottom) at \(t^*=7.0\). Both jets show 2D slices at the centre of the z-direction. The liquid is represented by the \(f_1\)-variable with a value larger than 0.5. In the jet with evaporation the vapour is highlighted for the sake of visibility in a yellow-red-white colour scheme

These small developed vapour flow fields in the wake of single detached droplets are in good accordance with the literature, as similar phenomena have been investigated in the past. For instance Schlottke and Weigand [30] simulated (DNS) evaporating single droplets and investigated the vapour distribution in the zone around and especially behind a droplet in an airflow. A good example of these flow fields is highlighted in the green rectangle in Fig. 5.

The jets generally evolve in a similar way towards times \(t^*=14.2\) and \(t^*=21.0\), as depicted in Fig. 4. This relates especially to the deformation of the surface due to the interaction with the surrounding air. As a consequence, surface waves start to detach from the jet core and form ligaments. These then disintegrate further and break up into droplets. The atomisation of the jet can be seen clearly. This behaviour is in good agreement with the classification of breakup regimes by Ohnesorge [15] as was to be expected from previous studies (e.g. [6]).

Fig. 6
figure 6

Droplet size distribution for Case 1: no evaporation (left) and Case 2: with evaporation (right), with the Weibull distribution in red for time \(t^*=21.0\)

The size distribution for the droplets is shown in Fig. 6, for both cases, together with the Weibull distribution. To obtain this result the separated liquid components were identified in a post-processing step and their equivalent diameter was calculated from their liquid mass. The results are in accordance with our other observations, showing more droplets in the three smallest size categories for the evaporating jet. It is especially noticeable, that without evaporation a very small amount of droplets in the size categories 0.12 and \({0.17}\, \text {cm}\) are visible, while in the case without evaporation none were observed. The peak of the Weibull curve is also shifted farther towards small droplet sizes for this case. The average droplet diameters have been calculated to be \(d_{Case 1}^{av} = 0.0233 \, \text {cm}\) for Case 1 and as \(d_{Case 2}^{av} = 0.0229 \, \text {cm}\) for Case 2. Thus, the evaporation leads to smaller droplets.

A calculation of the jet angle gives for Case 1 \(\alpha _{Case 1} = {26.90}^{\circ }\) and for Case 2 \(\alpha _{Case 2} = {26.54}^{\circ }\) for time \(t^*=21.0\). The jet angle was calculated from the distance of the centre of mass of the droplets to the centre of the nozzle exit (inflow boundary condition). The \(5\%\) most distant results were discarded as outliers. The influence of evaporation on the jet angle is neglectable in this case.

5 Computational Performance

5.1 Dynamic Memory Allocation: Pointer Versus Allocatable Arrays

The majority of FS3D data field are dynamically allocated. That is, their size is specified during execution and memory space is allocated and deallocated at run time. In the Fortran 95 standard, allocatable arrays or arrays with pointer attribute can both be used for dynamic memory management. Allocatable arrays are associated unequivocally to a specific place in memory after their allocation, whereas pointers can refer to different memory spaces during execution. This feature of pointer variables is useful in numerous programming applications, such as abstract data types or linked lists. It has been reported by HLRS experts that the use of pointers can hinder good optimization by the compiler, because at compilation time the memory spaces referred to by the pointer variables are unclear. Therefore, it is recommended to replace pointers with allocatable arrays when possible.

For historical reasons, the great majority of FS3D data field have, however, been declared with the pointer attribute, even if they could have been replaced by allocatable arrays. With the hope of enhancing FS3D computational efficiency, we created a novel version of the code in which a great part of the pointer arrays were replaced by allocatable arrays.

The performance analysis of the new code version with allocatable arrays instead of pointers is carried out by simulating an oscillating droplet. The baseline case is an elongated droplet which is initialised as an ellipsoid with the semi-principal axis \(a=b=1.357\) and \(c=0.543 \) mm at the centre of a cubic domain with an edge length of \(x = y = z = 8 \, \text {mm}\). The fluid of the droplet is water at \(293 \, \text {K}\). We used a fixed computational Cartesian grid with \(512^3\) cells and varied the number of processors from \(2^3\) up to \(16^3\). Since we did not use hyperthreading, the number of processors corresponds to the number of processes. The details of the analysis setup are shown in Table 2. Here, we used only spatial domain composition with MPI parallelization. For information on FS3D performance with hybrid OpenMP and MPI operation see [19] and [7].

Table 2 Strong scaling setup

All the simulations were carried out for the same number of cycles and with a constant processor clock rate (2.5 GHz). From the average processor time, we estimated the number of cycles per hour (CPH), which in turn was used to calculate the strong scale efficiency (SSE). The latter is defined as:

$$\begin{aligned} SSE = \frac{CPH_N}{N \times CPH_1}. \end{aligned}$$
(11)

As we don‘t have a case with just one processor, Eq. (11) changes to

$$\begin{aligned} SSE = \frac{CPH_N}{N/8 \times CPH_8}. \end{aligned}$$
(12)

The number of cycles per hour for each simulation are shown in Table 3. As expected, the code version with allocatable arrays is generally faster (see Fig. 7, left), with the only exception of the 4096 processor case. Here however, the MPI-communication takes about \(96\%\) of the entire simulation time (\(93\%\) for the pointer version). We can infer therefore, that this latter case is not representative of the performance of allocatable over pointer arrays. From the right side of Fig. 7, it can be seen that the two code versions have a very similar trend for the strong scale efficiency. This indicates that the conversion from pointer to allocatable arrays had little influence on the MPI-communication. The larger difference was observed for the 512 processor case (\(64^3\) cells per processor), where the code with allocatable arrays was about \(44\%\) faster.

Table 3 Number of cycles per hour for the simulated cases
Fig. 7
figure 7

Number of cycles per hour (on the left) and strong scaling efficiency (on the right) over the number of processes for the code versions with allocatable and pointer arrays. In the first graph, the linear speed up for both code versions is shown for comparison

6 Conclusions

We set up direct numerical simulations of the breakup of a liquid water jet at moderate temperatures and Reynolds numbers injected into an air atmosphere at the same temperature. We used the Volume of Fluid (VOF) method to capture the liquid phase and we solved the energy equation in combination with the introduction of a second volume fraction for the vapour phase for simulating evaporation of the jet. We did an additional simulation without evaporation for comparison.

We analysed the morphology of the liquid phase, as well as the distribution of the vapour concentration. We observed a damping effect of the evaporation on the turbulence disturbing in the jet. We also observed the evaporation of liquid, especially for droplets, due to their larger surface area. This result has been confirmed via calculating the droplet size distribution, showing more smaller droplets in the case of evaporation. These observations are in good accordance with results from literature analysing experimental and numerical investigations.

Due to the isothermal initial conditions and an ambient atmosphere, which is far from the boiling point, the evaporation rate was comparably small. Consequently, it doesn’t affect the fluid dynamic of the jet and the atomisation as strongly as, for instance, flash boiling would do. Nevertheless, differences could already be observed and quantified.

The main objective of this study was to examine the feasibility and assess, if FS3D is capable of simulating a jet with evaporation. After a successful evaluation of this, further investigations are planned in the future, especially with higher temperatures and, therefore, with higher evaporation rates.

In addition, we replaced the large pointer arrays in our Fortran code with allocatable arrays. This measure led to an increase in serial performance, which effects also scale up to several thousand processors.