This is a 2D simulation with a slab of a negative index material at the center.
The negative index material has been set up using the Magnetic Electric Lorentz material
model, and if you're interested in knowing more about it, see the link to the Bulk Metamaterials
example linked below.
Add the source by clicking on the arrow next to the Sources menu and selecting Gaussian.
Edit the source.
We will use the Gaussian beam profile.
Set the injection axis as x-axis and keep the injection direction as forward.
Set the angle theta property to 30 degrees.
Under the Geometry tab, set the x position to -3 microns, the y position to -2 microns,
and the y span to 20 microns.
The z parameters don't apply since the simulation is 2D.
Under the Beam options tab, set the waist radius to 1 micron and the distance from focus
to -4.25 microns so that the focal point of the beam is in front of the source injection
plane near the surface of the negative index slab.
Click on the "visualize beam data" button to see the plot of the field profile over
You can see that the beam is contained in the span of the source region and it's not
getting clipped at the sides.
Since the wavelength of the beam is 0.5 microns, the beam waist diameter that we have set is
4 times larger than the wavelength, so the scalar approximation should be appropriate.
However, if there is any uncertainty about whether the scalar approximation is valid,
it's best to first test the source by running the simulation with just the beam propagating
in free space with no structures.
You can then check the resulting beam profile to make sure that the distance from focus
is as expected and that there is little backwards scattering at the injection plane.
Light getting scattered at the source injection plane indicates source injection errors which
could occur when the scalar approximation is not valid.
Right-click and disable the negative index slab structure and run the simulation.
From the profile monitor I can see that the focal position of the beam is near x=0 which
is what I want.
Right-click and visualize the transmission result from the monitor behind the source.
This shows that less than 0.01% of the power is scattered in the backwards direction.
Next, to demonstrate what you would see if the scalar approximation is not valid, switch
back to layout and edit the beam setting the waist radius 0.25 microns.
Now the beam waist diameter is the same as the wavelength so it's in the range where
the scalar approximation starts breaking down.
Run the simulation and check the transmission in the backwards direction, now I can see
that more than 3% of the power injected is scattered backwards which indicates that the
scalar approximation is breaking down.
Now to go back to the original setup, switch back to layout mode and change the beam waist
radius to 1 micron and re-enable the negative index slab object.
Now, run the simulation and plot the E field profile from the profile monitor.
We can see that the beam diffracts to a steeper angle away from normal when it enters the
negative index material as expected.
Next we'll go over some general tips to keep in mind when setting up a Gaussian source.
We want to make sure that the field profile of the beam doesn't get cut off at the sides
by plotting the beam profile before running the simulation.
The beam profile can be truncated if either the source span is too small or if the source
injection region intersects with the simulation region boundaries.
Before running the full simulation, we can run a simulation with the source in free space
to make sure that the desired beam is injected.
If using the scalar approximation, we can gauge whether the approximation is valid by
using a monitor behind the source to measure the amount of backwards scattered power like
we did in the demonstration, or another method is to use a monitor in front of the source
and check the transmission in front of the source to see how much the magnitude of the
transmission varies from the expected value of 1.
The Gaussian beam has a well-defined polarization direction.
To represent an unpolarized beam or a circularly polarized beam, you can run two simulations
with orthogonally polarized beams and sum the results as a post-processing step.
Some detailed examples showing how to simulate an unpolarized beam and circular polarization
are linked below.
To represent a different beam profile other than Gaussian or Cauchy-Lorentz, the import
source can be used to specify a custom field profile.
The import source will be covered later in this section of the course.