Upgrade to the GSP Gyrokinetic Code - Final...

56
Upgrade to the GSP Gyrokinetic Code Final Presentation George Wilkie ([email protected]) May 10, 2012 Supervisor: William Dorland ([email protected]) George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 1 / 56

Transcript of Upgrade to the GSP Gyrokinetic Code - Final...

Page 1: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Upgrade to the GSP Gyrokinetic CodeFinal Presentation

George Wilkie ([email protected])

May 10, 2012

Supervisor: William Dorland ([email protected])

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 1 / 56

Page 2: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 2 / 56

Page 3: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background Gyrokinetics

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 3 / 56

Page 4: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background Gyrokinetics

Particle Drift

A charged particle in a magnetic fieldundergoes circular motion in the planeperpendicular to the magnetic field.

A perpendicular force on a gyratingparticle has the effect of causing aconstant drift velocity perpendicular toboth the magnetic field and the force inquestion.

In general, vd ,F = cqBF× B, but

specifically:

“E× B” drift: vE = cB E× B

Curvature drift: vc = cqB

mv 2‖

Rcr × B

Grad-B drift: v∇B = − cqBµ∇B× B

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 4 / 56

Page 5: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background Gyrokinetics

Gyrokinetics Review

The dynamics of manycharged particles aredescribed by a probabilitydistribution in phasespace: f (x , y , z , v⊥, v‖, θ)

In the appropriate limit,the kinetic transportequation is expressed in”gyrocenter” coordinatesR, averaging overgyroangle θ.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 5 / 56

Page 6: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background Gyrokinetics

δf vs h

For f ≈ F0 + δf , we can express the gyrokinetic equation in terms ofeither form of the perturbed distribution: 〈δf 〉R or h = 〈δf 〉R + φF0.

Both versions of the code now exist.

Summary:

Function: 〈δf 〉R h

RHS of GK 〈Ez〉R = −∂〈φ〉R∂z

∂〈φ〉R∂t

equation contains:Introduces a Courant Inaccurate due

Complication: stability condition to delayed effectdue to z derivative. of time derivative.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 6 / 56

Page 7: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background Gyrokinetics

The Gyrokinetic Equation - Form

D

Dt〈δf 〉R = 〈C [δf ]〉R − vE · ∇F0 − (vc + v∇B) · ∇ 〈φ〉R F0 + v‖ 〈Ez〉R F0

Where:

F0 is the equilibrium Gaussian velocity distribution, with possiblegradients in n and T

C [δf ] is the collision operator

〈〉R signifies the gyroaverage at constant gyrocenter R:

〈g(r)〉R =

∫dθ g (R + ρ(θ))

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 7 / 56

Page 8: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background Gyrokinetics

The Gyrokinetic Equation - Method of Solution

D

Dt〈δf 〉R = 〈C [δf ]〉R − vE · ∇F0 − F0 (vc + v∇B) · ∇ 〈φ〉R + v‖ 〈Ez〉R F0

In the coordinates E = 12 mv 2 and µ =

mv2⊥

2B , we can solve via the methodof characteristics with:

dz

dt= v‖ =

√2m

√E − µB0

dR⊥dt

= vE + vc + v∇B

dE

dt=

dt= 0

The objective of this project was to make this coordinate transformation inGSP and allow for a spatially-varying magnetic field B0(z).

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 8 / 56

Page 9: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Background GSP Algorithm

GSP Algorithm

1 Initialize particles in phase space2 Predictor step

Calculate fields at step nCalculate marker weights along characteristics for step n +1 /2

Advance marker positions for half timestepUpdate weights with collision operator for step n +1 /2

3 Corrector stepCalculate fields at step n +1 /2

Calculate marker weights along characteristics for step n + 1Advance marker positions for the full timestepUpdate weights with collision operator for step n + 1

4 Output results as necessary

Repeat steps 2-4 Nt times

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 9 / 56

Page 10: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Collision Operator

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 10 / 56

Page 11: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Collision Operator

Collision Operator - Form

C [h] = L[h] + D[h] + U‖[h] + U⊥[h] + Q[h]

Where:

L is a diffusion operator in pitch angle ξ ≡ cos−1 v‖v

D is a diffusion operator in speed v

U‖ and U⊥ are integral operator designed to conserve momentum

Q is an integral operator designed to conserve energy

There is a collision term for each species interacting with like-particles,and an additional term for electrons interacting with ions.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 11 / 56

Page 12: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Collision Operator

Collision Operator - Implementation

1 Using the updated positions and weights, distribute onto a 5D grid(x , y , z ,E , ξ)

2 Fourier transform into kx , ky

3 Solve for diffusion in velocity space with a finite-difference implicitscheme

4 Calculate appropriate integrals over velocity grid to conservemomentum and energy

5 Inverse Fourier transform back6 Reinterpolate weights back to particles’ positions, appropriately

weighted so that the effect of collisions is null if ν = 0.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 12 / 56

Page 13: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Collision Operator

Collision Operator - Status

All components are coded

Diffusion operators appear well-behaved, but there is somethingwrong with the conservation terms.

Conservation terms do not conserve momentum and energy, andinstead introduce numerical instability!

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 13 / 56

Page 14: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Particle Trapping

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 14 / 56

Page 15: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Particle Trapping

Particle Trapping

A particle gyrating with magnetic moment µ ≡ mv2⊥

2B0will experience a

changing magnetic field as an effective potential with respect to itsparallel motion:

Ueff = µB0(z)

If the particle does not have sufficient energy (i.e. if E < Ueff ), thenthe particle is forbidden in a region with such a field.

The particle is said to be ”trapped” in regions of lower magnetic field

A gradient in the magnetic field results in an apparent force changingthe particle’s parallel velocity v‖

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 15 / 56

Page 16: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Particle Trapping

Bouncing Logic

We can always find v‖ = ±√

E − µB(z)

When advancing a particle’s z position, check if it is predicted totravel beyond its turning point z∗ and into the forbidden region. If so:

1 Analytically solve for the particle’s trajectory in a linear fieldB(z) ≈ B(z∗) + (z − z∗)B ′(z∗)

This relationship is exact for the current implementation in which thefield is piecewise linear.

2 Reverse the sign of v‖

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 16 / 56

Page 17: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Particle Trapping

Particle Trajectories

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 17 / 56

Page 18: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 18 / 56

Page 19: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Monte Carlo Integration

In general, we can express any integral as an expectation value oversome probability distribution p:

b∫a

dx f (x) =

b∫a

dx

(f (x)

p(x)

)p(x) =

⟨f (x)

p(x)

⟩p

Now, approximate the expectation value with a discrete set ofmarkers distributed according to p(x)

b∫a

dx f (x) ≈ 1

Np

Np∑i

f (xi )

p(xi )

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 19 / 56

Page 20: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Monte Carlo Integration

Source of error is stastistical. ε ∼ σ√Np

indepdent of dimensionality.

Naive Monte Carlo with a uniform distribution function in onedimension is worse than first order!

To improve accuracy, reduce σ by employing importance sampling: astrategic choice of p(x)

Monte Carlo really shines in multiple dimensions, but unfortunatelythat’s not what we’re doing...

φ ∝Emax/B∫

0

dµJ0 (a√µ)

Emax∫µ

dEe−E

√E − µB

w(E , µ)

≈Nµ∑j

(Ƶ)j J0(aõj B)Ij

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 20 / 56

Page 21: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Importance Sampling

At every grid point for every discrete µi , we evaluate the following 1Dintegral:

Ij =

∫dE e−E

√E − µB

w(E , µj ) = 〈w〉p(E) ≈1

Np

Np∑i

w(Ei , µj )

Where the markers are distributed according to p(E ) = e−E√

E−µi B

Important: as the particles move around in space, this distrubtionmust hold everywhere and for all times, else the method fails.

There is hope. Despite its appearence, because the denominator isjust the Jacobian for E ,µ coordinates, it is indeed symmetric in E andthus is a Gaussian distribution in velocity space!

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 21 / 56

Page 22: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Velocity Space Distribution

Some regions of velocityspace are forbiddendepending on the localvalue of B0

Regions of lower magneticfield have more particlesand vice versa

Distribution is maintainedthroughout the simulation

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 22 / 56

Page 23: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Velocity Space Distribution

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 23 / 56

Page 24: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Challenges Monte Carlo Integration

Velocity Space Distribution

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 24 / 56

Page 25: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 25 / 56

Page 26: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Phi Integral

At the heart of the algorithm is the process of calculating theelectrostatic potential φ.

We wish to ensure this is being done properly with simple test cases.

Substitute “dummy” functions for the weights such that we know theintegral analytically:

1 w = 1→ φ ∝ e−k2⊥/2

2 w = E → φ ∝ 12

(3− k2

⊥)

e−k2⊥/2

3 w = sin(2π√

E − µB)→ φ ∝ D+(π)e−k2⊥/2

Perform this integration for each combination of kx , ky on the gridand compare against analytic results

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 26 / 56

Page 27: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Analytic Phi Integral Results

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 27 / 56

Page 28: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Random Nature of Phi Error

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 28 / 56

Page 29: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Monte Carlo Error Analysis

Error is as expected from Monte Carlo: ∝ 1√N

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 29 / 56

Page 30: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Pseudorandom vs Quasirandom

But we can do better!

Psuedorandom numbers and truly random numbers tend to over- orunder-populate regions of the distribution unpredictably.

If we use a quasi-random sequence, we can be guaranteed to fill outthe distribution uniformly.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 30 / 56

Page 31: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Phi Integral Validation

Monte Carlo Improvement

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 31 / 56

Page 32: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Z-pinch Entropy Mode

Z-pinch Entropy Mode

The z-pinch confines a hot plasma in a collapsing ring of current.

Limited by plasma instabilities due to radial density gradient.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 32 / 56

Page 33: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Z-pinch Entropy Mode

Z-pinch Geometry

Gradients and curvature perpendicular to B0 causes structure alongthe y-direction.

Analyze the growth rate of the ”Entropy Mode” instability for givenradius R; gradient scale 1

Ln≡ ∇n

n ; temperature etc.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 33 / 56

Page 34: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Z-pinch Entropy Mode

Entropy Mode Growth Spectrum

Find the exponential growth rates of different Fourier modes

Compare against a well-established Eulerian gyrokinetic code: GS2

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 34 / 56

Page 35: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Z-pinch Entropy Mode

GS2 Growth Rate Spectrum Comparisons

c

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 35 / 56

Page 36: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Z-pinch Entropy Mode

Equivalent Physics

In the analytic dispersion relation, Ln and R only appear together asRLn

, except for a single factor of 1Ln

overall.

Increasing radius and length scale together should give the samephysics, up to this factor.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 36 / 56

Page 37: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Parallel Scaling

Parallelization Scheme

Each processor as its own set of particles that it manipulatesindependently of others

Each processor has a copy of the grid (which takes up much lessmemory than the particles), and independently computes grid-relatedquantities on the grid

Except for some operations in the collision operator (FFTs andtridiagonal matrix inversions): those are split among processorsappropriately

Processors only communicate when their respective contributions tothe Monte Carlo integral are summed.

As long as Nper cell is sufficiently greater than Nproc , this should beadvantageous.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 37 / 56

Page 38: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Validation and Testing Parallel Scaling

Parallelization Results

Nper cell = 1600,Ntot ∼ 400k

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 38 / 56

Page 39: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Conclusion

Outline

1 BackgroundGyrokineticsGSP Algorithm

2 ChallengesCollision OperatorParticle TrappingMonte Carlo Integration

3 Validation and TestingPhi Integral ValidationZ-pinch Entropy ModeParallel Scaling

4 Conclusion

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 39 / 56

Page 40: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Conclusion

Progress

Goals

Change coordinates used in GSP - Complete

Code collision operator in new coordinates - Complete

Validate accuracy of updated code - Complete

Test parallel performance - Complete

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 40 / 56

Page 41: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Conclusion

Deliverables

A tarball to be sent via email by May 15, containing:

GSP source code

Makefiles with instructions for compiling and running

Sample input file

Data used in this presentation

Final written report and presentation

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 41 / 56

Page 42: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Conclusion

Thank you!

Special thanks to:

Prof. Bill Dorland for insight and encouragement

Anjor Kanekar for the thoughtful discussions

Dr. Ingmar Broemstrup for the carefully-designed base code

Profs. Ide and Balan and the rest of AMSC 663 for the helpfulquestions and guidance.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 42 / 56

Page 43: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Backup: Normalization and sampling from the p(E )distribution

p(E ) = Ae−E

√E − µB

SinceEmax∫µB

p(E )dE = 1 necessarily, normalize:

1

A= e−µBErf

(√Emax − µB

)

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 43 / 56

Page 44: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Backup: Normalization and sampling from the p(E )distribution

In order to obtain this distribution from a standard [0,1] uniform randomdistribution, we need to invert the cumulative distribution:

y = P(x) = A

x∫µB

dEe−E

√E − µB

To obtain:

x = µB +(

Erf−1[yErf

(√Emax − µB

)])2

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 44 / 56

Page 45: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Example of a Bad Distribution

p(E ) = e−E

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 45 / 56

Page 46: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Calculating the Fields

In Fourier space, the gyroaveraging operation is multiplication by aBessel function J0

The equation for the potential becomes:

φ(k) ∝∫

d3v 〈〈δf 〉R〉r =

∫d3vJ0

(k⊥v⊥

Ω

)〈δf 〉R

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 46 / 56

Page 47: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Change of Coordinates

When the background field B0 is allowed to change, it makes sense tosolve the gyrokinetic equation in E -µ coordinates so that one doesnot need to follow characteristics in velocity space

The integral for the potential in these coordinates becomes:

φ ∝∑

i

∫ ∫dEdµ√

E − µB0J0

(k⊥

õ

B0

)e−

E/2wiδ(E − Ei )δ(µ− µi )

Particles are interpolated onto nearest µB so that after charge

distribution is Fourier-transformed, the Bessel function can becomputed

Problem: Due to this Jacobian, the integration of E and µ cannot beperformed separately

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 47 / 56

Page 48: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Collision Operator

Accounts for interactions between particles

Two parts:

Pitch-angle scattering: Diffusive. Calculated implicitly on a 5D gridEnergy and momentum correction: Integral operators.

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 48 / 56

Page 49: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Collision Operator

C [h] = ν2

∂ξ

(1− ξ2

) ∂h

∂ξ− ν

2 v 2 k2⊥

Ω2h + νF0×(

2v⊥J1

(k⊥v⊥

Ω

)U⊥[h] + 2v‖J0

(k⊥v⊥

Ω

)U‖[h] . . .+ v 2J0

(k⊥v⊥

Ω

)Q[h]

)

h = 〈δf 〉R +q〈φ〉R

T F0

ξ =v‖v

ν = Collision Frequency

U⊥, U‖, and Q are moments of the distribution function; very similarintegrals to the φ integral

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 49 / 56

Page 50: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

φ Integral Checkout

Polynomial Error (RMS)

L0 2.53× 10−5

L1 2.85× 10−5

L2 6.52× 10−5

L3 1.45× 10−4

L3 1.56× 10−4

Conditions:

Particles per cell: 100

Total particles: ∼ 1.6 M

Number of energy grid arcs: 160

Maxmimum velocity: 6vt

Normalized magnetic field: 0.8B0

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 50 / 56

Page 51: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

φ Integral Checkout

Estimation of:∫

d3vJ0

(k⊥v⊥

Ω

)e−

v2⊥2 (RMS Error = 2.53× 10−5)

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 51 / 56

Page 52: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

φ Integral Checkout

Estimation of:∫

d3vJ0

(k⊥v⊥

Ω

)e−

v2⊥2 L4

(v2⊥2

)(RMS Error = 1.56× 10−4)

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 52 / 56

Page 53: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Backup: Gyroaveraging

Gyroaverage at constant gyrocenter R

〈δf 〉RThe gyroaveraged perturbation of the probability distribution functionThe function that the gyrokinetic equation solves for

〈E〉RThe average electric field that a marker with gyrocenter R ”sees”Determines the characteristic curves of a marker

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 53 / 56

Page 54: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Backup: Gyroaveraging

Gyroaverage at constant position r

〈〈δf 〉R〉rThe charge deposited onto a position r from markers that havegyrocenter RTricky conceptUsed in Poisson’s equation for the electrostatic potential

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 54 / 56

Page 55: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

References

Abel, et al. “Linearized model Fokker-Planck collision operators forgyrokinetic simulations. 1. Theory.” Physics of Plasmas, 15:122509(2008)

Antonsen and Lane, “Kinetic equations for low frequency instabilitiesin inhomogeneous plasmas.” Physics of Fluids, 23:1205 (1980)

Aydemir, “A unified Monte Carlo interpretation of particle simulatinosand applications to non-neutral plasmas.” Physics of Plasmas, 1:822(1994)

Barnes, “Trinity: A Unified Treatment of Turbulence, Transport, andHeating in Magnetized Plasmas.” PhD Thesis, University of MarylandDepartment of Physics (2009)

Broemstrup, “Advanced Lagrangian Simulations Algorithms forMagnetized Plasma Turbulence.” PhD Thesis, University of MarylandDepartment of Physics (2008)

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 55 / 56

Page 56: Upgrade to the GSP Gyrokinetic Code - Final Presentationrvbalan/TEACHING/AMSC663Fall2011/PROJECT… · p E B 0 dR? dt = v E + v ... George Wilkie Upgrade to the GSP Gyrokinetic Code

Backup

Dimits, et al, “Comparisons and physics basis of tokamak transportmodels and turbulence simulations.” Physics of Plasmas, 7: 969(2000)

Frieman and Chen, “Nonlinear gyrokinetic equations forlow-frequency electromagnetic waves in general plasma equilibria.”Physics of Fluids, 25:502 (1982)

Howes, et al. “Astrophysical gyrokinetics: basic equations and lineartheory.” The Astrophysical Journal, 651: 590 (2006)

Ricci, et al, “Gyrokinetic linear theory of the entropy mode in a Zpinch.” Physics of Plasmas, 13: 062102 (2006)

George Wilkie () Upgrade to the GSP Gyrokinetic Code May 10, 2012 56 / 56