Dear meep-users

I have a problem with instability of energy value counted by flux. I
try to measure transmission spectra of volume filled by semiconductor
excited by Gaussian pulse. MEEP outputs flux value every 50 time
periods. I expected increasing negative value (flux area at the left
of source) but value oscillates after first waves of pulse decayed in
PML.
How to obtain stable value?
Oscillations at frequency 0.338 (first value at time 50, second at
time 100 etc):
[a.friman@host diff_cutoff]$ grep 0.3380000 meep-mpi.*/output
meep-mpi.1/output:flux0:, 0.338000000000006, 0.0
meep-mpi.1/output:flux0:, 0.338000000000006, -4.50393425317664e-4
meep-mpi.1/output:flux0:, 0.338000000000006, -2.38994436508817e-5
meep-mpi.1/output:flux0:, 0.338000000000006, -7.46032524483363e-6
meep-mpi.1/output:flux0:, 0.338000000000006, -1.983285362982e-6
meep-mpi.1/output:flux0:, 0.338000000000006, -1.60454162745315e-6
meep-mpi.1/output:flux0:, 0.338000000000006, -1.89173314434286e-6
meep-mpi.1/output:flux0:, 0.338000000000006, -1.44839758133457e-6
meep-mpi.1/output:flux0:, 0.338000000000006, 1.4354918322008e-7
meep-mpi.1/output:flux0:, 0.338000000000006, 1.07638257553841e-7
meep-mpi.1/output:flux0:, 0.338000000000006, -8.4762332025163e-7
meep-mpi.1/output:flux0:, 0.338000000000006, 1.59544008757207e-7


My ctl file:
(define-param s 85.9) ; the size of the computational cell, not including PML
(define-param dpml 8) ; thickness of PML layers
(define sxy (+ s (* 2 dpml))) ; cell size, including PML
(set! geometry-lattice (make lattice (size 60 sxy no-size)))
(set! pml-layers (list (make pml (thickness dpml) (direction Y)
(strength 0.2)) (make pml (thickness 5) (direction X) (strength 0.5) )
))
(set! Courant 0.15)
(set! resolution 64)

(define-param cell_size 0.1 )
(define-param f0 (/ cell_size 0.4082))
(define-param gaas_sigma 7.4969 )
(define-param GaAs (make dielectric
(epsilon 3.5 )
(polarizations
(make polarizability  (omega f0) (gamma 1e-20) (sigma gaas_sigma) )
)
))

(set! default-material GaAs)

(set! symmetries (list (make mirror-sym (direction Y) (phase -1.0) )))

(define-param flux_center (vector3 -24.0 0 0))
(define-param flux_size (vector3 0 20 infinity))
(define-param source_center (vector3 24 0 0))
(define-param source_size (vector3 0 (* sxy 1.0) infinity))
(define-param run_time 2000)

(define-param gap_freq1 0.26 ); 242.0/532.5
(define-param spectr_width1 (/ gap_freq1 1.5) );
(define-param nfreq 1000 )
(set! sources (list
(make source (src (make gaussian-src (frequency gap_freq1) (width
spectr_width1 ) (cutoff 10.0) )) (component Hz) (center
source_center) (size
source_size) )
))

(define filtered1
  (add-flux gap_freq1 (* spectr_width1 0.9) nfreq
            (make flux-region (center flux_center) (size flux_size)
(direction X) )
  )
)

(define time_step 0)
(define (flux-periodic-output) (print "flux output at: " time_step
"\n") (set! time_step (+ time_step 1) ) (display-fluxes filtered1 ) )

(run-until run_time  (at-beginning output-epsilon)
    (at-every 50 flux-periodic-output)
)


Alex Friman,
LPI RAS

_______________________________________________
meep-discuss mailing list
meep-discuss@ab-initio.mit.edu
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

Reply via email to