Scattering / extinction / absorption cross-sections of silver nanowires (infinite cylinders) using meep

Particles scatter and absorb electromagnetic radiation. One often needs to compare the amount of scattering/absorption/extinction for particles of different shapes, composition, sizes and incident light properties (polarization, frequency and angle). In this regard, the concept of cross-sections comes into picture. There are three types of cross-sections, 1) scattering 2) absorption and 3) extinction. All of them have units of area, $m^2$, and provide a measure to quantify scattering/absorption process. Here using MEEP I calculate the crossections of silver nanowires and compare them with numerical solution (code from Bohren and Hauffman book).

Comparison of meep results with analytical results for silver nanowires


To achieve this, I wrote a meep code that performs a 2D simulation (x-y) with the cylinder axis along z axis with sources and monitors places as shown below. The source is a line source which travels along y direction and has polarization with electric field along x axis (along radius). I also use mirror-symmetries anti-symetry along X direction (which reduces the simulation time by half). PML layers are used on all sides. Calculation of cross-sections involves creating multiple 1-d flux monitors and running multiple simulations as shown below.

Here is my project file.. You would need ubuntu like system with meep and octave installed. Shell script will do all the work.

I have also shared the project at github.

13 thoughts on “Scattering / extinction / absorption cross-sections of silver nanowires (infinite cylinders) using meep

  1. Hi,

    Did you use Drude-Lorentz model for silver? What is the amount of a used in this model? I found that the output results are very sensitive to a.



  2. Hi Bala,

    I’m a new learner of MEEP. Could you show me the code of calculating the scattering cross section in meep. .I really want to know how to do it.

    My email address is?

    Thank you very much!


  3. Hi Bala,

    It’s been a good long time since you promised to post how to compute the cross sections. At this moment, It would be of enormous help if you did :)

  4. Dear Bala,

    I’m a new user of MEEP. I saw the article “Scattering / extinction / absorption cross-sections of silver nanowires (infinite cylinders) using meep ” on your website.

    I have read many discussions on the group “ “. However, I’m still puzzled on how to calculate the scattering/absorbance/extinction cross section.

    Could you tell me how to do this or show me an example which will be the best? I’m expecting your reply.

    Best regards,

  5. Pingback:
  6. Pingback: look at this now
  7. Pingback: timberland uk
  8. When I run “meep cylinder_silver2.ctl” in Ubuntu, it prompts error:
    ice-9/psyntax.scm:1274:12: In procedure #:
    ice-9/psyntax.scm:1274:12: Syntax error:
    cylinder_silver2.ctl:88:0: definition in expression context, where definitions are not allowed, in form (define incident (add-flux fcen df nfreq (make flux-region (center 0 (* rad -4) 0) (size (* rad 4) 0))))

    How can I fix this problem?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>