About self defined eps-func
Simon Huskier <[email protected]> Wed, 11 Jul 2012 22:33:44 +0800
| Newsgroups | gmane.comp.science.photonic-bands |
|---|---|
| Message-ID | <CAF=cZjSOmU_9VoZssyQq3r_NotMY06rvunozfG6NEpQtrdqawQ@mail.gmail.com> |
Dear Steven and MPB users, Following Dr. Steven's suggestion on the following thread, http://www.mail-archive.com/[email protected]/msg00543.html I defined a eps-func as following: (define (eps-func p) > (let* ((p (lattice->cartesian)) > (x (vector3-x p)) > (y (vector3-y p)) > (z (vector3-z p))) > (if (> sin(* 2 pi x y z) 0) > (make dielectric > (epsilon 12)) > (make dielectric > (epsilon 1))))) When I run the mpb program, there is an error. > *Initializing dielectric function... > ERROR: Wrong number of arguments to #<procedure lattice->cartesian (x)>* Although the suggestion is obvious (wrong number of arguments), it is beyond my capability to fix it right now. I checked let* instruction and lattice->cartesian function, and I also carefully matched the ')'s. Any suggestion would be appreciated. Thanks. Best Regards, Simon _______________________________________________ mpb-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/mpb-discuss