> So, I created a source but it looks like splited, i.e. it consists of parts 
> of different sign which lengths are equal to the half of the wavelength used 
> in the simulation. The point is that this is not a continuous source anymore 
> with uniform wavefront. How can it be transformed to normal state? One of the 
> possible variants is to make cell in X direction smaller but this does not 
> suits me.

I can't reproduce your problem.  I tried the file below, based on your 
file but adding the requisite lines to define the cell size, etcetera, and 
also modifying the source slightly to have a nonzero fwidth (so that it 
turns on slowly, to reduce artifacts from turning on the source suddenly). 
What I get at the end of the simulation is a fairly nice looking wave 
propagating at 45 degrees, like you wanted.

> Another question arose due to Matt's discussion last month. What is the 
> general recipe to calculate transmition/reflection spectrum in periodic 
> system like mine when the wave propagates under some angle (any angle). Am I 
> correct that: due to the phase boundary condition (where kx=2pi/lambda, 
> ->exp(i kx x) )
> I need to make a simulation in the following way. I am going to compute 
> spectrum for one angle, thus I make multiple numerical experiments where I 
> make my narrowband gaussian source run in different ranges in order to cover 
> spectral range I want, of course I change my k-point kx in this case. Are 
> there any different ways  to do this?

You don't need to use a narrow-band Gaussian, and in general it is more 
efficient to use a broad-band Gaussian (short pulse) so that the 
simulation is quicker.  The key point is that a given angle corresponds to 
only a single Fourier component for a given k.

So, if you want the spectrum at a fixed angle, you need to do a series of 
short-pulse Gaussians for various kx values, and from each one take a 
single Fourier component that gives you the requisite angle.

What I explained to Matt is that, with almost no extra effort, the same 
set of calculations give you the spectrum at multiple angles (just by 
looking at multiple frequencies for each kx, corresponding to multiple 
angles at different frequencies).

Steven

------  test file anton.ctl ----

(define-param cell_numZ 5)
(define-param cell_numX 5)
(define-param cell_numY no-size)
(define-param pml_width 0.5)

(set! geometry-lattice (make lattice (size cell_numX cell_numY 
cell_numZ)))

(define-param fcen 0.3)
(set-param! resolution 10)

(define angle 45)
(define kx 0)
(set! k-point (vector3 kx 0 0))
(set! pml-layers (list (make pml (thickness pml_width) (direction Z))))
;; establish periodic boundaries
(set! kx (* fcen (sin (deg->rad angle))))
(change-k-point! (vector3 kx 0 0))

; Well after it I put continuous source:
(set! sources
(list
  (make source
   (src (make continuous-src
    (frequency fcen) (fwidth (/ fcen 5))))
   (amp-func (lambda (p) (exp (* 0+2i pi kx (vector3-x p)))))
   (component Hy)
   (center 0 0 (- (/ cell_numZ 2) pml_width) )
   (size cell_numX (if (= cell_numY no-size) 0 cell_numY) 0))))


(run-until 300 (at-end (output-png Hy (if (= cell_numY no-size)
                                           "-Zc bluered"
                                           "-0y0 -Zc bluered"))))


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

Reply via email to