Solving the Christo el equation: phase and group velocities · Solving the Christo el equation:...

17
Solving the Christoffel equation: phase and group velocities Jan W. Jaeken a,* , Stefaan Cottenier a,b a Center for Molecular Modeling, Ghent University, Technologiepark 903, 9052 Zwijnaarde, Belgium b Department of Material Science and Engineering, Technologiepark 903, 9052 Zwijnaarde, Belgium Abstract We provide christoffel, a Python tool for calculating direction-dependent phase velocities, polarization vectors, group velocities, power flow angles and enhancement factors based on the stiffness tensor of a solid. It is built in a modular way to allow for efficient and flexible calculations, and the freedom to select and combine results as desired. All derivatives are calculated analyt- ically, which circumvents possible numerical sampling problems. GNUPlot scripts are provided for convenient visualization. Keywords: Christoffel equation; Acoustic waves; Sound velocity; Phase velocity; Group velocity; Enhancement factor PROGRAM SUMMARY Program Title: Christoffel Journal Reference: Catalogue identifier: Licensing provisions: GNU General Public Licence, version 3 Programming language: Python Computer: Workstations Operating system: Linux/UNIX/Windows/MacOS Keywords: Christoffel equation, Stiffness tensor, Acoustic waves, Sound velocity, Phase velocity, Group velocity, Enhancement factor Classification: 7.8 * Corresponding author. E-mail address: [email protected] Preprint submitted to Computer Physics Communications November 22, 2016

Transcript of Solving the Christo el equation: phase and group velocities · Solving the Christo el equation:...

Page 1: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

Solving the Christoffel equation: phase and group

velocities

Jan W. Jaekena,∗, Stefaan Cotteniera,b

aCenter for Molecular Modeling, Ghent University, Technologiepark 903, 9052Zwijnaarde, Belgium

bDepartment of Material Science and Engineering, Technologiepark 903, 9052Zwijnaarde, Belgium

Abstract

We provide christoffel, a Python tool for calculating direction-dependentphase velocities, polarization vectors, group velocities, power flow angles andenhancement factors based on the stiffness tensor of a solid. It is built in amodular way to allow for efficient and flexible calculations, and the freedomto select and combine results as desired. All derivatives are calculated analyt-ically, which circumvents possible numerical sampling problems. GNUPlotscripts are provided for convenient visualization.

Keywords: Christoffel equation; Acoustic waves; Sound velocity; Phasevelocity; Group velocity; Enhancement factor

PROGRAM SUMMARYProgram Title: ChristoffelJournal Reference:Catalogue identifier:Licensing provisions: GNU General Public Licence, version 3Programming language: PythonComputer: WorkstationsOperating system: Linux/UNIX/Windows/MacOSKeywords: Christoffel equation, Stiffness tensor, Acoustic waves, Sound velocity,Phase velocity, Group velocity, Enhancement factorClassification: 7.8

∗Corresponding author.E-mail address: [email protected]

Preprint submitted to Computer Physics Communications November 22, 2016

Page 2: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

External routines/libraries: NumPyNature of problem: Calculating acoustic phase and group velocities in homoge-neous solids

Solution method: Solving the Christoffel equation eigenvalue problem by diago-nalization; calculating group velocities and enhancement factors analytically asderivatives.Running time: Seconds/minutes

1. Introduction

An important relation in material science is the connection between thestiffness tensor and sound velocities of a solid. The stiffness tensor of amaterial characterizes its behaviour under stress in the elastic regime. It isrepresented either by a 4-tensor in 3D space with 81 components (of which 21are independent), or as a symmetric 6x6 matrix. The 21 independent matrixelements of the latter matrix are called the elastic constants, quantifying thematerial’s resistance to specific strains. Since sound is a form of elastic wavestravelling in a medium, the stiffness tensor will contain information abouthow these sound waves behave. Conversely, experimental determination ofsound velocities is a common way to determine elastic constants[1].

Knowing the elastic constants allows to predict the sound velocities in amaterial by solving the Christoffel equation. Such independent knowledge onthe elastic constants can be obtained, for instance, by ab initio calculations[2]and has recently become a routine activity[3].

For the calculation of phase and group velocities and the enhancementfactor from elastic constants using the Christoffel equation, currently onlyone fully open-source tool is available: AWESoMe[4], which is written inFortran90. We wish to provide a Python code which is flexible, reliable,importable as a module and easily customizable. Simultaneously, we wantto rely as little as possible on the numerical determination of derivatives toensure reliable results, even for highly anisotropic materials.

This paper is structured as follows: Section 2 gives the theoretical back-ground on quantities related to velocities of non-dispersive elastic waves insolids. Section 3 expands upon practical ways to calculate these quantitiesanalytically using standard linear algebra techniques. In section 4 the work-ing and use of the christoffel module is explained, while section 5 details

2

Page 3: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

the visualization of the output generated. Finally, a summary is given andan outlook is sketched in section 6.

2. Theory

2.1. Christoffel equation

The stiffness tensor C is a fundamental property of a material. It gen-eralizes Hooke’s law in three dimensions, relating strains and stresses in theelastic regime.

σij =∑nm

Cijnmεnm (1)

where σ is the stress tensor and ε is the strain tensor. The sum, as every sumin this paper, runs over the three Cartesian coordinates. Often the stiffnesstensor is written as a 6× 6 matrix

σ1σ2σ3σ4σ5σ6

=

C11 C12 C13 C14 C15 C16

C12 C22 C23 C24 C25 C26

C13 C23 C33 C34 C35 C36

C14 C24 C34 C44 C45 C46

C15 C25 C35 C45 C55 C56

C16 C26 C36 C46 C56 C66

ε1ε2ε32ε42ε52ε6

(2)

through the use of Voigt notation, defined as

1→ xx 4→ yz2→ yy 5→ xz3→ zz 6→ xy.

(3)

The factors of 2 in the strain tensor are to ensure (2) corresponds to (1) bytaking proper care of double counting.

The stiffness tensor not only contains information about static deforma-tions, but also about elastic waves traveling through the material. Determin-ing the dispersion relation for these waves is possible by solving the Christoffelequation[5]. ∑

ij

[Mij − ρω2δij

]sj = 0 (4)

for a monochromatic plane wave with wave vector q, frequency ω and polar-ization s in a material with density ρ. M is the Christoffel matrix, definedas

Mij =∑nm

qnCinmjqm. (5)

3

Page 4: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

This is a simple eigenvalue problem that can be routinely solved for arbitraryq. The result is a set of three frequencies and polarizations for each valueof q. Since M is real and symmetric, the eigenvalues are real and vectorssn constitute an orthogonal basis. Furthermore, the requirement that Cbe positive definite ensures that ω2 is not only real but strictly positive.

To reduce notational clutter, we will use the reduced stiffness tensorC′ = C/ρ and the corresponding reduced Christoffel matrix. For furthersimplification, consider that in a single direction, ω(q) is a linear functionof q. This is easily seen by inspecting (4) and (5). The sound velocities areclearly independent of wavelength. In a one-dimensional case, this wouldmean there are only three possible solutions which are independent of q.However, the solutions of the Christoffel equation are very much dependentupon the direction of q.

Due to the wavelength-independence of the velocities, we consider q tonot have dimension of inverse length, but to be a dimensionless unit vec-tor denoting only the direction of travel of a monochromatic plane wave.This changes the dimension of the reduced Christoffel matrix from frequencysquared to that of velocity squared. Combining all this reduces (4) to∑

ij

[Mij − v2pδij

]sj = 0, (6)

where vp is the velocity of a monochromatic plane wave traveling in thedirection of q. The prime on the reduced Christoffel matrix has been droppedfor convenience.

The determination of a material’s sound velocities based on the (reduced)stiffness tensor is a straightforward eigenvalue problem. From (6) we obtainthree velocities, one primary (P) and two secondary (S), which correspondto the (pseudo-)longitudinal and (pseudo-)transversal polarizations, respec-tively. The eigenvectors provide the (unsigned) polarization directions.

2.2. Phase, group, power flow, enhancement

Up until now, only the velocity of a monochromatic plane wave has beenconsidered. This is generally refered to as the phase velocity. However, realsound is never purely monochromatic, nor purely planar. Let us consider awave packet with a small spread in wavelength and direction of travel. Thevelocity of the wave packet formed by the superposition of these phase wavesis called the group velocity. It is the velocity at which acoustic energy travels

4

Page 5: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

through a homogeneous, non-dispersive medium[5], and is given by

vg ≡ ~∇vp. (7)

The gradient is taken in reciprocal space (which we consider to be dimen-sionless), and is a derivative to the components of q.

Note that vp is a scalar function of q, while vg is a vector-valued function,which generally does not lie in the direction of q. This angle between phaseand group velocity is called the power flow angle ψ and is defined as

vp = vg cos(ψ). (8)

Equivalently,cos(ψ) = np · ng (9)

where np and ng are the normalized directions of the phase and group veloc-ities respectively.

The group velocity direction is the direction in which energy travels. Asthis generally does not correspond to the phase velocity direction, there willbe variations in power flow concentration as a function of direction (see figure1)). This effect is quantified by the enhancement factor [6]

A =∆Ωp

∆Ωg

(10)

where ∆Ωp is the solid angle spanned by a set of phase wave vectors np and∆Ωg is the solid angle spanned by the equivalent set of group wave vectors ng.When using normalized vectors, this corresponds to the area of the tetragonthey span on the unit sphere (see figure 2).

2.3. The enhancement factor: infinitesimal

Infinitesimally, the enhancement factor is most easily considered in spher-ical coordinates. The solid angle equals the area of the infinitesimal paralel-logram on the unit sphere spanned by the (vector-valued) partial derivativesof the phase or group vectors to θ and φ. The area is then given by theabsolute value of the vector product.

dΩp = sin(θ)dθdφ (11a)

and

dΩg =

∥∥∥∥∂ng∂θ× ∂ng

∂φ

∥∥∥∥ sin(θ)dθdφ, (11b)

5

Page 6: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

x

y

Phase velocity

Group velocity

Figure 1: A cartoon to illustrate how phase and group vectors can differ in direction. Inthis example, the acoustic energy is focused towards the x and y directions.

Figure 2: dΩp and dΩg

from which the enhancement factor follows as

A =

∥∥∥∥∂ng∂θ× ∂ng

∂φ

∥∥∥∥−1 . (12)

The vector product in equation (12) can be rewritten as(θ · ~∇ng

)×(φ · ~∇ng

)= Cof(~∇ng) · (θ × φ) = Cof(~∇ng) · q (13)

where θ = ∂q∂θ

and φ = ∂q∂φ

. Cof( ) signifies the matrix of cofactors Cof(X) =

det(X)X−T . The enhancement factor is then

A =∥∥∥Cof(~∇ng) · q

∥∥∥−1 . (14)

The latter expression no longer relies on spherical coordinates, avoiding anydifficulties due to poorly defined derivates at the poles. Furthermore, it isdirectly calculable from derivatives of the eigenvalues of the Christoffel ma-trix. This differs from, but is equivalent to, the expression used by Northropet al[7], who focused on computational efficiency over flexibility.

6

Page 7: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

3. Implementation

A strategy for an accurate determination of the aforementioned propertiesis sketched in figure 3. By using the gradient and Hessian of the Christoffelmatrix, one can obtain exact results for the group velocity and enhancementfactor.

C, ρ

M λ

s

vp

~∇λ

~∇M

vg A

H(λ)

H(M)

Measurable quantitiesInput Output

(7) (14)

(5)

(20)

(21)

(15)

(17)

(22)

(19)

(25)

Figure 3: Flowchart showing how quantities are calculated from one another. The inputconsists of the stiffness tensor and density of the material. To determine phase velocities,group velocities and the enhancement factor, one must calculate the eigenvalues of theChristoffel matrix and their derivatives. Full lines indicate calculations while dashed linesare definitions. The numbers refer to the corresponding equations in this text.

The practical strategy relies on recasting the equations of section 2 asfunctions of (the derivatives of) the eigenvalues of the Christoffel matrix.For example, the eigenvalues of the Christoffel matrix are the square of thephase velocity:

λ = v2p (15)

from which it readily follows that

vg = ~∇vp = ~∇√λ =

~∇λ2√λ. (16)

7

Page 8: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

3.1. Derivatives of eigenvalues and eigenvectors

To calculate the aforementioned properties analytically, we need expres-sions for the first and second derivatives of the eigenvalues of a matrix, asfunction of the derivatives of the matrix itself. Generally, the expression forthe first derivative of an eigenvalue λ of a matrix M is given by:

∂λi∂qk

= si ·∂M

∂qk· si, (17)

where si is the normalized eigenvector corresponding to eigenvalue λi. Higherorder derivatives require an expression for the derivatives of the eigenvectorsas well. These are given by[8]

∂si∂qk

= (λiI−M)+ · ∂M

∂qk· si (18)

where ( )+ denotes the pseudo-inverse. Using the above, the second orderderivative of an eigenvalue equals

∂2λi∂qk∂qm

= si ·∂2M

∂qk∂qm· si + 2si ·

∂M

∂qk· (λiI−M)+ · ∂M

∂qm· si. (19)

3.2. Derivatives of the Christoffel matrix

Due to the simple form of the Christoffel matrix (5), the rank 3 tensor~∇M is easily determined to be

∂Mij

∂qk=∑m

(Cikmj + Cimkj) qm, (20)

which is a function of q. Note that (20) and (17) make the calculation ofgroup velocities trivial once the eigenvalues and eigenvectors of the Christoffelmatrix have been determined.

The Hessian of the Christoffel matrix is independent of q and given by

∂2Mij

∂qk∂qm= Cikmj + Cimkj. (21)

Note that (21) has no implicit summation over indices, each matrix elementis given by the sum of just two tensor components. These two terms aregenerally not equal.

8

Page 9: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

3.3. Determining the group velocity and enhancement factor

The i-th group velocity is calculated by combining (16), (17) and (20):

vig =si · ~∇M · si

2√λi

. (22)

The implementation of the enhancement factor is slightly more involved, as itdeals with the derivatives of normalized vectors. For a general differentiable,strictly positive vector field v, the gradient of the normalized field equals

~∇ v

‖v‖ =~∇v

‖v‖ −v ⊗ (~∇v) · v‖v‖3 (23)

where ⊗ denotes the outer product (a⊗b)ij = aibj. Note that (23) is an ex-pression for the gradient of the vector field, not the divergence. The gradientof a vector is a rank 2 tensor, while the divergence yields a scalar.

The gradient of the normalized group velocity as a function of the eigen-values of the Christoffel matrix is given by

~∇ng = ~∇ vg‖vg‖

= ~∇~∇vp‖~∇vp‖

= ~∇~∇λ‖~∇λ‖

(24)

which combined with (23) yields

~∇ng =H(λ)

‖~∇λ‖−~∇λ⊗H(λ) · ~∇λ‖~∇λ‖3

(25)

where H is the Hessian operator. Although (25) looks like it would yielda symmetric matrix, note that the outer product does not commute. This

means that in general, ~∇ng 6=(~∇ng

)T.

Once ~∇λ is calculated using (17) and ~∇ng using (25), (14) provides theenhancement factor.

4. The Christoffel module

The full mathematical machinery as described in section 3 is containedin the christoffel python module. The central object is the Christoffel

object, which contains all functions needed to calculate vp, vg, ψ and A from

9

Page 10: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

the (reduced) stiffness tensor and (normalized) wave vector. Upon initial-ization (requiring a stiffness tensor and density), all direction-independentdata is calculated once and stored. To find direction-dependent properties,one sets a wave vector (using spherical or cartesian coordinates). Everythingis calculated on a need-to-know basis to prevent unnecessary computationalload. For example, using the get group velocity() function will causephase and group velocities to be calculated if they haven’t already, but notthe enhancement factor. An extra routine is also available to allow usersto calculate the enhancement factor via a numerical approach, for when theanalytical derivative is ill-defined.

A second script named scansurface is provided which uses the christoffelmodule to scan the z ≥ 0 half of the unit sphere. A settings file allows forthe input of the stiffness tensor and density, and to choose the samplingdensity of angular coordinates θ (polar) and φ (azimutal). It is possible toprovide a rotation matrix to rotate the stiffness tensor, which can be use-ful when comparing output from different crystal structures. Furthermore,Gnuplot scripts are available to conveniently plot the data generated in thisway. This is not the only possible implementation however, the stand-alonemodule allows for flexibility and versatility such that the user can choosewhich functionality they need, and build upon the tools that are provided.

5. Output and visualization

The data is stored in 3 files, one for each mode named slow secondary.dat,fast secondary.dat and primary.dat. Each file contains the following foreach direction in the grid:

• The spherical coordinates θ and φ

• The projection of q onto the unit cube

• The phase velocity vp in km/s

• The phase velocity vp relative to the corresponding isotropic soundvelocity

• Polarization direction of the sound wave

• The group velocity vg in km/s

10

Page 11: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

• The group velocity vg relative to the corresponding isotropic soundvelocity

• x, y, z-coordinates of the ray surface in km/s

• The power flow angle ψ in degrees

• The enhancement factor, A

GNUPlot scripts are provided for convenient plotting of these quantities, asshown in figures 4 through 9 for the example of GaAs. Many different plottingoptions are available with color palettes chosen in an attempt to representthe data in the most faithful way. For all properties, there is the possibilityto project the data on the unit sphere and the unit cube as shown in figure4. There are also two 2-dimensional representations: the Lambert equal-area projection (which preserves local area) and the stereographic projection(which preserves local shape) as shown in figure 5. Furthermore, the phaseand group sound velocities can be represented either in absolute units, orrelative to the isotropic sound velocities (see figure 4). These isotropic soundvelocities are given by

vPiso =

√B + 4

3G

ρ(26a)

vSiso =

√G

ρ(26b)

where B is the bulk modulus, G is the average shear modulus and ρ thedensity of the material. P and S refer to Primary and Secondary moderespectively. These velocities are the phase and group sound velocities thematerial would have if it were fully isotropic. Comparing with these is aconsistent measure of how the material’s acoustic properties deviate fromisotropy, and allow for a direct comparison of anisotropy between differentmaterials.

6. Summary and outlook

We have created a flexible and reliable piece of software for the calculationof phase and group sound velocities based on the stiffness tensor of a material.Power flow angles and enhancement factors are calculated accurately and

11

Page 12: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

efficiently. Sampling of wave vectors can be chosen freely, where denser gridsare more computationally intensive, but provide a more detailed view of allquantities. The computational load scales linearly with the amount of gridpoints sampled, as every direction is fully independent of all others.

New features are still possible to add to christoffel. On performance,the most obvious first improvement would be parallelization support. Sinceeach direction can be handled independently, several could be handled con-currently. When it comes to features to the christoffel module, there isdetection of unstable strain modes and more elaborate options for calculatingdirectional dependent shear and young moduli. For visualization, the firstupdate will be to add support on projecting the data onto arbitrary unit cellshapes beyond cubic.

7. Acknowledgements

The authors would like to thank Michael Sluydts and Danny E.P. Van-poucke for fruitful discussions and their assistance in hunting down elusivebugs. S.C. acknowledges financial support from OCAS NV by an OCAS-endowed chair at Ghent University.

References

[1] H. J. McSkimin, Ultrasonic measurement techniques applicable to smallsolid specimens, The Journal of the Acoustical Society of America 22 (4)(1950) 413–418. doi:10.1121/1.1906618.

[2] M. H. F. Sluiter, M. Weinert, Y. Kawazoe, Determination of the elastictensor in low-symmetry structures, Europhysics Letters 43 (July) (1998)183–188.

[3] M. de Jong, W. Chen, T. Angsten, A. Jain, R. Notestine, A. Gamst,M. Sluiter, C. Krishna Ande, S. van der Zwaag, J. J. Plata, C. Toher,S. Curtarolo, G. Ceder, K. A. Persson, M. Asta, Charting the completeelastic properties of inorganic crystalline compounds, Scientific Data 2.doi:10.1038/sdata.2015.9.

[4] D. Munoz-Santiburcio, A. Hernandez-Laguna, J. I. Soto, AWESoMe: Acode for the calculation of phase and group velocities of acoustic wavesin homogeneous solids, Computer Physics Communications 192 (2015)272–277. doi:10.1016/j.cpc.2015.02.024.

12

Page 13: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

[5] F. I. Fedorov, Theory of elastic waves in crystals, Springer, 1968.

[6] H. J. Maris, Enhancement of Heat Pulses in Crystals Due to ElasticAnisotropy, The Journal of the Acoustical Society of America 49 (1A)(1971) 88. doi:10.1121/1.1976094.

[7] G. A. Northrop, Acoustic phonon anisotropy: Phonon focusing, Com-puter Physics Communications 28 (1) (1982) 103–107. doi:10.1016/0010-4655(82)90065-0.

[8] K. B. Petersen, M. S. Pedersen, The matrix cookbook, version 20121115(nov 2012).

13

Page 14: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

Figure 4: Phase velocities of GaAs projected in 3D. In the X,Y and Z directions, theprimary mode is slowest, while the secondary modes are fastest (though still slower thanthe primary). (a) The absolute velocities projected onto the unit sphere. (b) Same projec-tion, though the colors now indicate velocity relative to the isotropic velocities as definedin (26). (c) The radius of the sphere is scaled according to the velocity, a clear visualindication of how the phase velocity changes with direction. It is clearly visible that themodes are ordered from slow (left) to fast (right). (d) Projection onto the unit cube.This is useful primarily for cubic materials, as there is a one-to-one correspondence to theconventional crystal unit cell.

14

Page 15: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

Figure 5: Phase velocities of GaAs projected onto the plane. In the X,Y and Z direc-tions, the primary mode is slowest, while the secondary modes are fastest (though stillslower than the primary). (a) Lambert azimuthal equal-area projection. Useful for com-paring sound velocity behavior in different directions. It does not conserve angles. (b)Stereographic projection which conserves angles, thus locally preserves shape. Useful forstudying local shapes or lines of interest.

Figure 6: Polarization of sound waves in GaAs, superimposed over the phase velocities.It is clear that the primary mode is pseudo-longitudinaly polarized, while the secondarymodes have a pseudo-transverse polarization.

15

Page 16: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

Figure 7: Group velocities of GaAs. (a) Projection of the group velocity corresponding toeach phase direction on the unit sphere. (b) Full representation of the ray surfaces. Thesecondary modes show many caustics.

Figure 8: Power flow angles of GaAs as projected on the unit sphere (a) and unit cube(b). High symmetry points and lines of the fcc structure are clearly visible.

16

Page 17: Solving the Christo el equation: phase and group velocities · Solving the Christo el equation: phase and group velocities Jan W. Jaekena,, Stefaan Cotteniera,b aCenter for Molecular

Figure 9: Enhancement factors of GaAs as projected on the unit sphere (a) and unit cube(b). The secondary modes exhibit a rich structure with narrow bands of extremely highenhacement. The primary mode shows more moderate enhancement, primarily along thecube vertices.

17