(set! num-bands 4)
(set! resolution 16)
(set! mesh-size 7)
(set! geometry-lattice (make lattice
(basis1 0 1 1)
(basis2 1 0 1)
(basis3 1 1 0) ))
(define-param kxluw 0.5)
(define-param kzluw 0.5)
(define-param eps 2.4964)
(define-param r 0.53)
(define diel (make dielectric (epsilon eps)))
(let f1 ((kzluw 0.5))
(define (kxmin zvalue1) (- 0.75 (* zvalue1 0.5)))
(let f2 ((kxluw (kxmin kzluw)))
(define (kyluw xx zz) (- 1.5 (+ xx zz)))
(set! k-points
(interpolate 28 (list
(vector3 0 0 0) ;Gamma
(vector3 kxluw (kyluw kxluw kzluw) kzluw)))) ;LUW plane
(set! geometry (list
(make block (center 0 0 0) (size 1 1 1) (material diel))
(make sphere (center 0 0 0) (radius r) (material air))))
(run)
(define (kxmax zvalue2) (- 1 zvalue2))
(if (< kxluw (kxmax kzluw))
(f2 (+ kxluw .00625)))
)
(if (> kzluw 0.25)
(f1 (- kzluw .0125)))
)
I hope someone can help me to figure out how to modify the code.