Re: Describing the Diamond Minimal Surface in MPB

"Steven G. Johnson" <[email protected]> Sat, 1 Sep 2012 16:30:44 -0400
Newsgroups gmane.comp.science.photonic-bands
Message-ID <[email protected]>
On Aug 31, 2012, at 11:00 AM, Nance, Douglas V Dr CIV USAF AFMC AFRL/RWWC wrote:
> I am using MPB to compute dispersion relations for the diamond lattice
> as described by a minimal surface equation:
> 
> cos(Z) sin(X+Y) + sin(Z) cos(X-Y) = t
> 
> where X = 2 pi x/a; Y = 2 pi y/a; Z = 2 pi z/a. Lower case x, y and z
> are the Cartesian coordinates for the surface. 

This is not the function that you are implementing:

> (define (eps-func p)
> 	(set! fr 0.0)
> 	(set! px (vector3-x (lattice->cartesian p)))
> 	(set! py (vector3-y (lattice->cartesian p)))
> 	(set! pz (vector3-z (lattice->cartesian p)))
>        (set! fr (+ (+ (* px twopioa) (* py twopioa)) (* pz twopioa)))
>        (make dielectric (epsilon
> 		(if (> fr t) epsa epsc ))))

You are computing the interface

	X+Y + Z = t

(You don't call cosine or sine, or compute X-Y.)

In general, it is a good idea to visualize the structure by looking at the epsilon.h5 file with a plotting tool (usually using mpb-data, as described in the data-analysis tutorial), to make sure it is the structure that you think it is.

--SGJ