guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ERROR: Bad define placement


From: barry stevensson
Subject: ERROR: Bad define placement
Date: Wed, 17 Nov 2010 14:58:54 +0100

Hi Guile users,

I am a new user of MIT MPB software that use Guile as user control language/interface. I have a very limited knowledge about guile and just followed manual of MPB in writing my code. However, I got this error message after running the code:

ERROR: In procedure memoization:
ERROR: Bad define placement (define (kxmax zvalue2) (- 1 zvalue2)).

This is the full code I used:

(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.

Best regards,

Barry

reply via email to

[Prev in Thread] Current Thread [Next in Thread]