In your function:

(define (make-sq-lattice r a num_x num_y)
   (if (> num_y 0)
     (append
       (geometric-object-duplicates (vector3 1 0) 0 num_x
         (make cylinder (center 0 (* num_y a)) (height infinity)
           (radius r) (material (make dielectric (epsilon eps_hole)))))
       (make-sq-lattice r a num_x (- num_y 1)))
     0))

the final return value should be '()  (the empty list) not 0.  The point 
is that your function should always return a list.

Regards,
Steven G. Johnson

_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to