Home      |     Contact Us      |     Users Site SEARCH:       

Surface Wave Model: How to Maximize Accuracy

The surface wave model in FLOW-3D offers many options, and it is helpful to have some guidance to follow when setting up wave problems to obtain the best results. Three issues that must often be addressed are:

This article will present guidelines for minimizing these unwanted effects and improving accuracy.

Check the Wave Type

The boundary condition should be selected to match the wave type, which corresponds to a mathematical model of the wave. The validity of the available wave models can be determined from Figure 1, based on the wave height H (peak to trough), mean depth d (from mean water level to bed), gravity magnitude g, wave period T and wave length λ (time and length between crests or troughs). The borders between theories are approximate, as the formal limits of the theories overlap and the definition of wavelength λ in the chart is implicitly a function of T and d.

Applicability of wave theories (after Le Méhauté 1976, Sorensen 2005 and USACE 2008)
Figure 1. Applicability of wave theories (after Le Méhauté 1976, Sorensen 2005 and USACE 2008).

The Fourier-Series Method is the Best Option for All Non-Solitary Waves

The Stokes and Cnoidal (Fourier Series Method) method has the broadest validity, and is good for all depths and wave heights except solitary waves and waves beyond the breaking criteria. USACE (2008) states this model “appears to describe oceanic waves at all water depths better than all previous similar theories,” and “is recommended for regular waves in all coastal applications.”

Setting Up a Simulation

Start with a 2-D model to allow experimentation with the various options before expanding to 3-D. Wave boundaries can be specified only at x or y boundaries, with gravity in the negative z-direction. Modeling with inviscid flow will produce wave profiles in the domain that most closely match theory. After a good 2-D inviscid model is tested, add laminar or turbulent dynamics if desired. The 'Split Lagrangian' volume-of-fluid advection method (IFVOF = 6) is recommended for best accuracy. Specify the mean fluid surface elevation and mean fluid depth at the boundary (fluid surface elevation = bed elevation + mean fluid depth). If the domain’s bottom boundary lies above the bed, then use the symmetry boundary type for that mesh boundary, which should be at least half a wavelength below the mean surface elevation for deep-water waves (per Figure 1). Outflow boundaries are recommended opposite the wave boundary. Activate the 'Allow Fluid to Enter at Outflow Boundary' option to allow for the reverse fluid movement at the boundary when a wave passes through it.

Minimizing Wave Reflection

Wave reflection can be minimized by placing the outflow boundary far away from the wave boundary, so that there are enough wave periods to find the solution before the first wave exits the domain. Progressively coarser mesh blocks can be used to achieve this. A good practice is to specify the finest mesh block to contain the wave boundary and the region of interest in the center, and then add additional mesh blocks downstream to avoid problems with wave reflection. Each downstream block should be the same length as or longer than the first with cells 2x to 3x larger than the preceding block, and z-gridlines should match between blocks to minimize momentum transmission error.

The ideal mesh has cubic cells. Non-cubic cells can negatively affect the accuracy of the wave solution, especially where cresting or splashing occurs. An ideal target cell size is at least 10 cells per wave height H. If this requires too many cells to be efficient, use best judgment and balance runtime against accuracy.

Minimizing Volume Gain at the Wave Boundary

The movement of fluid in a wave has a recirculating pattern with oval orbits. Fluid moves in the direction of wave propagation at its peak, and in the opposite direction when the wave is at its lowest. As a result, there is a net volume transport in the direction of the wave movement over the wave period. Net volume flux can be compensated for by applying an artificial current at the wave boundary. An option to do this is ‘Eliminate Net Volume Flux at Wave Boundaries’ (IRMFLUX = 1) on the ‘Numerics’ tab. This option is an approximation aimed at better preserving the fluid volume at the expense of accuracy since this added current is not exactly consistent with the wave solution. This does not apply to the user-defined current that is properly incorporated into the wave solution. The error is small if the current velocity is small compared to the wave speed. The computed current velocity is written to the pre-processor summary file prpout (search for ‘compensating’ to find it).

Initializing the Wave Profile

Initializing the wave profile (Meshing & Geometry > Initial > Global > Fluid Initialization > Use Wave Boundary) applies the analytical solution from a specified wave boundary to pre-fill the domain with the wave solution. Such initialization is useful for shortening simulation runtime in cases when a steady-state wave profile is required, or when only an instantaneous wave collision is required. However, wave reflection at outflow boundaries may begin in the first time step, as illustrated below.

Fourier Series Wave Example

To test the approaches described above, four 2-D simulations were run using a 'Stokes & Cnoidal (Fourier Series Method)' boundary with d = 6.0 m, H = 0.125 m, and T = 5 s. Figure 1 indicates the intermediate-depth Airy theory, which is within the Fourier-series region of validity. Cell sizes are ∂x ≈ λ/53.6 and ∂z ≈ H/3.9 for a total of about 75,000 cells. History data is output every time step and selected data is output every 2T. The region of interest is around x = 90 m, and the domain is about 5 wavelengths in x. Fluid is allowed to re-enter at the downstream outflow boundary (IOBCTP = 1).

Cases 1 and 2 compare the use of the compensating current. IRMFLUX = 1 is found to improve the solution. Case 3 looks at adding wave initialization, which causes significant wave reflection problems. Case 4 abandons the wave initialization and adds two downstream mesh blocks, each twice the length of block 1 with ∂z = 2x that of the previous block. The compensating current at the wave boundary when IMRFLUX = 1 is given in the preprocessor summary (prpout) file as -4.96x10-4 m/s. Because it is small, the corresponding error in the wave profile will be very small.

Results for comparison of the use of IRMFLUX, wave initialization, and multiple mesh blocks.
Figure 2. Results for comparison of the use of IRMFLUX, wave initialization, and multiple mesh blocks. Clockwise from top left: Case 1, Case 2, Case 3, Case 4.

Figure 3. Surface Profile of Case 3 in Block 1.

The net mean volume gradually increases for the first five wave periods when IRMFLUX = 0 (Case 1, upper left). When IRMFLUX = 1 (Case 2, upper right), the first five periods show a more accurate average volume. During the first five periods, the total volume in the domain is controlled mostly by the wave boundary. Wave reflection begins when the first wave reaches the outflow boundary after five periods, about t = 20 seconds, after which the total volume is controlled mostly by the outflow boundary. When waves are initialized in the domain, they immediately reflect from the outflow boundary and the mean volume is less accurate (Case 3, lower right). The three-block case (Case 4, lower left) shows the least error overall, and is now ready to be expanded to three dimensions and/or have turbulence added.

Table 1. Results for Mean Volume and Surface Height at x = 90.3 m, averaged over 100 seconds.

AT x = 90.3 m
No Wave Initialization, 1 Block)
0.127 m3, 0.012% 1.1x10-3 m, 0.019%
No Wave Initialization, 1 Block)
0.094 m3, 0.009% 9.2x10-4 m, 0.015%
Wave Initialization ON, 1 Block)
-5.93 m3, -0.55% -3.4x10-2 m, -0.56%
No Wave Initialization, 3 Blocks)
0.053 m3, 0.001% 7.3x10-5 m, 0.001%


Run this Simulation!

The input file for all four simulations cases is available for download on the User Site for users with a valid support and maintenance contract.

^ back to top