[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3 Putting a current source inside a cavity

This section illustrates how we can put a current source inside a cavity. This can be useful either to calculate the Green's function of a cavity, or the calculate the modification of spontaneous emission in resonant-cavity LEDs.

As a first example, we calculate the modification of spontaneous emission of a horizontal current dipole placed between two parallel metallic plates. This 3D planar open geometry is converted to a 3D closed cylindrical geometry by using PMLs (fig 2.3). Since this configuration can also be calculated analytically, we can easily verify the results.

figs/parplate

 
#! /usr/bin/env python

###################################################################
#
# Calculates modification of spontaneous emission of a dipole
# between two metal plates.
#
###################################################################

from camfr import *

set_N(60)
set_lambda(1)
set_circ_order(1)
set_circ_field_type(cos_type)

# Define waveguide and wall.

set_circ_PML(-0.5)

air_m = Material(1.0)
air = Circ(air_m(10))
air.calc()

wall = E_Wall(air)

# Calculate change in spontaneous emission rate.

for d in arange(0.01, 3.0, 0.05):     

    # Define cavities.

    half      = Stack(air(d/2.) + wall)
    half_open = Stack(air(d/2.))

    source_pos  = Coord(0,0,0)
    orientation = Coord(1,0,0)
    
    cav = Cavity(half, half)
    cav.set_source(source_pos, orientation)

    cav_open = Cavity(half_open, half_open)
    cav_open.set_source(source_pos, orientation)

    # Analytic formula for spontaneous emission rate.

    x = floor(d+0.5)
    exact = 3.*x/4./d + pow(x/d,3)/4. - x/16./d/d/d

    # Numerical formula as ratio of total emitted powers.

    numeric =   half.     field(Coord(0,0,0)).E1().real \
              / half_open.field(Coord(0,0,0)).E1().real 

    print d, exact, numeric

This script introduces a couple of new features. First of all set_circ_field_type(), which is only relevant for these kind of source problems, indicates whether the generated fields have cos or sin type angular dependence. For calculating scattering matrices, these are completely decoupled, but for source problems, which one of these field types is excited is determined by the orientation of the current source.

wall = E_Wall(air) defines a perfectly conducting metal plate with air on the incidence side. This structure can be used in an expression to describe the horizontal metal walls surrounding the dipole.

In order to place a source inside a cavity at a given position and with a given vectorial orientation, we use the following command:

cav.set_source(source_pos, orientation)

From Poynting's theorem, we can calculate the total power radiated by this dipole from the real part of the electric field at the dipole itself.

This is much more accurate than explicitly calculating power flows using e.g. the commands stack.inc_S_flux and stack.ext_S_flux to calculate the real power flow at the incidence and at the exit side of a stack (see reference manual).


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by root on August, 27 2008 using texi2html 1.76.