Perlin Noise as a Turbulence Model for Particle Transport Urs Ganse - - PowerPoint PPT Presentation

perlin noise as a turbulence model for particle transport
SMART_READER_LITE
LIVE PREVIEW

Perlin Noise as a Turbulence Model for Particle Transport Urs Ganse - - PowerPoint PPT Presentation

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Perlin Noise as a Turbulence Model for Particle Transport Urs Ganse 1 , Rami Vainio 1 , Alex Ivascenko 2 , Felix Spanier 2 1 University of Helsinki 2 North-West University


slide-1
SLIDE 1

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI

Perlin Noise as a Turbulence Model for Particle Transport

Urs Ganse1, Rami Vainio1, Alex Ivascenko2, Felix Spanier2

1 University of Helsinki 2 North-West University Potchefstroom

slide-2
SLIDE 2

Particle Transport and Turbulence

Particle transport in heliospheric and interstellar medium Test particle simulations Turbulent fields play important role.

slide-3
SLIDE 3

Simulated Turbulence

Getting turbulence right is difficult. Self-consistent turbulence simulations quite limited in scales (kinetic ⇔ heliospheric) Often, effect of turbulence approximated through diffusion. Alternatively, ad-hoc model of scattering is used. We'd rather have a way to construct quasi-turbulent fields.

slide-4
SLIDE 4

Simulated Turbulence

Getting turbulence right is difficult. Self-consistent turbulence simulations quite limited in scales (kinetic ⇔ heliospheric) Often, effect of turbulence approximated through diffusion. Alternatively, ad-hoc model of scattering is used. We'd rather have a way to construct quasi-turbulent fields.

slide-5
SLIDE 5

Simulated Turbulence

Getting turbulence right is difficult. Self-consistent turbulence simulations quite limited in scales (kinetic ⇔ heliospheric) Often, effect of turbulence approximated through diffusion. Alternatively, ad-hoc model of scattering is used. We'd rather have a way to construct quasi-turbulent fields.

slide-6
SLIDE 6

Quasi-Turbulent Fields

Simply taking random numbers gives wrong spectrum. Creating correct spectrum in Fourier space works. Again bound to a grid. Time evolution? We would like to have deterministic randomness with the correct spectrum without having to look at all space.

slide-7
SLIDE 7

Quasi-Turbulent Fields

Simply taking random numbers gives wrong spectrum. Creating correct spectrum in Fourier space works. Again bound to a grid. Time evolution? We would like to have deterministic randomness with the correct spectrum without having to look at all space.

slide-8
SLIDE 8

Quasi-Turbulent Fields

Simply taking random numbers gives wrong spectrum. Creating correct spectrum in Fourier space works. Again bound to a grid. Time evolution? We would like to have deterministic randomness with the correct spectrum without having to look at all space.

slide-9
SLIDE 9

Perlin Noise

Idea from computer graphics Developed by Ken Perlin for the movie ''Tron'' (Disney, 1982) Originally a cloud-texture generator. Structures of fixed scale.

slide-10
SLIDE 10

Perlin Noise

Idea from computer graphics Developed by Ken Perlin for the movie ''Tron'' (Disney, 1982) Originally a cloud-texture generator. Structures of fixed scale.

slide-11
SLIDE 11

Perlin Noise

Idea from computer graphics Developed by Ken Perlin for the movie ''Tron'' (Disney, 1982) Originally a cloud-texture generator. Structures of fixed scale.

slide-12
SLIDE 12

Perlin Noise

Idea from computer graphics Developed by Ken Perlin for the movie ''Tron'' (Disney, 1982) Originally a cloud-texture generator. Structures of fixed scale.

slide-13
SLIDE 13

Perlin Noise - internals

Pick deterministic gradients on grid, interpolate using Hermite polynomial. Original Perlin Noise (1982): Simplex Noise (2001):

slide-14
SLIDE 14

Perlin Noise - internals

Pick deterministic gradients on grid, interpolate using Hermite polynomial. Original Perlin Noise (1982): Simplex Noise (2001):

slide-15
SLIDE 15

Perlin Noise - internals

Pick deterministic gradients on grid, interpolate using Hermite polynomial. Original Perlin Noise (1982): Simplex Noise (2001):

slide-16
SLIDE 16

Perlin Noise - internals

Pick deterministic gradients on grid, interpolate using Hermite polynomial. Original Perlin Noise (1982): Simplex Noise (2001):

slide-17
SLIDE 17

Perlin Noise - internals

Pick deterministic gradients on grid, interpolate using Hermite polynomial. Original Perlin Noise (1982): Simplex Noise (2001):

slide-18
SLIDE 18

Implementation Details

Advantage: Interpolation is completely local within one grid cell. Grid values are not stored, but calculated on-demand by a (cheap) hash function. Completely independent evaluation, trivially parallel. Not just suitable for GPUs - GPUs were designed for this. Spatial size is not inherently limited, except by floating point accuracy.

slide-19
SLIDE 19

Noise Octaves

One evaluation Multiple octaves, stacked

slide-20
SLIDE 20

Noise Octaves

One evaluation Multiple octaves, stacked

slide-21
SLIDE 21

Spectrum

0.001 0.01 0.1 1 10 100 1000 10000 100000 1 10 100 1000 B (arb. units) Lengthscale (arb. units) 1 Octave

slide-22
SLIDE 22

Spectrum

0.001 0.01 0.1 1 10 100 1000 10000 100000 1 10 100 1000 B (arb. units) Lengthscale (arb. units) 1 Octave 2 Octaves

slide-23
SLIDE 23

Spectrum

0.001 0.01 0.1 1 10 100 1000 10000 100000 1 10 100 1000 B (arb. units) Lengthscale (arb. units) 1 Octave 2 Octaves 3 Octaves

slide-24
SLIDE 24

Spectrum

0.001 0.01 0.1 1 10 100 1000 10000 100000 1 10 100 1000 B (arb. units) Lengthscale (arb. units) 1 Octave 2 Octaves 3 Octaves 5 Octaves

slide-25
SLIDE 25

Spectrum

0.001 0.01 0.1 1 10 100 1000 10000 100000 1 10 100 1000 B (arb. units) Lengthscale (arb. units) 1 Octave 2 Octaves 3 Octaves 5 Octaves 10 Octaves

slide-26
SLIDE 26

Spectrum

0.001 0.01 0.1 1 10 100 1000 10000 100000 1 10 100 1000 B (arb. units) Lengthscale (arb. units) 1 Octave 2 Octaves 3 Octaves 5 Octaves 10 Octaves

  • 5/3
  • 4
slide-27
SLIDE 27

From Noise to Turbulent Fields

But these are still scalar noise functions! How do we get B-Fields from it? Dumb approach: 3 independent evaluations for 3 components Not divergence free Smarter: 3 independent evaluations for A B A · B · A

slide-28
SLIDE 28

From Noise to Turbulent Fields

But these are still scalar noise functions! How do we get B-Fields from it? Dumb approach: 3 independent evaluations for 3 components Not divergence free Smarter: 3 independent evaluations for A B A · B · A

slide-29
SLIDE 29

From Noise to Turbulent Fields

But these are still scalar noise functions! How do we get B-Fields from it? Dumb approach: 3 independent evaluations for 3 components Not divergence free Smarter: 3 independent evaluations for A

  • B = ∇ ×

A ⇒ ∇ · B = ∇ · (∇ × A) = 0

slide-30
SLIDE 30

From Noise to Turbulent Fields

  • B(

x) = ∇ × A( x) Isotropic in flat coordinate space. Anisotropy can be obtained by distorting coordinates.

slide-31
SLIDE 31

From Noise to Turbulent Fields

  • B(

x) = ∇ × A( x) Isotropic in flat coordinate space. Anisotropy can be obtained by distorting coordinates.

slide-32
SLIDE 32

From Noise to Turbulent Fields

Weak Turbulence 3D noise advected along the background field. Or: One resting, one moving at +vA, one moving at −vA Strong Turbulence 4D noise, with 4th coordinate increasing with time.

slide-33
SLIDE 33

Field Autocorrelation

0⨯100 20⨯103 40⨯103 60⨯103 80⨯103 100⨯103 120⨯103 140⨯103 160⨯103 180⨯103 200⨯103 5e-07 1e-06 1.5e-06 2e-06 2.5e-06 <B(t),B(t+Δt)> (arb. units) Δt (s) Perlin Noise Spectral MHD

slide-34
SLIDE 34

Pitch Angle Scattering

  • 0.4
  • 0.3
  • 0.2
  • 0.1

0.1 0.2 0.3 0.4

  • 1
  • 0.5

0.5 1 Δμ μ Pitch angle scattering, Perlin Noise

slide-35
SLIDE 35

Application

BU BD

  • Shock

width

Test particle simulations of particle accel. at shocks Kinetic scale structures Perlin Noise based turbulence

slide-36
SLIDE 36

Application

BU BD

  • Shock

width

Test particle simulations of particle accel. at shocks Kinetic scale structures Perlin Noise based turbulence

0.5 1 1.5 2 2.5 3 3.5 Shock Compression tanh tanh+noise gibbs

slide-37
SLIDE 37

Preliminary results

ΘBn = 30°

  • 5.0k
  • 4.0k
  • 3.0k
  • 2.0k
  • 1.0k

0.0 1.0k v∥ (km/s) 100 101 102 103 104 105 106 107 ΘBn = 30°

  • 5.0k
  • 4.0k
  • 3.0k
  • 2.0k
  • 1.0k

0.0 1.0k v∥ (km/s)

slide-38
SLIDE 38

Preliminary results

ΘBn = 30°

  • 5.0k
  • 4.0k
  • 3.0k
  • 2.0k
  • 1.0k

0.0 1.0k v∥ (km/s) 100 101 102 103 104 105 106 107 ΘBn = 30°

  • 5.0k
  • 4.0k
  • 3.0k
  • 2.0k
  • 1.0k

0.0 1.0k v∥ (km/s)

slide-39
SLIDE 39

Conclusion

Perlin Noise Perlin Noise is a suitable way to create something like turbulence. Versatile and computationally inexpensive. Outlook Further quantitative comparison to actual turbulence. Application to test-particle simulations of different scenarios.