Spatially-varying permittivity tensors in buff-em
buff-em supports objects with arbitrary user-specified
spatially-varying frequency-dependent permittivity tensors.
These tensors are described by simple text files conventionally
given the file extension .SVTensor.
The .SVTensor
file is thought of as describing a
33 matrix-valued function
of frequency and space:
1. Syntax of the .SVTensor
file
The .SVTensor
file contains lines of the form
Q =
function of space and frequency
to define a spatially-varying but isotropic permittivity (proportional to the identity matrix), or
Qxx =
function of space and frequencyQxy =
function of space and frequency- ...
Qzz =
function of space and frequency
to define the individual cartesian components of the permittivity tensor.
Note: Because .SVTensor
files are most commonly
used to define permittivities ,
you can alternatively use the syntax
Eps =
function of space and frequency
or
EpsXX =
function of space and frequencyEpsXY =
function of space and frequency- ...
EpsZZ =
function of space and frequency
If you leave any off-diagonal components unspecified,
they will be assumed to be zero. If you do specify an
off-diagonal component function, you only need to specify
either the above-diagonal or the below-diagonal component,
e.g. Qxy
but not also Qyx
; the code will automatically
set . If you do specify two separate functions
for the two off-diagonal components of , the code
will symmetrize by setting both components equal to
their average.
For diagonal components, if you specify Qxx
but omit
specifications for Qyy
and Qzz
then the code
will set
Functions and variables
The user-defined function of space and frequency in the definition of permittivity components is a character string that may refer to any of the following variables:
w
(the angular frequency in units of 3e14 rad/sec)x,y,z
(cartesian coordinates of points in space)r,Theta,Phi
(spherical coordinates of points in space)
Referring to scuff-em material designations
In many cases your permittivity functions will want to refer to
scuff-em material designations
describing frequency-dependent homogeneous isotropic materials.
You can do this by including the string MP_MATNAME
in the function definition, where MATNAME
is the name
of the scuff-em material.
For example, here is a description of a material
tensor that varies continuously from 100% gold to
100% silicon dioxide as the z coordinate runs
from 0 to 1:
Eps = MP_SIO2 * z + MP_GOLD*(1-z)
Note that there is no need to refer to the frequency w
here; the GOLD
and SIO2
permittivities will automatically
by evaluated at the correct frequency.
The definitions for the scuff-em materials
(SIO2
and GOLD
in this case) may appear in
MATERIAL...ENDMATERIAL
sections within the .SVTensor
file; alternatively, they may be defined in the
global database file ${HOME}/.matprop.dat
or the local data file matprop.dat
in the current
working directory.
2. Examples of .SVTensor
files
1. An isotropic but spatially-varying permittivity
Here's an isotropic material whose dielectric constant varies linearly as a function of the z-coordinate, from a value of at to a value of at :
Eps = (5 + 4*i/w)*(1 + (z+5)/10 )
2. A non-isotropic permittivity
This example describes the constant permittivity tensor :
EpsXX=2+3i
EpsXY=0.1
EpsZZ=4+5i
3. A gold-coated SiO2 sphere
This example is used to describe a silicon dioxide sphere of
radius 2 um coated with a layer of gold.
Note that step
refers to the Heaviside step function.
Eps = step(2-r)*MP_SIO2 + step(r-2)*MP_GOLD
4. A gold/SiO2 Janus particle
In this case the material is gold at points above the xy plane and SiO2 at points below the xy plane.
Eps = step(z)*MP_GOLD + step(-z)*MP_SIO2