Computing thermal-equilibrium Casimir energies, forces, and torques with scuff-cas3d
scuff-cas3d is a command-line application within the scuff-em suite for modeling Casimir interactions between compact or extended homogeneous bodies of arbitary shape and arbitrary (linear, isotropic, piecewise homogeneous) frequency-dependent permittivity and permeability. scuff-cas3d implements the fluctuating-surface current (FSC) approach to numerical Casimir modeling.]
scuff-cas3d handles equilibrium Casimir interactions, in which all interacting bodies and the external medium in which they are embedded exist at the same temperature (which may be absolute zero). If you need to model Casimir interactions between bodies at different temperatures, the tool you want is scuff-neq. (However: if your exterior embedding medium is not at zero temperature, then the total Casimir forces will involve both non-equilibrium contributions computed with scuff-neq and equilibrium contributions (at the temperature of the exterior medium) computed with scuff-cas3d.
The basic flow of a typical scuff-cas3d run goes something like this:
You create a scuff-em geometry file describing the interacting objects or surfaces in your geometry.
Optionally, you define a list of geometric transformations to be applied to the geometry for Casimir computations. For example, if your geometry consists of two nanoparticles, you might ask for the Casimir force between the particles at 10 different values of the surface--surface separation.
You run scuff-cas3d with various command-line options specifying the desired output quantities (energy, -force, etc.), whether you want frequency-resolved or frequency-summed data, and other options. This produces various text-based output files, which you will typically plot using gnuplot or other plotting or post-processing tools.
- 1. What scuff-cas3d actually computes
- 2. scuff-cas3d command-line options
- 3. scuff-cas3d output files
- 4. Examples of Casimir calculations using scuff-cas3d
1. What scuff-cas3d actually computes
1a. Compact objects
The Casimir energy of a collection of compact bodies, and the -directed Casimir force and torque on one of those bodies, are computed in the FSC approach as integrals over the positive imaginary frequency axis () of the form
(This is for the zero-temperature case; at a finite temperature the imaginary-frequency integration is replaced by a Matsubara sum according to the prescription where the primed sum indicates that the term is to be weighted by )
The heart of the FSC algorithm implemented by scuff-cas3d is an efficient technique for computing the quantities ---that is, the contributions of individual imaginary frequencies to the total Casimir quantities---at arbitrary frequencies . The question of which frequencies are sampled depends on the command-line options you specify:
If you use the
--XiFilecommand-line options to specify one or more particular values of , then scuff-cas3d will compute and report just the integrand at those values. In this case, the code will produce a
.byXifile, but no
If, instead, you use the
--temperaturecommand-line option to specify a temperature at which to calculate, then scuff-cas3d will evaluate the Matsubara sums to compute the full Casimir quantities at the given temperature. In this case you will get both a
.byXifile will report data on the Casimir integrands at the Matsubara frequencies for
If you don't specify any of the above, then scuff-cas3d defaults to performing a full numerical frequency integration to compute zero-temperature Casimir quantities. In this case, you will get both a
.byXifile reports data on the Casimir integrands at the frequencies chosen by the built-in integrator.
1b. Extended objects
For an extended material configuration described by a periodic geometry with Bloch-periodic boundary conditions, the Casimir force density (that is, the force per unit length for a 1D extended geometry, or per unit area for a 2D extended geometry) is computed in the FSC approach as multi-dimensional integrals over both imaginary frequencies and Bloch vectors :
(Expressions for the Casimir energy and torque are similar). The Bloch vector is a one-component vector for 1D-extended geometries (such as infinite-length cylinders or beams, and a two-component vector for 2D-extended geometries (such as infinite-area slabs). The integral here ranges over the Brillouin zone (BZ)
scuff-cas3d uses the FSC algorithm to compute values of the integrand at individual points.
The FSC algorithm implemented by scuff-cas3d is an efficient technique for computing the quantity ---that is, the contributions of individual (imaginary frequency, wavevector) pairs ---to the total Casimir quantities. The question of which ( points are sampled depends on the command-line options you specify:
If you use the
--XikBlochFilecommand-line option to specify a list of points, then scuff-cas3d will compute and report just the integrand at those values. In this case, the code will produce a
.byXikBlochfile, but no other output files.
If you use the
--XiFilecommand-line options to specify one or more particular values of (but not specific values of ), then scuff-cas3d will numerically evaluate the Brillouin-zone integral over and will report the resulting value of the quantity at each value. In this case, the code will produce two output files (1) a
.byXifile reporting values of at the points you specified, and (2) a
.byXikBlochfile reporting values of the integrand at each of the points sampled by the built-in integrator.
If you use the
--temperaturecommand-line option to specify a temperature at which to calculate, then scuff-cas3d will evaluate the Matsubara sums to compute the full Casimir quantities at the given temperature. In this case you will get three output files: (1) a
.outfile reporting the full Matsubara-summed Casimir quantities, (2) a
.byXifile reporting values of the function at each Matsubara frequency; and (3) a
.byXikBlochfile reporting values of the integrand at each point sampled by the built-in integrator.
If you don't specify any of the above, then scuff-cas3d defaults to performing a full numerical frequency integration to compute zero-temperature Casimir quantities. In this case, you will get the same three output files as in the case of the previous item (
.byXikBloch); the only difference is that the points reported in the
.byXikBlochfiles are the quadrature points chosen by the built-in integrator instead of the Matsubara frequencies.
2. scuff-cas3d command-line options
scuff-cas3d recognizes the following subset of the list of commonly accepted options to scuff-em command-line codes.
Options requesting Casimir output quantities
--Energy--XForce--YForce--ZForce--Torque ax ay az
Specifies the Casimir quantities in which you are
interested: the energy, the Cartesian components
of the force, or the torque about an axis
passing through the origin and the point with
(ax,ay,az). (Thus, for
You may specify more than one of these options, but you must specify at least one.
Note: scuff-cas3d always computes the force and torque
on just one of the objects or surfaces in your geometry---namely,
the one described by the first
specification in your
.scuffgeo file. For geometries
consisting of just two objects or surfaces, the force/torque
on the second object/surface is just the negative of the
force/torque on the first.
Options specifying temperature
Sets the simulation temperature in units of Kelvin,
--temperature 300 requests room-temperature calculations.
This option implies that you are asking scuff-cas3d
to compute full Matsubara-summed Casimir quantities, so it is
incompatible with options such as
specify particular frequencies at which to compute.
3. scuff-cas3d output files
The base file name of all output files produced by
scuff-cas3d may be specified using the
command-line option; if this option is not specified
then the file base is taken to be the base file
name of the
.scuffgeo file you specified using
For all data output files (
.byXikBloch), the output file contains a
header (a sequence of text lines starting with
explaining how to interpret the contents of the file.
If you requested the calculation of
full frequency-integrated or Matsubara-summed
Casimir quantities, these will be written to
For any problem involving compact geometries,
and for any problem involving extended geometries
in which you requested Brillouin-zone integrations,
the contributions of individual imaginary frequencies
will be written to a file named
For any problem involving extended geometries,
the contributions of individual (frequency, Bloch vector)
points will be written to a file
4. Examples of Casimir calculations using scuff-cas3d
Casimir forces in a compact geometry: A cube and a torus immersed in ethanol
Casimir forces in a 1D extended geometry: infinite-length silicon beams
Casimir forces in a 2D extended geometry: infinite-area silicon slabs