Polarization-dependent field amplification by bowtie antennas

For our next trick, we'll surround the 4-triangle bowtie antennas of the previous exercise with 1D arrays of nanodiscs with different spacings in the and directions, breaking the 4-fold rotational symmetry of the bare bowties and allowing polarization-sensitive behavior. This idea and the structures we will consider come from the following paper of Trevino et. al:

  • J. Trevino et al., "Photonic–plasmonic-coupled nanoantennas for polarization-controlled multispectral nanofocusing." Optics Letters 38 4861 (2013). DOI:

The files for this example are in the PolarizationSensitiveAntennas subfolder of the SCUFFTutorial archive. To avoid having to re-type a lot of lengthy file paths, it's convenient to set the following environment variables:

% export SCUFF_MESH_PATH=${HOME}/SCUFFTutorial/PolarizationSensitiveAntennas/mshFiles
% export SCUFF_GEO_PATH=${HOME}/SCUFFTutorial/PolarizationSensitiveAntennas/scuffgeoFiles

GMSH geometry and mesh files

We use the same thin triangle mesh as in the previous exercise, but now augment this with a new gmsh geometry file named Disc.geo, which describes a cylinder of user-tweakable height and radius. Using this core geometry file, I produce meshes for cylinders of thickness 30 nm and diameter {160, 185} nm at medium and fine resolutions:

#!/bin/bash

GEOFILE=Disc.geo
BASE=D160Cylinder
ARGS="-2 -setnumber R 0.080 -setnumber T 0.03 ${GEOFILE}"
gmsh ${ARGS} -setnumber MeshScale 1.0  -o ${BASE}_Coarse.msh
gmsh ${ARGS} -setnumber MeshScale 0.75 -o ${BASE}_Medium.msh
gmsh ${ARGS} -setnumber MeshScale 0.5  -o ${BASE}_Fine.msh

GEOFILE=Disc.geo
BASE=D185Cylinder
ARGS="-2 -setnumber R 0.0925 -setnumber T 0.03 ${GEOFILE}"
gmsh ${ARGS} -setnumber MeshScale 1.0  -o ${BASE}_Coarse.msh
gmsh ${ARGS} -setnumber MeshScale 0.75 -o ${BASE}_Medium.msh
gmsh ${ARGS} -setnumber MeshScale 0.5  -o ${BASE}_Fine.msh

Cylinder160Mesh

SCUFF-EM geometry files

BowtieDiscs5_Fine.scuffgeo

OBJECT NorthTriangle
  MESHFILE Triangle_Fine.msh
  DISPLACED 0.00 0.030 0.000
ENDOBJECT

OBJECT SouthTriangle
  MESHFILE Triangle_Fine.msh
  ROTATED 180 ABOUT 0 0 1
  DISPLACED 0.00 -0.030 0.000
ENDOBJECT

OBJECT WestTriangle
  MESHFILE Triangle_Fine.msh
  ROTATED 90 ABOUT 0 0 1
  DISPLACED -0.030 0.000 0.000
ENDOBJECT

OBJECT EastTriangle
  MESHFILE Triangle_Fine.msh
  ROTATED 270 ABOUT 0 0 1
  DISPLACED 0.030 0.000 0.000
ENDOBJECT

OBJECT XM1Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED -0.540 0.0 0.0
ENDOBJECT

OBJECT XP1Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED  0.540 0.0 0.0
ENDOBJECT

OBJECT XM2Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED -1.080 0.0 0.0
ENDOBJECT

OBJECT XP2Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED  1.080 0.0 0.0
ENDOBJECT

OBJECT XM3Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED -1.620 0.0 0.0
ENDOBJECT

OBJECT XP3Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED  1.620 0.0 0.0
ENDOBJECT

OBJECT XM4Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED -2.160 0.0 0.0
ENDOBJECT

OBJECT XP4Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED  2.160 0.0 0.0
ENDOBJECT

OBJECT XM5Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED -2.700 0.0 0.0
ENDOBJECT

OBJECT XP5Cylinder
  MESHFILE D160Cylinder_Fine.msh
  DISPLACED  2.700 0.0 0.0
ENDOBJECT

OBJECT YM1Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 -0.600 0.0
ENDOBJECT

OBJECT YP1Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 0.600 0.0
ENDOBJECT

OBJECT YM2Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 -1.200 0.0
ENDOBJECT

OBJECT YP2Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 1.200 0.0
ENDOBJECT

OBJECT YM3Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 -1.800 0.0
ENDOBJECT

OBJECT YP3Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 1.800 0.0
ENDOBJECT

OBJECT YM4Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 -2.400 0.0
ENDOBJECT

OBJECT YP4Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 2.400 0.0
ENDOBJECT

OBJECT YM5Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 -3.000 0.0
ENDOBJECT

OBJECT YP5Cylinder
  MESHFILE D185Cylinder_Fine.msh
  DISPLACED 0.0 3.000 0.0
ENDOBJECT

BowtieDiscs.png

Run calculation in SCUFF-SCATTER

RunScript.EXEY

#!/bin/bash

BASEDIR=${HOME}/SCUFFTutorial/PolarizationSensitiveAntenna

export SCUFF_MESH_PATH=${BASEDIR}/mshFiles
export SCUFF_GEO_PATH=${BASEDIR}/scuffgeoFiles

for GEOM in Bowtie_Fine BowtieDiscs5_Fine
do
  ARGS=""
  ARGS="${ARGS} --geometry ${GEOM}.scuffgeo"
  ARGS="${ARGS} --LambdaFile ${BASEDIR}/LambdaFile"
  ARGS="${ARGS} --EPFile ${BASEDIR}/EPFiles/HotSpot"
  ARGS="${ARGS} --IFFile ${BASEDIR}/IFFile"
  scuff-scatter ${ARGS}
done

Field amplification vs. incident-field polarization without discs

BowtieAloneData

Field amplification vs. incident-field polarization with discs

BowtieDiscsData