> 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