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