Content uploaded by Johan Roenby

Author content

All content in this area was uploaded by Johan Roenby on Apr 05, 2017

Content may be subject to copyright.

VII International Conference on Computational Methods in Marine Engineering

MARINE 2017

M. Visonneau, P. Queutey and D. Le Touz´e (Eds)

A NEW VOLUME-OF-FLUID METHOD IN OPENFOAM

Johan Roenby∗, Bjarke Eltard Larsen?, Henrik Bredmose†AND Hrvoje

Jasak‡

∗DHI, Agern All 5, 2970 Hørsholm, Denmark, e-mail: jro@dhigroup.com

?DTU Mechanical Engineering, Richard Petersens Plads, 2800 Kgs. Lyngby, Denmark, e-mail:

bjelt@mek.dtu.dk

†DTU Wind Energy, Technical University of Denmark, Nils Koppels Alle, 2800 Lyngby,

Denmark

‡Faculty of Mechanical Engineering and Naval Architecture, University of Zagreb, Ivana

Lucica 5, Zagreb, Croatia

Key words: CFD, Marine Engineering, Interfacial Flows, IsoAdvector, VOF Methods, Surface

Gravity Waves

Abstract. To realise the full potential of Computational Fluid Dynamics (CFD) within ma-

rine science and engineering, there is a need for continuous maturing as well as veriﬁcation

and validation of the numerical methods used for free surface and interfacial ﬂows. One of the

distinguishing features here is the existence of a water surface undergoing large deformations

and topological changes during transient simulations e.g. of a breaking wave hitting an oﬀ-

shore structure. To date, the most successful method for advecting the water surface in marine

applications is the Volume-of-Fluid (VOF) method. While VOF methods have become quite

advanced and accurate on structured meshes, there is still room for improvement when it comes

to unstructured meshes of the type needed to simulate ﬂows in and around complex geometric

structures. We have recently developed a new geometric VOF algorithm called isoAdvector for

general meshes and implemented it in the OpenFOAM interfacial ﬂow solver called interFoam.

We have previously shown the advantages of isoAdvector for simple pure advection test cases

on various mesh types. Here we test the eﬀect of replacing the existing interface advection

method in interFoam, based on MULES limited interface compression, with the new isoAd-

vector method. Our test case is a steady 2D stream function wave propagating in a periodic

domain. Based on a series of simulations with diﬀerent numerical settings, we conclude that the

introduction of isoAdvector has a signiﬁcant eﬀect on wave propagation with interFoam. There

are several criteria of success: Preservation of water volume, of interface sharpness and shape,

of crest kinematics and celerity, not to mention computational eﬃciency. We demonstrate how

isoAdvector can improve on many of these parameters, but also that the success depends on the

solver setup. Thus, we cautiously conclude that isoAdvector is a viable alternative to MULES

when set up correctly, especially when interface sharpness, interface smoothness and calcula-

tion times are important. There is, however, still potential for improvement in the coupling of

isoAdvector with interFoam’s PISO based pressure-velocity solution algorithm.

1

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

1 INTRODUCTION

Computational Fluid Dynamics (CFD) is quickly gaining popularity as a tool for testing and

optimising marine structural designs and interaction with the surrounding water environment.

A concrete example is the assessment of extreme wave loads on oﬀshore wind turbine founda-

tions of various types and shapes. From a numerical perspective, one of the great challenges

within marine CFD is accurate description and advection of a complex free surface, or air-water

interface. Various solution strategies have been developed to cope with this challenge[1]. The

most widely used within practical interfacial CFD is the Volume-of-Fluid (VOF) method. In

VOF, the interface is indirectly represented by a numerical ﬁeld describing the volume fraction

of water within each computational cell. The game of VOF is then about “guessing” how much

water is ﬂoating across the faces between adjacent cells within a time step. VOF methods come

in two variants: 1) geometric VOF methods, using geometric operations to reconstruct the ﬂuid

interface inside a cell and to approximate the water ﬂuxes across faces, and 2) algebraic VOF

methods, relying on the limiter concept to blend ﬁrst and higher order schemes in order to

retain sharpness and boundedness of the time advanced VOF ﬁeld. Geometric VOF schemes are

typically much more accurate, but also computationally more expensive, complex to implement,

and restricted to certain types of computational meshes, such as hexahedral meshes. Algebraic

VOF schemes, on the other hand, are less accurate, but often faster, easier to implement, and

developed for general mesh types[2].

In marine applications, we often encounter complex geometries that are impossible, or at

least very diﬃcult, to represent properly with a structured mesh. Hence, most free surface CFD

within marine engineering is based on algebraic VOF methods. Therefore, such simulations

often require excessive mesh resolution and therefore long calculation times to obtain the desired

solution quality.

To address the need for an improved computational interface advection method, we have

developed a new VOF approach called IsoAdvector[3]. It is geometric of nature both in the

interface reconstruction and advection step, but is applicable on general meshes consisting of

arbitrary polyhedral cells. In the interface reconstruction, we take a novel approach using

isosurface calculations to ﬁnd the interface position and orientation in the intersected cells. In

the advection step, we rely on calculation of the face-interface intersection line sweeping a mesh

face during a time step. This avoids expensive calculations of intersections between cells and

ﬂux polyhedra[4]. For a thorough description of the isoAdvector concept the reader is referred

to [3].

We have previously demonstrated using pure advection test cases that our new approach

leads to accurate interface advection on both structured and unstructured meshes without com-

promising calculation times[3]. In OpenFOAM’s interfacial ﬂow solver, interFoam, each time

step starts by a MULES based update of the interface, followed by an update of the pressure

and velocity, using a variant of the PISO algorithm[2]. In this segregated solution approach

we can simply remove the MULES code snippet and replace it by a corresponding isoAdvector

based snippet. To complete the replacement of MULES with isoAdvector, we must also calculate

the mass ﬂux across the faces – the quantity called rhoPhi in the interFoam code – based on

isoAdvector, since this is needed in the convection term for the velocity ﬁeld in construction and

solution of the discretised momentum equations. In [5], we show how to derive a simple expres-

2

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

sion for rhoPhi from the mass ﬂuxes provided by isoAdvector. The resulting solver is called

interFlow and is provided as open source together with the isoAdvector library and various test

cases at github.com/isoadvector.

In the following, we investigate the ability of interFlow and interFoam to propagate a stream

function wave for 10 wave periods across a computational domain, which is exactly one wave

length long and has periodic boundary conditions on the sides.

Figure 1: The initial wave shape. The deﬁning wave parameters are the water depth: D = 20

m, wave height: H = 10 m, wave period: T = 14 s and mass transport velocity: ¯u2= 0 m/s.

Some derived quantities are the wave length: L = 193.23 m, steepness: H/L = 0.052, celerity:

c = 13.80 m/s, crest height: hcrest = 7.25 m, crest particle speed: ucrest = 5.95 m/s, trough

height: htrough = -2.75 m, trough particle speed: utroug h = -2.25 m/s.

2 PHYSICAL SETUP

A stream function wave is a periodic steady wave calculated from potential ﬂow theory using

a truncated Fourier expansion of the surface and stream function describing the wave. The

Fourier coeﬃcients are calculated using a numerical root ﬁnding method in parameter space

and by growing the wave height in steps so the solution procedure can be seeded with an Airy

wave. For details on the solution procedure the reader is referred to [6]. Here we adopt the

wave used in [7] and shown in Fig. 1, which also gives the wave parameters in the caption. The

advantage of using stream function wave theory as opposed to Stokes N’th order theory for the

input wave is that the former does not rely on the smallness of the wave amplitude, which is

the Taylor expansion parameter of Stokes wave theory.

One thing to keep in mind, when attempting to reproduce potential theory waves in CFD is

that these waves are calculated under the assumption of a free surface, i.e. zero pressure and

no air phase on top of the water surface. In our simulation we have a second phase above the

water and we are free to set the densities of the two phases. The water density will be set to

1000 kg/m3. Ideally, we would like to set the air density to zero for our stream function test

case, but numerical stability issues limit how low we can set the air density. We choose an air

density of 1 kg/m3, which is close to the real physical value. This is a good compromise, on one

hand high enough to limit high density ratio related instabilities at the interface, and on the

other hand low enough to make the air behaving like a “slave ﬂuid” moving passively out of the

way in response to motion of the much heavier water surface.

The viscosities in both phases is set to zero in accordance with potential ﬂow theory and we

have deactivated the turbulence model. This amounts to running the solver in “Euler equation

3

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

mode”, albeit the numerics will to some extend introduce an eﬀective dissipation leading to a

lack of strict energy conservation.

For waves on the space and time scales considered here surface tension is irrelevant and we

set it to zero in our simulations.

3 NUMERICAL SETUP

The interFoam and interFlow solvers used in this study are based on the OpenFOAM-v1612+

version provided by ESI-OpenCFD. The details of the PISO algorithm implementation are

described in [2] and can be studied by inspecting the OpenFOAM code library, which is freely

available at openfoam.com.

For all simulations in the following the sides have periodic boundary conditions for both the

VOF-ﬁeld, α, the velocity ﬁeld, U, and the pressure, p. On the top and bottom we have zero

normal gradient for αand p, and a slip boundary condition for U.

The mesh type with square cells and two reﬁnement zones covering the interface region is

show in Fig. 1. This is the ﬁnest mesh used in this study with 20 cells per wave height and

384 cells per wavelength in the interface region. Two coarser meshes with square cells were also

used: One with the ﬁnest reﬁnement removed, yielding 10 cells per wave height, and a very

coarse mesh with no reﬁnement at all and only 5 cells per wave height.

In all simulations we use adaptive time stepping based on a maximum allowed CFL number.

We show results with CFL = 0.1, 0.2 and 0.4. It should be noted that in water wave simulations

with interFoam the velocities in the air phase above the water surface are often higher than

the maximum velocities in the water volume. The air behaviour depends a lot on the choices

of numerical schemes and settings, but for our density ratio of 1:1000, it is not uncommon to

see air velocities that are 2-3 times higher than the velocity of the water particles in the wave

crests. Thus, in a simulation with a maximum allowed CLF number of 0.1 the actual maximum

CFL number in the water volume may in fact stay below 0.05. It might be fruitful to introduce

in the time stepping algorithm a separate CFL limit for each of the two phases.

Besides mesh and time resolution, the accuracy of wave propagation simulations depends

on the choices of schemes for the diﬀerent terms in the momentum equations. In particular

the results are sensitive to the choice of time integration scheme. Therefore, in what follows,

we show results for both pure Euler time integration and a 50% mixture of Euler and Crank-

Nicolson. Another inﬂuential scheme is the momentum convection scheme. The convective term

is linearized and treated implicitly, so we use the face mass ﬂuxes from a previous time step or

iteration to advect the updated velocity ﬁeld through the face. For the cell-to-face interpolation

involved in the discretisation of the convective term we use a TVD method specialised for vector

ﬁelds, called limitedLinearV in OpenFOAM terminology. This scheme requires speciﬁcation of

a coeﬃcient in the range ψ∈[0,1], where 0 gives best accuracy and 1 gives best convergence[8].

In the following we use ψ= 1.

All discretisation schemes and solver settings used in the presented simulations are listed in

Appendix A and B to allow the reader to verify our results.

4

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

4 RESULTS

In the subsequent two sections we ﬁrst vary the spatial resolution and then the CFL num-

ber to investigate its eﬀect on the wave propagation properties of interFlow (isoAdvector) and

interFoam (MULES).

IsoAdvector

Euler

MULES

Crank–Nicolson 0.5

1

Figure 2: Surface elevation after 10 wave periods with CFL = 0.1. For convenience of plotting

the horizontal axis has been compressed by a factor of 10. Black: Exact, Green: H/dx = 5,

Blue: H/dx = 10, Red: H/dx = 20. Top panels: Euler time discretisation. Bottom panels: 50%

blended Crank-Nicolson and Euler time integration. Left panels: interFlow/IsoAdvector. Right

panels: interFoam/MULES.

4.1 Mesh reﬁnement study

To investigate the eﬀect of spatial resolution we simulate for L/dx = 5, 10 and 20 the prop-

agation of the wave through the periodic domain for 10 wave periods (140 s) and plot the ﬁnal

surface curve compared to the exact theoretical solution. The results are shown in Fig. 2. We

observe that:

•In terms of surface shape preservation the best performance is obtained with isoAdvector

on the ﬁnest mesh where MULES gives a wiggly surface.

•In spite of the wiggly surface MULES is superior in terms celerity on the ﬁnest mesh with

5

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

almost no visible phase shift.

•Using isoAdvector on the coarsest mesh leads to excessive decay in wave height.

•On the intermediate mesh isoAdvector also has excessive wave height decay with Euler

but not with Crank-Nicolson.

•MULES with Euler looks surprisingly good on the coarsest mesh. Inspection of the time

series reveals that this is a “lucky” snapshot right after the wave has broken due to excessive

steepening. In general it can not be recommended to use meshes with only 5 cells per wave

height with the numerical setup used here.

In Table 1 we show the time it took for the simulation of the 10 periods to ﬁnish on a single

core for the diﬀerent combinations of schemes and resolutions. IsoAdvector is signiﬁcantly faster

than MULES for all combinations except for the H/dx = 10 with Euler. For the best settings,

H/dx=20 and Crank-Nicolson, isoAdvector is 32% faster than MULES and slightly faster than

the MULES-Euler combination.

H/dx isoAdvector MULES

5 314 335

10 1892 1228

20 4356 5741

(a) Euler

H/dx isoAdvector MULES

5 304 435

10 918 1669

20 5624 8151

(b) Crank-Nicolson 0.5

Table 1: Simulation times in seconds on a single core for 10 periods.

4.2 Time reﬁnement study

As shown in [3], isoAdvector is accurate in pure advection test cases for CFL number up

to 0.5. It is our experience that isoAdvector works well for such cases even for CFL numbers

closer to (albeit not exceeding) 1. In [3] we also demonstrate how MULES requires CFL <0.1

to converge. We would therefore hope that replacing MULES with isoAdvector in interFoam

could allow more accurate solutions with larger time steps. In Fig. 3 we show the results of an

exercise where we keep the mesh resolution ﬁxed at H/dx = 20 and vary the CFL time step

limit from 0.1 to 0.2 and on to 0.4. We observe that:

•IsoAdvector with Euler gives excessive wave damping for CFL = 0.2 and 0.4.

•IsoAdvector with Crank-Nicolson 0.5 gives slightly worse but acceptable results with CFL

= 0.2 with an increase in phase error and overprediction of wave height.

•IsoAdevctor with Crank-Nicolson and CFL = 0.4 causes severe wave breaking.

•MULES with Euler and CFL = 0.4 crashes before the simulation has ﬁnished.

•In spite of its wiggly surface MULES with CFL = 0.2 is very close to the CFL = 0.1 result

only diﬀering by a small phase error.

6

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

IsoAdvector

Euler

MULES

Crank–Nicolson 0.5

1

Figure 3: Surface elevation after 10 wave periods. For convenience of plotting the horizontal

axis has been compressed by a factor of 10. Black: Exact, Green: CFL = 0.4, Blue: CFL =

0.2, Red: CFL = 0.1. Top panels: Euler time discretisation. Bottom panels: 50% blended

Crank-Nicolson and Euler time integration. Left panels: interFlow/IsoAdvector. Right panels:

interFoam/MULES.

This is somewhat disappointing for our hopes that isoAdvector would allow accurate simu-

lations with large time steps. It should be noted, that the current coupling of isoAdvector with

the pressure-velocity coupling is the simplest possible. Probably one should look for an improve-

ment in this coupling rather than for an improvement in the inner workings of the isoAdvector

method itself.

4.3 Crest velocity proﬁles

An important feature to be able to capture accurately in wave propagation simulations is

the particle kinematics in the wave crest. As for instance shown in [9], many solvers have issues

with overshooting in the particle velocities in the top of the crest. To investigate this, we show

in Fig. 4 the variation in the x-component of the velocity along a line of cells going up through

the wave crest. The results are shown for the simulations with H/dx = 20 and CFL = 0.1 at

time t = 70 s, i.e. after 5 wave periods. It is evident from this ﬁgure that with the current

implementation of isoAdvector into interFoam we get higher overshoots in the crest velocities

than the original interFoam solver with MULES which does a remarkably good job with the

7

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

IsoAdvector

Euler

MULES

Crank–Nicolson 0.5

1

Figure 4: Horizontal velocity in cell centres at wave crest after 5 wave periods of the simulation

with H/dx = 20 and CFL = 0.1. Red: Exact, Green: Simulation result. The α-ﬁeld is shown

in a black-white colour map and the α= 0.001, 0.5 and 0.999 contours are plotted in blue. Top

panels: Euler time discretisation. Bottom panels: 50% blended Crank-Nicolson and Euler time

integration. Left panels: interFlow/IsoAdvector. Right panels: interFoam/MULES.

Crank-Nicolson 0.5 time integration. Since the surface is advected passively in the velocity ﬁeld,

one should think that there was a strong correlation between a solver’s ability to represent these

velocities accurately near the surface and its ability to accurately propagate the surface and

preserve its shape. This does not seem to be the case here where isoAdvector, in spite of its

errors in crest kinematics, produces a better surface, and MULES, in spite of its accurate crest

kinematics, produces a wrinkled surface.

In Fig. 4, we show the interface width by plotting the α= 0.001, 0.5 and 0.999 contours in blue

colour. Careful inspection reveals that the distance between the 0.001 and 0.999 contours with

isoAdvector is 3 which is essentially the theoretical minimal interface width for a VOF method.

The corresponding distance with MULES is approximately twice as large, i.e. approximately 6

cells. This moves the stagnation point, where the air velocity above the crest changes direction,

8

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

one cell closer to the surface. In a true two-phase potential ﬂow solution the tangential jump in

velocity should be right on the interface. In this sense the isoAdvector solution is closer to the

theoretical one.

4.4 Cell aspect ratio

It has previously been shown that the cell aspect ratio can have a signiﬁcant eﬀect on the

propagation of waves in OpenFOAM and on the breaking point of shoaling waves[10]. Clearly,

independence of simulation results on cell aspect ratios and cell shapes in general are highly

desirable features. To investigate how isoAdvector behaves with diﬀerent cell aspect ratios we

have repeated the simulations on a mesh with ﬂat cells (H/dx = 10 and H/dy = 20) and on a

mesh with tall cells (H/dx = 20 and H/dy = 10) in the interface region. The results are shown

in Fig. 5 where they are compared to the ﬁnest resolution results shown previously. We see that

the halving of the cell count in the interface region has only a small eﬀect on the isoAdvector

simulation results. For MULES the surface wrinkles are exacerbated when using tall cells. For

ﬂat cells the wrinkles completely disappear and a slight phase error is introduced.

IsoAdvector

Crank–Nicolson 0.5

MULES

1

Figure 5: Surface elevation after 10 wave periods. For convenience of plotting the horizontal

axis has been compressed by a factor of 10. Black: Exact. Red: square cells, H/dx = H/dy =

20. Blue: Flat cells, H/dx = 10, H/dy = 20. Green: Tall cells, H/dx = 20, H/dy = 10. Top

panels: Euler time discretisation. Bottom panels: 50% blended Crank-Nicolson and Euler time

integration. Left panels: interFlow/IsoAdvector. Right panels: interFoam/MULES.

5 CONCLUSION

We have demonstrated the feasibility of using the new geometric VOF algorithm, isoAdvector,

in the OpenFOAM interfacial ﬂow solver, interFoam, to propagate a steady stream function wave

through a periodic domain. The beneﬁts of using interFlow (interFoam with isoAdvector) as

opposed to MULES is a sharper and more smooth surface, shorter calculation times and less

sensitivity to cell aspect ratio. It is not recommended to use the solver with Euler integration

and fewer than 10 cells per wave height. Satisfactory results are obtained with a 50:50 blend of

Euler and Crank-Nicolson and 20 cells per wave height.

9

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

In spite of problems with a wrinkly surface the original interFoam solver with MULES per-

forms better than interFlow when it comes to phase error (celerity) on the ﬁnest mesh and

reproduction of the theoretical crest kinematics proﬁle. Also, at this stage interFlow does not

produce satisfactory results when running with CFL number >0.2 as one might otherwise hope

due to its ability to advect interfaces accurately at CFL numbers close to 1. We expect that

higher accuracy at larger CFL numbers can be obtained by improving the way isoAdvector is

coupled with the PISO loop in the interFoam solver.

Finally a word of caution regarding this kind of numerical comparisons. Choosing schemes

and solver settings is a delicate procedure which requires some degree of informed guessing. It

may well be that one combination of schemes produces accurate results for a particular test

case because the energy that, say, the chosen time integration scheme erroneously injects into

the system is by pure luck equal to the energy erroneously taken out of the system due to the

coarseness of the mesh. Results may then look reasonable even though the numerical calculation

does not in reality represent the simulated physics properly. A professional CFD engineer should

always stress test her setup with an attitude of trying to prove it wrong, rather than trying to

prove it right.

Acknowledgements

This work was funded by JR’s Sapere Aude: DFF-Research Talent grant from The Danish

Council for Independent Research |Technology and Production Sciences (Grant DFF-1337-

00118) and by DHI’s GTS grant from the Danish Agency for Science, Technology and Innovation.

A Solver settings

PIMPLE isoAdvector

{ {

momentumPredictor yes; interfaceMethod isoAdvector;

nCorrectors 3; isoFaceTol 1e-8;

nOuterCorrectors 1; surfCellTol 1e-8;

nNonOrthogonalCorrectors 0; snapAlpha 1e-12;

nAlphaCorr 1; nAlphaBounds 3;

nAlphaSubCycles 1; clip true;

cAlpha 1; }

pRefPoint (1 0 16);

pRefValue 0;

}

"alpha.water.*" p_rgh

{ {

nAlphaCorr 2; solver GAMG;

nAlphaSubCycles 1; tolerance 1e-8;

cAlpha 1; relTol 0.01;

smoother DIC;

10

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

MULESCorr no; nPreSweeps 0;

nLimiterIter 3; nPostSweeps 2;

nFinestSweeps 2;

solver smoothSolver; cacheAgglomeration true;

smoother symGaussSeidel; nCellsInCoarsestLevel 10;

tolerance 1e-8; agglomerator faceAreaPair;

relTol 0; mergeLevels 1;

} }

pcorr p_rghFinal

{ {

solver PCG; solver PCG;

preconditioner preconditioner

{ {

preconditioner GAMG; preconditioner GAMG;

tolerance 1e-5; tolerance 1e-8;

relTol 0; relTol 0;

smoother DICGaussSeidel; nVcycles 2;

nPreSweeps 0; smoother DICGaussSeidel;

nPostSweeps 2; nPreSweeps 2;

nFinestSweeps 2; nPostSweeps 2;

cacheAgglomeration false; nFinestSweeps 2;

nCellsInCoarsestLevel 10; cacheAgglomeration true;

agglomerator faceAreaPair; nCellsInCoarsestLevel 10;

mergeLevels 1; agglomerator faceAreaPair;

} mergeLevels 1;

tolerance 1e-06; }

relTol 0;

maxIter 100; tolerance 1e-9;

} relTol 0;

maxIter 20;

}

U UFinal

{ {

solver smoothSolver; solver smoothSolver;

smoother GaussSeidel; smoother GaussSeidel;

tolerance 1e-7; tolerance 1e-8;

relTol 0.05; relTol 0;

nSweeps 2; nSweeps 2;

} }

B Discretisation schemes

ddtSchemes{default CrankNicolson 0.5;} //Euler

11

Johan Roenby, Bjarke Eltard Larsen, Henrik Bredmose and Hrvoje Jasak

gradSchemes{default Gauss linear;}

divSchemes

{

div(rhoPhi,U) Gauss limitedLinearV 1;

div(phi,alpha) Gauss vanLeer;

div(phirb,alpha) Gauss interfaceCompression;

div(((rho*nuEff)*dev2(T(grad(U))))) Gauss linear;

}

laplacianSchemes{default Gauss linear corrected;}

interpolationSchemes{default linear;}

snGradSchemes{default corrected;}

REFERENCES

[1] G. Tryggvason, R. Scardovelli, and S. Zaleski, Direct numerical simulations of gas–liquid

multiphase ﬂows. Cambridge University Press, 2011.

[2] S. S. Deshpande, L. Anumolu, and M. F. Trujillo, “Evaluating the performance of the two-

phase ﬂow solver interFoam,” Computational Science & Discovery, vol. 5, no. 1, p. 014016,

2012.

[3] J. Roenby, H. Bredmose, and H. Jasak, “A computational method for sharp interface ad-

vection,” Royal Society Open Science, vol. 3, no. 11, p. 160405, 2016.

[4] J. Hern´andez, J. L´opez, P. G´omez, C. Zanzi, and F. Faura, “A new volume of ﬂuid method

in three dimensions-part I: Multidimensional advection method with face-matched ﬂux

polyhedra,” International Journal for Numerical Methods in Fluids, vol. 58, no. 8, pp. 897–

921, 2008.

[5] J. Roenby, H. Bredmose, and H. Jasak, “Isoadvector: Vof on general meshes,” in 11th Open-

FOAM Workshop (J. M. N´obrega and H. Jasak, eds.), Springer Nature, 2017. submitted.

[6] John D. Fenton, “Numerical methods for nonliner waves,” in Advances in Coastal and Ocean

Engineering, vol. 5, pp. 241–324, World Scientiﬁc, July 1999.

[7] B. T. Paulsen, H. Bredmose, H. Bingham, and N. Jacobsen, “Forcing of a bottom-mounted

circular cylinder by steep regular water waves at ﬁnite depth,” Journal of Fluid Mechanics,

vol. 755, pp. 1–34, Sept. 2014.

[8] C. J. Greenshields, “Openfoam user guide,” OpenFOAM Foundation Ltd, version, vol. 3,

no. 1, 2015.

[9] P. A. Wroniszewski, J. C. G. Verschaeve, and G. K. Pedersen, “Benchmarking of Navier-

Stokes codes for free surface simulations by means of a solitary wave,” Coastal Engineering,

vol. 91, pp. 1–17, Sept. 2014.

[10] N. G. Jacobsen, D. R. Fuhrman, and J. Fredsøe, “A wave generation toolbox for the open-

source CFD library: OpenFoam,” International Journal for Numerical Methods in Fluids,

vol. 70, no. 9, pp. 1073–1088, 2012.

12