# Material descriptions in scuff-em

scuff-em allows the frequency-dependent electrical properties (dielectric permittivity and magnetic permeability) of materials to be specified in one of several ways:

• You can use a built-in material like PEC or Vacuum.
• You can specify a material with constant (frequency-independent) permittivity and permeability.
• You can specify a data file containing tabulated permittivity and permeability values over a range of frequencies; in this case, scuff-em will interpolate between values in your file to estimate material properties at arbitrary frequencies.
• You can define your own material with arbitrary frequency-dependent material properties, specified using mathematical expressions.

Materials are generally specified to scuff-em by including a line like

MATERIAL MyMaterialName


in the .scuffgeo file; here MyMaterialName is a string constructed in different ways depending on which of the above types of material specification you have in mind, as detailed below.

Note that material specification in scuff-em are case-insensitive. The strings TEFLON, Teflon, and teflon all refer to the same material.

Note also that the values of the permittivity and permeability described by scuff-em material designations are always the dimensionless relative permittivity and permeability, with values of 1 in vacuum.

## 1. Built-In Materials

The two built-in materials are Vacuum and PEC. The former describes a material with $\epsilon=\mu=1$ at all frequencies, while the latter describes a Perfect Electrical Conductor.

## 2. Frequency-independent materials

For a non-magnetic material with frequency-independent permittivity $\epsilon$, you can use a material specification of the form

MATERIAL CONST_EPS_11.8


where you would replace 11.8 with the constant value of the permittivity. (Note that CONST_EPS_11.8 is all one word, with no spaces.)

For a material with frequency-independent permittivity $\epsilon$ and frequency-independent permeability $\mu\ne1$, you can use a material-property designation of the form

MATERIAL CONST_EPS_11.8_MU_0.8


where you would replace 0.8 with the constant value of the permeability. (Again, all one word, no spaces.)

You can also specify materials with negative and/or complex permittivity:

MATERIAL CONST_EPS_-54+46i


Of course, a dielectric function with a frequency-independent imaginary part is unphysical, but no problems will arise as long as you are only doing computations at a single frequency.

## 3. Materials specified using tabulated data

If you have tabulated frequency data for the permittivity and/or permeability of your material, you can specify this to scuff-em using a material specification of the form

MATERIAL FILE_MyDataFile.dat


where the FILE_ part of the string is fixed, and the remainder is the name of your data file (which is of course case-sensitive.) Again, note that the material property specification is all one word with no spaces.

The data file is interpreted by scuff-em in the following way:

• Blank lines and comments (lines beginning with #) are ignored.
• All other lines must contain either two or three space-separated strings, which are interpreted as

Omega Epsilon(Omega) [Mu(Omega)]

where Omega is an angular frequency, Epsilon(Omega) is the relative permittivity at that frequency, and the optional Mu(Omega) is the relative permeability.

The values specified for Eps and Mu may be complex numbers..

Note that $\omega$ values in material data files are always specified in units of radians per second, not the specialized frequency units that are used in scuff-em application codes. For example, an angular frequency of $3\cdot 10^{14}$ rad/sec would be specified as 1.0 in (for example) the --omega argument to scuff-scatter, but as 3.0e14 in a material data file.

For example, suppose you have tabulated data for the frequency-dependent permittivity of silver over a finite range of frequencies. Put those data into a text file called (for example) Silver.dat with the angular frequencies (in radians per second) on the first column, and the complex relative permittivity on the second column, so that the data file looks something like this:

2.5133e15 -28.832+0.39369i
2.6180e15 -26.235+0.35815i
...
5.2360e15 -2.3459+0.23547i
5.3855e15 -1.7349+0.24727i


This says that, for example, at angular frequency $\omega=2.5133\cdot 10^{15}\hbox{ rad/sec}$ we have relative permittivity $\epsilon(\omega)=-28.832 + 0.39369i.$

Then your .scuffgeo file may refer to a material named FILE_Silver.dat, whose dielectric function at arbitrary frequencies $\omega$ will be obtained by interpolating the data specified in your data file. For example, to describe a sphere made of this material your .scuffgeo'' file could contain a section like

OBJECT SilverSphere
MESHFILE Sphere.msh
MATERIAL FILE_Silver.dat
ENDOBJECT


Note: If you are doing calculations at imaginary frequencies (in scuff-cas3d, scuff-caspol, or scuff-scatter with an imaginary value specified for --omega) and you have tabulated data for the relative permittivity on the imaginary frequency axis, you can play exactly the same game described above, except that now the $\omega$ values on the first column of the data file will be pure imaginary (they will end in i or I). (Also, on physical grounds the relative permittivity at each frequency should be real-valued and positive in this case).

# 4. User-defined materials

For more general materials, you will want to define your own frequency-dependent material designations. You do this by first creating an entry in a database file that describes your material, and then referring back to that entry in .scuffgeo files and anywhere else you need to specify a material property designation. (Alternatively, you can define the material on-the-fly inside a MATERIAL...ENDMATERIAL section in your .scuffgeo file. See here for more details.

### The location of the database file

libmatprop looks in the following three places for its database file:

# 5. scuff-plotEpsMu: A command-line utility for verifying material properties

The scuff-em distribution comes with an application program named scuff-plotEpsMu that you can use to make sure that a material property designation is interpreted the way you intended. You can run this command with no arguments to get usage information:

% scuff-plotEpsMu

error: --material option is mandatory (aborting)

usage: scuff-plotEpsMu [options]

options:

--material xx  (name of material)
--OmegaMin xx  (minimum angular frequency)
--OmegaMax xx  (maximum angular frequency)
--gnuplot      (use GNUPLOT to plot results)
--geometry xx  (.scuffgeo file containing material definition)


Running scuff-plotEpsMu --material MyMaterial will produce an output file name MyMaterial.epsmu, which will contain 7 columns of data, representing the permittivity and permeability of your material at various angular frequencies on both the real and imaginary ω axes:

Column 1 2 3 4 5 6 7
Quantity ω Re ε(ω) Im ε(ω) Re μ(ω) Im μ(ω) ε(iω) μ(iω)

If gnuplot is installed on your system, then you can use the --GnuPlot option to generate pop-up plots of $\epsilon(\omega)$ and $\mu(\omega)$ vs. $\omega$ for your material.

You can use --OmegaMin/--OmegaMax to set the range of angular frequencies over which material properties will be plotted. The defaults are equivalent to specifying --OmegaMin 1e8 and --OmegaMax 1e16, respectively.

If your material is defined on-the-fly in a .scuffgeo file, you can pass that file to scuff-plotEpsMu using the --geometry option. (If your material is defined in a material database file then this option is not needed.)

For example, in this example we used a material named SiliconCarbide, which was defined in a geometry file named SiCSphere.scuffgeo. To check the the frequency-dependent permittivity of this material, we can say

% scuff-plotEpsMu --material SiliconCarbide --geometry SiCSphere.scuffgeo --gnuplot


This will pop up four graphs, of which one looks something like this: