Water Wave Packets

31
Water Wave Packets Ki-hoon Kim 2017-10-18 Computer Graphics @ Korea University S.Jeschke and C.Wojtan SIGGRAPH 2017

Transcript of Water Wave Packets

Water Wave Packets

Ki-hoon Kim

2017-10-18Computer Graphics @ Korea University

S.Jeschke and C.WojtanSIGGRAPH 2017

Ki-hoon Kim | 2017-10-18 | # 2Computer Graphics @ Korea University

β€’ The motion of water surface waves is well-modeled by the two-phase incompressible Navier-Stokes equation. Intractable for detailed water surface geometry. Linearizes the problem. Restricts the waves to a height-field defined over 2D domain. However, still too complex to solve.

Introduction

Ki-hoon Kim | 2017-10-18 | # 3Computer Graphics @ Korea University

β€’ Wave Packets Introduce the concept of wave packets to computer graphics Describe their dynamics for dispersive water waves.

β€’ Visual Detail Improves previous Lagrangian particle approaches. Incorporate wave behaviors like

dispersion, diffraction, refraction, reflection, dissipation.

β€’ Efficient computation Unconditionally stable and inherently parallel.

β€’ Novel control Parameters New mechanism which allow artists to directly control wave

spectra and computational complexity.

IntroductionContributions

Ki-hoon Kim | 2017-10-18 | # 4Computer Graphics @ Korea University

β€’ 1st surface wave research Long crested wave models

[Bruce Schachter. /1980 Computer Graphics and Image]

β€’ Motion of ocean Interactive animation of ocean waves

[D. Hinsinger et al./ SCA 2002]

Related Work

Ki-hoon Kim | 2017-10-18 | # 5Computer Graphics @ Korea University

β€’ Novel approaches to water surface wave simulation Water Wave Animation via Wavefront Parameter Interpolation

[STEFAN JESCHKE and CHRIS WOJTAN/SIGGRAPH 2015]β€’ Handle complex boundaryβ€’ Pre-computation

Related Work

Ki-hoon Kim | 2017-10-18 | # 6Computer Graphics @ Korea University

β€’ Gives a linearised description of the propagation of gravity waves on the surface of a homogeneous fluid layer. Often referred to as linear wave theory.

β€’ This linear theory is often used to get a quick and rough estimate of wave characteristics and their effects.

β€’ Water surface as a height function that varies with time, πœ‚πœ‚(𝐱𝐱, 𝑑𝑑).

Airy Wave TheoryDefinition

Ki-hoon Kim | 2017-10-18 | # 7Computer Graphics @ Korea University

β€’ We can view the surface as an integral of many waves.

π‘˜π‘˜ is wavenumber. π‘˜π‘˜ = 2πœ‹πœ‹/πœ†πœ† πœ†πœ† is wavelength. π‘₯π‘₯ is the spatial coordinate. 𝑑𝑑 is time πœ”πœ”(π‘˜π‘˜, β„Ž) is angular frequency. π‘Žπ‘Ž(π‘˜π‘˜) is amplitude. β„Ž is the water depth.

Airy Wave TheoryWave Function

Ki-hoon Kim | 2017-10-18 | # 8Computer Graphics @ Korea University

β€’ A special form that gives water waves their distinct characteristics

𝑔𝑔 is gravity. 𝜎𝜎 is the surface tension. 𝜌𝜌 is the water density.

β€’ This relationship between πœ”πœ” and π‘˜π‘˜ is known as the dispersion relationship.

Airy Wave TheoryAngular Frequency

Ki-hoon Kim | 2017-10-18 | # 9Computer Graphics @ Korea University

β€’ From previous page, argument to the wave in Equation (1) can be factored into π‘˜π‘˜ π‘₯π‘₯ βˆ’ 𝑐𝑐𝑝𝑝 π‘˜π‘˜,β„Ž 𝑑𝑑 , where

is the propagation speed of a given wavelength, known as the phase velocity.

Airy Wave TheoryPropagation Speed

Ki-hoon Kim | 2017-10-18 | # 10Computer Graphics @ Korea University

β€’ In 2D, the energy of a water wave with wavenumber π‘˜π‘˜ over a surface area 𝐴𝐴 is

β€’ Wave energy travels with the group velocity 𝑐𝑐𝑔𝑔, which is defined as

Red dot: phase speed Green dot: group speed

Airy Wave TheoryWave Energy

Ki-hoon Kim | 2017-10-18 | # 11Computer Graphics @ Korea University

β€’ Propagate localized packets of waves. Each packet will represent a collection of similar wavelengths. It will cover a larger region of space than a single wave crest. Waves interact with a dynamically changing environment. Obey the qualitative behaviors described by Airy wave theory.

β€’ Free to choose what we’d like these wave packets to look like.

β€’ Each packet should be compactly supported in spatial coordinates

β€’ Energy act locally in frequency space.

Wave packetsPreview

Ki-hoon Kim | 2017-10-18 | # 12Computer Graphics @ Korea University

β€’ Break up the integral in Equation (1) into a summation of individual packets of wavenumbers centered around some representative wavenumber π‘˜π‘˜π‘—π‘—:

Ξ¦ is wave packet shape 𝑁𝑁 is the number of wave packets.

β€’ We can approximate with a 1st order Taylor expansion.

πœ™πœ™ is a kernel function

Wave packetsDiscretize(1/2)

Ki-hoon Kim | 2017-10-18 | # 13Computer Graphics @ Korea University

𝑋𝑋𝑔𝑔 = 𝑐𝑐𝑔𝑔𝑑𝑑 , 𝑋𝑋𝑝𝑝 = 𝑐𝑐𝑝𝑝𝑑𝑑

𝑋𝑋𝑝𝑝𝑔𝑔 = 𝑋𝑋𝑝𝑝 βˆ’ 𝑋𝑋𝑔𝑔 , οΏ½π‘₯π‘₯ = π‘₯π‘₯ βˆ’ 𝑋𝑋𝑔𝑔

In two dimensions,

Wave packetsDiscretize(2/2)

Ki-hoon Kim | 2017-10-18 | # 14Computer Graphics @ Korea University

β€’ Reflection A wave packet reflects when it collides with an obstacle.

β€’ Dispersion The faster waves will push part of the packet ahead of the

average group speed, and the slower waves will pull. The packet spreads out as it traverses space.

β€’ Refraction The group speed of the packet may change as it traverses space,

because 𝑐𝑐𝑔𝑔 change with water depth.

The packet will change direction(Snell’s law).

β€’ Diffraction Waves diffract differently depending on the wavenumber. We have not yet worked out the theoretical diffractive spreading

behavior.

Qualitative wave behaviors

Ki-hoon Kim | 2017-10-18 | # 15Computer Graphics @ Korea University

β€’ Enforce conservation if energy as a wave packet propagates through space.

β€’ From Eq.(4)

Quadratic in amplitude and wavenumber. Linear in area.

β€’ Alter the packet’s amplitude to compensate for such changes. Exact amplitude scaling law for a packet with a Gaussian kernel.

Energy of a wave packetConservation

Ki-hoon Kim | 2017-10-18 | # 16Computer Graphics @ Korea University

β€’ Often modeled by explicitly reducing the wave amplitude.

β€’ In the absence of all other amplitude changes, the amplitude will decay over time:

Energy of a wave packetViscosity

Ki-hoon Kim | 2017-10-18 | # 17Computer Graphics @ Korea University

β€’ Surface contamination will have a strong damping effect.

β€’ This effect can be modeled as an additional decay rate.

Energy of a wave packet

Surface Contamination

Ki-hoon Kim | 2017-10-18 | # 18Computer Graphics @ Korea University

β€’ A rectangular patch of initial dimensions 3πœ†πœ†π‘—π‘— in the traveling direction.

6πœ†πœ†π‘—π‘— in the tangential direction.

β€’ Two vertices 𝐩𝐩1 and 𝐩𝐩2centered at the front edge of the packet. Track the deformation and rotation of the packet.

Representing wave packetsInitial Packet Modeling

3πœ†πœ†π‘—π‘—

6πœ†πœ†π‘—π‘—

𝐩𝐩1 𝐩𝐩2

Ki-hoon Kim | 2017-10-18 | # 19Computer Graphics @ Korea University

β€’ Two vertices propagate at the group speed 𝑐𝑐𝑔𝑔 Simple forward Euler method.

β€’ More advanced time integration schemes may be useful. But they will not make the method any more stable. Our method is stable regardless of the time step size.

β€’ Geometric method for conserving energy.

Representing wave packetsPacket Time Integration-Travel

Ki-hoon Kim | 2017-10-18 | # 20Computer Graphics @ Korea University

β€’ Tracking the fastest and slowest wavenumbers in the spectrum.β€’ Assign each packet a length parameter 𝑙𝑙

Initially set to 3πœ†πœ†π‘—π‘—

β€’ Track the dispersive stretching using a similar integration rule

π‘˜π‘˜fast and π‘˜π‘˜slow are the wavenumbersβ€’ Correspond to the fastest and slowest group speeds

Representing wave packetsPacket Time Integration-Dispersion

Ki-hoon Kim | 2017-10-18 | # 21Computer Graphics @ Korea University

β€’ Compute the area of the packet in each time step

β€’ Then conserve energy by scaling the amplitude as described

Amplitude adjustmentCompute Area and Amplitude

Ki-hoon Kim | 2017-10-18 | # 22Computer Graphics @ Korea University

β€’ If 𝐩𝐩1 𝑑𝑑𝑛𝑛 βˆ’ 𝐩𝐩2 𝑑𝑑𝑛𝑛 > 3πœ†πœ†π‘—π‘—or angle between πœπœπ‘”π‘”(𝑝𝑝1) and πœπœπ‘”π‘”(𝑝𝑝2) exceeds 18 degrees

β€’ New amplitude is equal to the original divided by √2

Packet subdivisionGeometric subdivision

Ki-hoon Kim | 2017-10-18 | # 23Computer Graphics @ Korea University

β€’ When the packet length stretches beyond a threshold, replace the packet by two new ones with exactly the same position and other parameters.

Packet subdivisionDispersive subdivision

Ki-hoon Kim | 2017-10-18 | # 24Computer Graphics @ Korea University

β€’ We use a more compact and efficient approximation function

𝑒𝑒, 𝑣𝑣 ∈ [0,1] and local coordinates of a packet.

VisualizationCompact Gaussian Function

Ki-hoon Kim | 2017-10-18 | # 25Computer Graphics @ Korea University

β€’ We are left with several options for reducing a 2D rectangular packet to 1D. Use piecewise circular coordinates Piecewise constant makes artifacts

Visualization1D-2D Transform from

Ki-hoon Kim | 2017-10-18 | # 26Computer Graphics @ Korea University

β€’ β€œwake” shape that we expect to see is quite expensive to simulate Need too many Patch(or particle, etc.)

β€’ We would like to emit only visually domain. Wake pattern trick Using Kelvin’s theory

ControlWakes

Ki-hoon Kim | 2017-10-18 | # 27Computer Graphics @ Korea University

β€’ We can delete them more aggressively if we want.

β€’ 𝛼𝛼 is using to

ControlControl over lifetime

Ki-hoon Kim | 2017-10-18 | # 28Computer Graphics @ Korea University

β€’ Most of the parameters map directly to measurable quantities. Surface tension Viscosity Gravity Etc.

β€’ Thresholds and some parameter is numerical.

ResultsParameters

Ki-hoon Kim | 2017-10-18 | # 29Computer Graphics @ Korea University

β€’ Limitations Oversimplified Linear theory. One-way coupling Fake wake

β€’ Efficiency Parallel on the CPU 60fps speed cut-off was about

85k wave packets. Rendering is bottleneck

ResultsLimitation & Efficiency

Ki-hoon Kim | 2017-10-18 | # 30Computer Graphics @ Korea University

ResultsVideo

Ki-hoon Kim | 2017-10-18 | # 31Computer Graphics @ Korea University

Q&A