Hi Nathan,

I had a similar problem when simulating real metals - it turns out that Meep will not accept negative permittivities without blowing up. You have to sneak up on the negative permittivity by using the polarizability feature of materials (see http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Material_dispersion) . If you set the infinite permittivity to 1 you can create the negative part using the Drude model (see Skinner et al., Appl. Optics Vol. 45, No. 9, p 1943, 2006). Another member of the mailing list helped me out with this.

Regards,

Ian


On 5 Mar 2009, at 17:00, meep-discuss-requ...@ab-initio.mit.edu wrote:

Send meep-discuss mailing list submissions to
        meep-discuss@ab-initio.mit.edu

To subscribe or unsubscribe via the World Wide Web, visit
        http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
or, via email, send a message with subject or body 'help' to
        meep-discuss-requ...@ab-initio.mit.edu

You can reach the person managing the list at
        meep-discuss-ow...@ab-initio.mit.edu

When replying, please edit your Subject line so it is more specific
than "Re: Contents of meep-discuss digest..."


Today's Topics:

  1. meep installation problem (guile related) (Hua Bao)
  2. Complex field in meep (adrian)
  3.  meep initial field (Michal Martin?)
  4. regarding single pulse source (prabhat behere)
  5. Unstable simulation with evanescent fields in active       medium
     (Nathan)


----------------------------------------------------------------------

Message: 1
Date: Wed, 04 Mar 2009 22:20:42 -0500
From: Hua Bao <h...@purdue.edu>
Subject: [Meep-discuss] meep installation problem (guile related)
To: meep-discuss@ab-initio.mit.edu
Message-ID: <49af450a.9070...@purdue.edu>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed

Dear All,

I am a new user of meep.
I was trying to build up a meep executable but it shows error at the
configure step.

checking for guile-config... no
checking for readline in -lreadline... no
checking for dlopen in -ldl... yes
checking for scm_lt_dlinit in -lguile-ltdl... no
checking for dlopen in -lltdl... no
checking for gh_eval_str in -lguile... no
configure: error: linking to guile failed

The linux cluster (amd64) has guile installed. There is no problem to
run guile --version. Also, there is a libguile.so under /usr/lib64.
********
/usr/lib64/libguile-srfi-srfi-1-v-3.so
/usr/lib64/libguile-srfi-srfi-1-v-3.so.3
/usr/lib64/libguile-srfi-srfi-1-v-3.so.3.0.0
/usr/lib64/libguile-srfi-srfi-13-14-v-3.so
/usr/lib64/libguile-srfi-srfi-13-14-v-3.so.3
/usr/lib64/libguile-srfi-srfi-13-14-v-3.so.3.0.0
/usr/lib64/libguile-srfi-srfi-4-v-3.so
/usr/lib64/libguile-srfi-srfi-4-v-3.so.3
/usr/lib64/libguile-srfi-srfi-4-v-3.so.3.0.0
/usr/lib64/libguile-srfi-srfi-60-v-2.so
/usr/lib64/libguile-srfi-srfi-60-v-2.so.2
/usr/lib64/libguile-srfi-srfi-60-v-2.so.2.0.0
/usr/lib64/libguile.so.17
/usr/lib64/libguile.so.17.0.0
/usr/lib64/libguilereadline-v-17.so
/usr/lib64/libguilereadline-v-17.so.17
/usr/lib64/libguilereadline-v-17.so.17.0.0
******

I tried

setenv LDFLAGS "-L/usr/lib64"

It is still not working.

Also, it can not find lapack and blas on the cluster, either. And I am
very sure they are appropriately installed.

Can anyone give me some suggestions on this problem?

Thanks,
Hua




------------------------------

Message: 2
Date: Thu, 5 Mar 2009 13:12:48 +0800 (CST)
From: adrian <hiaquar...@yahoo.com.tw>
Subject: [Meep-discuss] Complex field in meep
To: meep-discuss@ab-initio.mit.edu
Message-ID: <825480.96270...@web73705.mail.tp2.yahoo.com>
Content-Type: text/plain; charset="utf-8"

? Hi Meep users and Steven:
? ? I know this question has been discussed but I can't find the answer to previous poster.
? ? My question is:

??? 1. what is the definition of complex field in FDTD. Is it just E0*exp(j(wt - kr)) and the real field and imaginary field correspond to real part and imaginary part, respectively? ????? If so, if we set force-complex-fields? false, then the real field we normally got is E0 times cos(wt - kr)? ? ? ? I try to reach "Complex field in meep"? but it requires password. so I can't find the definition of complex fields in meep.

???? The purpose for getting complex field is to get the far field patterns from the near field patterns calculated by meep

Thanks in advanced

Adrian
??



______________________________________________________________________________________________________
?????????Yahoo!??????2.0????????????? http://tw.mg0.mail.yahoo.com/dc/landing
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ab-initio.mit.edu/pipermail/meep-discuss/attachments/20090305/9896d4d6/attachment.html >

------------------------------

Message: 3
Date: Thu, 5 Mar 2009 08:33:59 +0100
From: Michal Martin? <cmelak9...@centrum.cz>
Subject: [Meep-discuss]  meep initial field
To: <meep-discuss@ab-initio.mit.edu>
Message-ID: <000001c99d64$bf8dee10$6f01a...@michalp4>
Content-Type: text/plain;       charset="iso-8859-2"


Please, could you help me more? I do not understand it well.
I can have for 2D task from the static 2D analysis such file:
   X           Y           Z           HX          HY         HZ
1.0000E+01  1.1000E+01  0.0000E+01  2.1454E+00  1.4513E+00  0.0000E+01
1.1000E+01  1.1000E+01  0.0000E+01  4.5454E+00  1.3213E+00  0.0000E+01
1.2000E+01  1.1000E+01  0.0000E+01  8.8454E+00  1.2213E+00  0.0000E+01
1.3000E+01  1.1000E+01  0.0000E+01  9.9454E+01  1.4313E+01  0.0000E+01
.....
...
..
.
This I can get to input text file from static analysis from another
software. How the procedures Hx, Hy have to look like? Is it in the
"clt" file, or they are external execucable in C? Must nodes fit?

Thanks. Michal
http://www.free-motor.org

-----Original Message-----
From: meep-discuss-boun...@ab-initio.mit.edu
[mailto:meep-discuss-boun...@ab-initio.mit.edu] On Behalf Of
schmi...@we.fh-osnabrueck.de
Sent: Monday, January 26, 2009 6:18 PM
To: meep-discuss@ab-initio.mit.edu
Subject: [Meep-discuss] initialize fields




Use something like:


(define (my_Hmagx v3)
       Hx..
)

(define (my_Hmagy v3)
       Hy..
)
(define (my_Hmagz v3)
       Hz..
)

Hx.., Hy.., Hz.. are procedures calculating/reading the initial field
values for each vector3 (x y z) position v3.

Then:

(init-fields)
(meep-fields-initialize-field fields Hx my_Hmagx)
(meep-fields-initialize-field fields Hy my_Hmagy)
(meep-fields-initialize-field fields Hz my_Hmagz)

(run ....





------------------------------

Message: 4
Date: Thu, 05 Mar 2009 13:18:07 +0530
From: "prabhat behere" <behereprab...@in.com>
Subject: [Meep-discuss] regarding single pulse source
To: "meep-discuss" <meep-discuss@ab-initio.mit.edu>
Message-ID: <1236239287.68aea522760347926520bfa959f15...@mail.in.com>
Content-Type: text/plain; charset="utf-8"

Dear Steven,recently I had submitted a query regarding the pulse source. in your replyyou talked about difference between the time step and time unit. I am thankful for the reply.here I am sending you the ctl code . I have two questions:1. i want a single pulsed source. can i make it wtth continuous souce function.if yes, how? in the ctl code that follows i tried to change source to continuoussrc function. i have used in source definition width =0.1 which means approximately 100 time steps.but after 100 time steps the source does not vanish. how do i get a single pulse source.2. i think i am able to get a single pulse sorce with guassiansrc fucntion.but i want to work with nearly a single frequency. My requirement is a single nearmonochromatic femtosecond pulse. is guassiunsrc suited for my use? CTL code:(set! geometrylattice (make lattice (size 2 2 nosize)))(set! geometry (list(make block (size 0.5 0.5)(center 00) (material(make dielectric (epsilon 1.5))))))(set! sources (lis t (make source (src (make guassiansrc (frequency 1.53233)(width 0.1)))(direction Y) (component Hz) (center 0 0 0) (starttime 0) (endtime 0.1) (size 0 0 0))))(set! pmllayers (list (make pml (thickness 0.1))))(set! resolution 100)(runsources+ 5 (atbeginning outputepsilon);(atevery .5 outputefieldx)thank youprabhat(atevery .5 outputefieldy)) ;(atevery .5 outputdpwr))Dear meepdiscuss ! Get Yourself a cool, short @in.com Email ID now!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ab-initio.mit.edu/pipermail/meep-discuss/attachments/20090305/441a297e/attachment-0001.htm >

------------------------------

Message: 5
Date: Thu, 5 Mar 2009 01:54:29 -0600
From: Nathan <nhunt...@smu.edu>
Subject: [Meep-discuss] Unstable simulation with evanescent fields in
        active  medium
To: <meep-discuss@ab-initio.mit.edu>
Message-ID: <49af8535.3040...@smu.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format=flowed

Dear Meep users,

I'm trying to simulate Enhanced Frustrated Total Internal Reflection and
my simulations are blowing up.  I want to launch a wave (plane wave
preferably but I recently changed to a gaussian to get better control)
at an angle inside a medium, and have the wave hit a very thin trench of
lower index.  If the trench is thin enough, the power in the wave will
be partially reflected and partially transmitted, or FTIR.  I can do
this fine, and the numerical results match theory.  Where I get in
trouble is if I specify a conductivity in the thin trench, specifically a negative conductivity for gain. I have developed a theory on how this
'should' work, and I want to gain confidence in my model via numerical
analysis.  When I try and model this, I am getting reflected and
transmitted powers that are on the order of 10e200!!!  Obviously this
isn't right.  I have spent the last two weeks looking at everything I
can think of that will cause this, the launch field, numerical
stability, the pmls, and I can't see what the problem is.  I should
mention that for small conductivities the model doesn't blow up, but it
still doesn't match theory.  For large conductivities though it goes
crazy.  For example, if I use the parameters
gap_width=.150, gap_eps=1.89, gap_epspp=-3.4 (n=1.7- i 1) my reflected
flux's are on the order of 10E200.  I know that complex part of
permeability with magnitude 3.4 is huge, and unphysical, but it
shouldn't cause that large of a field.  My only thought left is to try
using complex fields, but I don't see how that will change anything. If
you have any suggestions I would greatly appreciate hearing them.

Regards
Nathan

(define-param good 4); size of   'good' region desired.  Size of flux
regions
(define-param sy 12)
(define ymin (/ sy -2))
(define-param sx (+ (* 2 sy) good)); sx = 2 sy + size of good region to
keep out of bad regions on side
(define-param sz no-size); set z to zero for 2D
(define-param res 50); grid size 20nm
(define-param dpml 1)
(set-param! resolution res)
(define-param tstop 20)
(set! eps-averaging? false)

(set! geometry-lattice (make lattice (size sx sy sz)))
(define-param wg_eps 10.24)
(define n 1)
(print "sx: " sx " sy: " sy " res: " res "\n")
(define-param gap? false)
(define-param gap_width 0)
(define-param gap_eps 1)
(define-param gap_epspp 0)

(define-param fcen 0.635) ;center frequency of plane wave
(define-param df 0.1) ; turn-on bandwidth
(define wlength (/ 1 fcen)); pulse waveleght in free space

(set! geometry
     (if gap?
     (list
      (make block
        (center 0 0) (size sx sy)
        (material (make dielectric (epsilon wg_eps))))
      (make block
        (center 0 0) (size sx gap_width)
(material (make dielectric (epsilon gap_eps) (D-conductivity (/
(* 2 pi fcen gap_epspp) gap_eps))))))
     (list
      (make block
        (center 0 0)
        (size sx sy)
        (material (make dielectric (epsilon wg_eps)))))))

(set! n (sqrt wg_eps))
(set! pml-layers (list (make pml (thickness dpml))))

;copy this for a TM wave capabale of prop in any direction along +x,+y

(define-param source-component Ez)

(define-param theta_deg 45);  this is the launch angle
; theta goes from 0 (+Y prop) to 90 (+X prop)
(define theta_rad (/ (* pi theta_deg) 180)); change theta to radians

;pw-amp is a function that returns the amplitude exp(ik(x+x0)at
;a given point x.  (We need x- because current amplitude functions
;in Meep are defines relative to the center of the current source,
;whereas we want a fixed origin.)  Actually it is a fucntion of k
; and x0 that returns a function x
(define ((pw-amp k x0) x)
 (exp( * 0+1i (vector3-dot k (vector3+ x x0)))))

(define-param kdir (vector3 (sin theta_rad) (cos theta_rad))); direction
of k

(define k (vector3-scale (* 2 pi fcen n) (unit-vector3 kdir))); set k to
be proper length in direction of kdir

(set! sources (list
          (make source
        (src (make gaussian-src (frequency fcen) (fwidth df)))
                (component source-component)
        (center (/ sx -2) (+ ymin 1.25)) (size (- sx dpml) 0)
        (amp-func (pw-amp k (vector3 0 (* -0.5 sx)))))))

;end of source definition
;(print "defined source k: "k" \n")

(define-param nfreq 10)
(define transx
 (add-flux fcen df nfreq
       (make flux-region
         (center 0 1); center at 0,y/4,0
         (size good 0)
         (direction X)))); size = good,0,sz/2
(define transy
 (add-flux fcen df nfreq
       (make flux-region
         (center 0 1); center at 0,y/4,0
         (size good 0)
         (direction Y)))); size = good,0,sz/2
(define reflx
 (add-flux fcen df nfreq
       (make flux-region
         (center 0 -1); center at 0,y/4,0
         (size good 0)
         (direction X)
         (weight 1.0)))); size = good,0,sz/2

(define refly
 (add-flux fcen df nfreq
       (make flux-region
         (center 0 -1)
         (size good 0)
         (direction Y)
         (weight -1.0))))

(define cut (volume (center 0 0) (size (/ sx 2) 0)))

(if gap?
   (list
    (load-minus-flux "refl-fluxX" reflx)
    (load-minus-flux "refl-fluxY" refly)
    (define dir "")
    ;;(set! dir (number->string gap_width))
    (set! dir (number->string gap_epspp))
    (set-param! filename-prefix dir)
    (use-output-directory)))

;;(run-sources+ tstop (in-volume cut (at-every 1 output-efield)
(at-every 1 output-hfield)))

(run-sources+ tstop)
(if (not gap?)
   (list
    (save-flux "refl-fluxX" reflx)
    (save-flux "refl-fluxY" refly)))


(display-fluxes transx transy reflx refly)




------------------------------

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

End of meep-discuss Digest, Vol 37, Issue 3
*******************************************

---------------------------
Research PhD Student
Photonics Group
Dept. of Electrical & Electrical Engineering
University of Bristol
Rm 2.11, Queen's Building
University Walk
Bristol
BS8 1TR

email: ian.b...@bristol.ac.uk




_______________________________________________
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