simulating ocean water - imag.frevasion.imag.fr/~fabrice.neyret/images/fluids-nuages/waves/... ·...

44
ddhead Contents Where we stand objectives Examples in movies of cg water Navier Stokes, potential flow, and approximations FFT solution Oceanography Random surface generation High resoluton example Video Experiment Continuous Loops Hamiltonian approach Choppy waves from the FFT solution Spray Algorithm References

Upload: ledan

Post on 18-Aug-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Contents• Where we stand

• objectives

• Examples in movies of cg water

• Navier Stokes, potential flow, and approximations

• FFT solution

• Oceanography

• Random surface generation

• High resoluton example

• Video Experiment

• Continuous Loops

• Hamiltonian approach

• Choppy waves from the FFT solution

• Spray Algorithm

• References

Page 2: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Simulating Ocean Surfaces

Jerry Tessendorf

[email protected]

Page 3: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Page 4: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Page 5: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Objectives

• Oceanography concepts

• Random wave math

• Hints for realistic look

• Advanced things

h(x, z, t) =

∫ ∞−∞

dkx dkz h(k, t) exp i(kxx + kzz)

h(k, t) = h0(k) exp −iω0(k)t+h∗0(−k) exp iω0(k)t

Page 6: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Waterworld 13th Warrior Fifth ElementTruman Show Titanic Double JeopardyHard Rain Deep Blue Sea Devil’s AdvocateContact Virus 20k Leagues Under the SeaCast Away World Is Not Enough 13 Days

Page 7: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Navier-Stokes Fluid Dynamics

Force Equation

∂u(x, t)

∂t+ u(x, t) · ∇u(x, t) +∇p(x, t)/ρ = −gy + F

Mass Conservation

∇ · u(x, t) = 0

Solve for functions of space and time:

• 3 velocity components

• pressurep

• densityρ distribution

Boundary conditions are important constraints

Very hard - Many scientitic careers built on this

Page 8: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Potential Flow

Special Substitution u = ∇φ(x, t)

Transforms the equations into

∂φ(x, t)

∂t+

1

2|∇φ(x, t)|2 +

p(x, t)

ρ+ gx · y = 0

∇2φ(x, t) = 0

This problem is MUCH simpler computationally and mathematically.

Page 9: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Free Surface Potential Flow

In the water volume, mass conservation is enforced via

φ(x) =

∫∂V

dA′∂φ(x′)

∂n′G(x,x′)− φ(x′)

∂G(x,x′)

∂n′

At points r on the surface

∂φ(r, t)

∂t+

1

2|∇φ(r, t)|2 +

p(r, t)

ρ+ gr · y = 0

Dynamics of surface points:

dr(t)

dt= ∇φ(r, t)

Page 10: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Numerical Wave Tank Simulation

Grilli, Guyenne, Dias (2000)

Page 11: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Plunging Break and Splash Simulation

Tulin (1999)

Page 12: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Simplifying the Problem

Road to practicality - ocean surface:

• Simplify equations for relatively mild conditions

• Fill in gaps with oceanography.

Original dynamical equation at 3D points in volume

∂φ(r, t)

∂t+

1

2|∇φ(r, t)|2 +

p(r, t)

ρ+ gr · y = 0

Equation at 2D points (x, z) on surface with height h

∂φ(x, z, t)

∂t= −gh(x, z, t)

Page 13: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Simplifying the Problem: Mass Conservation

Vertical component of velocity

∂h(x, z, t)

∂t= y · ∇φ(x, z, t)

Use mass conservation condition

y · ∇φ(x, z, t) ∼(√−∇2

H

)φ =

(√− ∂2

∂x2− ∂2

∂z2

Page 14: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Linearized Surface Waves

∂h(x, z, t)

∂t=

(√−∇2

H

)φ(x, z, t)

∂φ(x, z, t)

∂t= −gh(x, z, t)

General solution easily computed interms of Fourier Transforms

Page 15: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Solution for Linearized Surface Waves

General solution in terms of Fourier Transform

h(x, z, t) =

∫ ∞−∞

dkx dkz h(k, t) exp i(kxx + kzz)

with the amplitude depending on the dispersion relationship

ω0(k) =√g |k|

h(k, t) = h0(k) exp −iω0(k)t + h∗0(−k) exp iω0(k)t

The complex amplitude h0(k) is arbitrary.

Page 16: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Oceanography

• Think of the heights of the waves as a kind of randomprocess

• Decades of detailed measurements support a statisticaldescription of ocean waves.

• The wave height has a spectrum⟨∣∣∣h0(k)∣∣∣2⟩ = P0(k)

• Oceanographic models tie P0 to environmental parame-ters like wind velocity, temperature, salinity, etc.

Page 17: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Models of Spectrum

•Wind speed V

•Wind direction vector V (horizontal only)

• Length scale of biggest waves L = V 2/g(g=gravitational constant)

Phillips Spectrum

P0(k) =∣∣∣k · V∣∣∣2 exp(−1/k2L2)

k4

JONSWAP Frequency Spectrum

P0(ω) =exp−5

4

(ωΩ

)−4+ e−(ω−Ω)2/2(σΩ)2

ln γ

ω5

Page 18: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Variation in Wave Height Field

Pure Phillips Spectrum Modified Phillips Spectrum

Page 19: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Simulation of a Random Surface

Generate a set of “random” amplitudes on a grid

h0(k) = ξeiθ√P0(k)

ξ = Gaussian random number, mean 0 & std dev 1

θ = Uniform random number [0,2π].

kx =2π

∆x

n

N(n = −N/2, . . . , (N − 1)/2)

kz =2π

∆z

m

M(m = −M/2, . . . , (M − 1)/2)

Page 20: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

FFT of Random Amplitudes

Use the Fast Fourier Transform (FFT) on the amplitudes toobtain the wave height realization h(x, z, t)

Wave height realization exists on a regular, periodic grid ofpoints.

x = n∆x (n = −N/2, . . . , (N − 1)/2)

z = m∆z (m = −M/2, . . . , (M − 1)/2)

The realization tiles seamlessly. This can sometimes showup as repetitive waves in a render.

Page 21: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Page 22: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

High Resolution RenderingSky reflection, upwelling light, sun glitter

1 inch facets, 1 kilometer range

Page 23: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Effect of Resolution

Low : 100 cm facets

Medium : 10 cm facets

High : 1 cm facets

Page 24: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Page 25: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Page 26: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Simple Demonstration of Dispersion

256 frames, 256×128 region

Page 27: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Data Processing

• Fourier transform in both time and space:h(k, ω)

• Form Power Spectral DensityP (k, ω) =

⟨∣∣∣h(k, ω)∣∣∣2⟩

• If the waves follow dispersion relationship, thenP is strongestat frequenciesω = ω(k).

-2

-1

0

1

2

0 0.2 0.4 0.6 0.8 1

freq

uenc

y (H

z)

wavenumber

Gravity Wave Dispersion Relation

Page 28: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Processing Results

Page 29: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Looping in Time – Continuous Loops

• Continuous loops can’t be made because dispersion doesn’thave a fundamental frequency.

• Loops can be made by modifying the dispersion relationship.

Repeat time T

Fundamental Frequencyω0 = 2πT

New dispersion relationω = integer(ω(k)ω0

)ω0

Page 30: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Quantized Dispersion Relation

0

0.5

1

1.5

2

2.5

3

3.5

0 1 2 3 4 5 6 7 8 9 10

Fre

quen

cy

Wavenumber

Quantizing the Dispersion Relation

Dispersion RelationRepeat Time = 100 secondsRepeat Time = 20 seconds

Page 31: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Hamiltonian Approach for Surface WavesMiles, Milder, Henyey, . . .

• If a crazy-looking surface operator like√−∇2

H is ok, theexact problem can be recast as a canonical problem withmomentum φ and coordinate h in 2D.

•Milder has demonstrated numerically:

– The onset of wave breaking– Accurate capillary wave interaction

• Henyey et al. introduced Canonical Lie Transformations:

– Start with the solution of the linearized problem - (φ0, h0)

– Introduce a continuous set of transformed fields - (φq, hq)

– The exact solution for surface waves is for q = 1.

Page 32: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Surface Wave Simulation (Milder, 1990)

Page 33: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Choppy, Near-Breaking Waves

Horizontal velocity becomes important for distorting wave.

Wave at x morphs horizontally to the position x + D(x, t)

D(x, t) = −λ∫d2k

ik

|k|h(k, t) exp i(kxx + kzz)

The factor λ allows artistic control over the magnitude of themorph.

Page 34: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Page 35: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

-2

-1

0

1

2

0 5 10 15 20

Hei

ght

Position

Water Surface Profiles

Basic SurfaceChoppy Surface

Page 36: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Time Sequence of Choppy Waves

-40

-35

-30

-25

-20

-15

-10

-5

0

5

-5 0 5 10 15 20 25

"gnuplotdatatimeprofile.txt"

Page 37: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Choppy Waves: Detecting Overlap

x→ X(x, t) = x + D(x, t)

is unique and invertible as long as the surface does notintersect itself.

When the mapping intersects itself, it is not unique. Thequantitative measure of this is the Jacobian matrix

J(x, t) =

[∂Xx/∂x ∂Xx/∂z∂Xz/∂x ∂Xz/∂z

]

The signal that the surface intersects itself is

det(J) ≤ 0

Page 38: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

-2

-1

0

1

2

0 5 10 15 20

Hei

ght

Position

Water Surface Profiles

Choppy SurfaceJacobian/3

Page 39: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Learning More About Overlap

Two eigenvalues, J− ≤ J+, and eigenvectors e−, e+

J = J−e−e− + J+e+e+

det(J) = J−J+

For no chop, J− = J+ = 1. As the displacement magnitudeincreases, J+ stays positive while J− becomes negative atthe location of overlap.

At overlap, J− < 0, the alignment of the overlap is parallelto the eigenvalue e−.

Page 40: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

-2

-1

0

1

2

0 5 10 15 20

Hei

ght

Position

Water Surface Profiles

Choppy SurfaceMinimum E-Value

Page 41: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Simple Spray Algorithm

• Pick a point on the surface at random

• Emit a spray particle if J− < JT threshold

• Particle initial direction (n = surface normal)

v =(JT − J−)e− + n√

1 + (JT − J−)2(1)

• Particle initial speed from a half-gaussian distribution withmean proportional to JT − J−.

• Simple particle dynamics: gravity and wind drag

Page 42: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Surface and Spray Render

Page 43: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

ddhead

Summary

• FFT-based random ocean surfaces are fast to build, realistic,and flexible.

• Based on a mixture of theory and experimentalphenomenology.

• Used alot in professional productions.

• Real-time capable for games

• Lots of room for more complex behaviors.

Latest version of course notes and slides:

http://home1.gte.net/tssndrf/index.html

Page 44: Simulating Ocean Water - imag.frevasion.imag.fr/~Fabrice.Neyret/images/fluids-nuages/waves/... · Road to practicality - ocean surface: Simplify equations for relatively mild conditions

References• Ivan Aivazovsky Artist of the Ocean, by Nikolai Novouspensky, Parkstone/Aurora, Bournemouth, England, 1995.

• Jeff Odien, “On the Waterfront”, Cinefex, No. 64, p 96, (1995)

• Ted Elrick, “Elemental Images”, Cinefex, No. 70, p 114, (1997)

• Kevin H. Martin, “Close Contact”, Cinefex, No. 71, p 114, (1997)

• Don Shay, “Ship of Dreams”, Cinefex, No. 72, p 82, (1997)

• Kevin H. Martin, “Virus: Building a Better Borg”, Cinefex, No. 76, p 55, (1999)

• Grilli, S.T., Guyenne, P., Dias, F., “Modeling of Overturning Waves Over Arbitrary Bottom in a 3D Numerical Wave Tank,”Proceedings 10th Offshore and Polar Enging. Conf.(ISOPE00, Seattle, USA, May 2000), Vol.III , 221-228.

• Marshall Tulin, “Breaking Waves in the Ocean,”Program on Physics of Hydrodynamic Turbulence, (Institute for TheoreticalPhyics, Feb 7, 2000),http://online.itp.ucsb.edu/online/hydrot00/si-index.html

• Dennis B. Creamer, Frank Henyey, Roy Schult, and Jon Wright, “Improved Linear Representation of Ocean Surface Waves.” J.Fluid Mech,205, pp. 135-161, (1989).

• Milder, D.M., “The Effects of Truncation on Surface Wave Hamiltonians,” J. Fluid Mech.,217, 249-262, 1990.