simulating ocean water - imagevasion.imag.fr/membres/fabrice.neyret/natural... · think of the...
TRANSCRIPT
![Page 1: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/1.jpg)
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 3: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/3.jpg)
ddhead
![Page 4: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/4.jpg)
ddhead
![Page 5: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/5.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/6.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/7.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/8.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/9.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/10.jpg)
ddhead
Numerical Wave Tank Simulation
Grilli, Guyenne, Dias (2000)
![Page 11: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/11.jpg)
ddhead
Plunging Break and Splash Simulation
Tulin (1999)
![Page 12: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/12.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/13.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/14.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/15.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/16.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/17.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/18.jpg)
ddhead
Variation in Wave Height Field
Pure Phillips Spectrum Modified Phillips Spectrum
![Page 19: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/19.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/20.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/21.jpg)
ddhead
![Page 22: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/22.jpg)
ddhead
High Resolution RenderingSky reflection, upwelling light, sun glitter
1 inch facets, 1 kilometer range
![Page 23: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/23.jpg)
ddhead
Effect of Resolution
Low : 100 cm facets
Medium : 10 cm facets
High : 1 cm facets
![Page 24: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/24.jpg)
ddhead
![Page 25: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/25.jpg)
ddhead
![Page 26: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/26.jpg)
ddhead
Simple Demonstration of Dispersion
256 frames, 256×128 region
![Page 27: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/27.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/28.jpg)
ddhead
Processing Results
![Page 29: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/29.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/30.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/31.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/32.jpg)
ddhead
Surface Wave Simulation (Milder, 1990)
![Page 33: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/33.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/34.jpg)
ddhead
![Page 35: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/35.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/36.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/37.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/38.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/39.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/40.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/41.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/42.jpg)
ddhead
Surface and Spray Render
![Page 43: Simulating Ocean Water - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/43.jpg)
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 - imagevasion.imag.fr/Membres/Fabrice.Neyret/Natural... · Think of the heights of the waves as a kind of random process Decades of detailed measurements support](https://reader034.vdocuments.mx/reader034/viewer/2022042316/5f0493277e708231d40ea5ab/html5/thumbnails/44.jpg)
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.