Hi,

I just started using meep in order to do some simulations on photonic crystals 
while away from campus. Meep so far is a very diverse and useful tool,  
unfortunately i am having a hard time reading the reference page. I am unable 
to debug my error that i am getting even after reading though the mailing 
archive and examining the tutorial syntax. 

The error that i am getting is Error: wrong type to apply -3.84211. My code is 
down below any help would be greatly appreciated. To be specific the error 
occurs when i am generating my source and specifying the center of the source. 
Academically i am more worried about why i am getting this error rather then 
the error itself ^^ i would love to hear an explaination and how you were able 
to deduce it =D thank you. Also if you see any other errors it would be great 
to hear of them.

(set! sources (list (make source (src (make gaussian-src (frequency fcen) 
(fwidth df)))
                    (component Ey) ((* dx -1) center 0) (size 0 r))))

** Also i am definitely sure my code is very inefficent any tips on generating 
periodic 2D or 3D structures would help alot. I noticed that there is a 
geometric-objects-lattice-duplicate function that i should be using  but the 
generation of the lattice on a supercell eludes me. Thank you again for any 
help. Any other reference on generating photonic crystal structures using MEEP 
would help alot. I am currently reading the textbook specified on the MEEP 
website but do not see any reference to coding.

Sorry i hope i dont seem to be too pushy. Thanks for the help in advance again.

Thank you,
Tenner Lee

; set the size of the simulation cell 
(define-param sx (+ (* (+ 4 5 1) 2) 3)) ; size of cell in the x direction 
2*(dx+n/2+pml)+2 
(define-param sy (+ (* (+ 4 5 1) 2) 3)) ; size of cell in the y direction 
2*(dx+n/2+pml)+2 
(set! geometry-lattice (make lattice (size sx sy no-size))) 
 
; set the geometry of the 10x10 wire array 
(define dx 3.84211) ; width of spacing of the photonic crystal in the x dir 
1.168 mm 
(define dy 3.84211) ; width of spacing of the photonic crystal in the y dir 
1.168 mm 
(define r 1) ; radius of metal wires .304 mm base unit 
(define h infinity) ; height of wire 
(define eps -1e10) ; material epsilon copper 
(define n 10) ; size of wire array 
(set! geometry (append 
               (list (make block (center 0 0) (size (- sx 1) (- sy 1) infinity) 
            (material air))) 
               (geometric-object-duplicates (vector3 dx 0) 0 (- n 1)
               (make cylinder (center (/ dy 2) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy 1.5) 0) (radius r)  
            (height h)   
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy 2.5) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy 3.5) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy 4.5) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (/ dy -2) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy -1.5) 0) (radius r) 
            (height h) 
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy -2.5) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy -3.5) 0) (radius r) 
            (height h)  
            (material (make dielectric (epsilon eps))))) 
           (geometric-object-duplicates (vector3 dx 0) 0 (- n 1) 
           (make cylinder (center (* dy -4.5) 0) (radius r) 
            (height h) 
            (material (make dielectric (epsilon eps)))))))
 
; set the source parameters 
(define fcen 3.04) ; center frequency in base units r/(3e8/3e12) 
(define df 3.04) ; width frequency in base units r/(3e8/3e12) 
(define fn 500) ; number of frequencies to compute flux
(set! sources (list (make source (src (make gaussian-src (frequency fcen) 
(fwidth df)))
                    (component Ey) ((* dx -1) center 0) (size 0 r))))
 
; set simulation parameters 
(set! resolution 32) ; set the resolution should be a number equal to 2^n 
(set! pml-layers (list (make pml (thickness 1.0)))) ; make pml layer 
(define trans (add-flux fcen df fn (make flux-region ((+ (* dx 10) 1) center 
0)  
                   (size 0 (* r 2))))) 
 
; run script 
(run-sources+ (stop-when-fields-decayed 50 Ey (vector3 0 0) 1e-3)
          (at-beginning output-epsilon) 
          (to-append "ey" (at-every 0.5 output-efield-y)) 
(display-fluxes) ; print out the flux spectrum  

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

Reply via email to